Skip to content

Conversation

@peterthiemann
Copy link
Contributor

The reduction strategy implemented by progress corresponds to the well-known normal order reduction.
This PR proposes a few paragraph that discuss normal order reduction.

@wenkokke
Copy link
Collaborator

wenkokke commented Jul 4, 2025

Oh dear, have neither @wadler nor myself seen this PR for over a year? My apologies!

@peterthiemann
Copy link
Contributor Author

I remembered it when I got to that point in the lecture.
IIRC @wadler wanted to edit the text.

@wenkokke
Copy link
Collaborator

wenkokke commented Jul 4, 2025

@wadler Could you comment?

Copy link
Member

@wadler wadler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, Peter! Sorry for the delay.

I agree that explaining "normal order reduction" is a good idea. I'm happy to accept lines 543-549 (except delete from "We can see ..." on 549) and lines 566-569.

Lines 551-556 duplicate what has already been said, in a form that doesn't align well with what came before, e.g. in progress there are three subcases for application, not two. Lines 558-562 consider two alternatives. In the first alternative, "introduces a chance of non-termination" requires more explanation for beginning students. In the second alternative, "have more opportunities" requires more explanation, and arguably is not correct. The second alternative includes various forms of optimal reduction, where the total number of reduction steps can be reduced by applying reduction "early" to the body of the lambda abstraction. That requires much more explanation, and is arguably not appropriate for this level of text. Rather than delay with further back-and-forth over these paragraphs, I recommend deleting them and accepting the rest.

@proglang proglang force-pushed the untyped-normal-order-reduction branch from 6277a6e to b70f56d Compare January 16, 2026 15:14
@proglang
Copy link
Contributor

I trimmed the commit as per @wadler 's request

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants