Open ndanger000 opened 8 years ago
You still don't have any explanation of how to read a program in the source language. Don't assume that your reader has been staring at this language for the last year. Write some programs in a typical programming language (maybe drawn from your catalogue) and show the corresponding expressions in the source language.
Add some words explaining the rationale behind the source language. In particular, why have suspension types in a call-by-value language? What is the point behind map and let?
Explain the cost-annotated operational semantics; don't assume your reader knows what it is. This is especially important because in the Introduction you stress how important it is to have a proper accounting for cost, and this is where you do it.
When you describe the recurrence extraction, you need to give the reader some help. Maybe give an example. Not a fully-worked out one (that's for the next chapters), but maybe a simple but non-trivial source language program and the rather simplified recurrence that is extracted. Again, the extraction will be a rec expression. Rewrite it with named recursive functions, as you might expect to see it in a real language.
The issue says it all. Part of that chapter needs to make clear to the reader how to "read" a rec expression. It is an anonymous form of a recursive function definition, and you should give an example of the named form so that the reader knows what is going on.