[r6rs-discuss] [Formal] Drop formal semantics of library toplevel
AndrevanTonder
andre at het.brown.edu
Thu Mar 15 12:07:06 EDT 2007
On Thu, 15 Mar 2007, Robby Findler wrote:
> lambda cannot express letrec.
Does the current semantics of DEFINE express LETREC*?
Regarding expressing LETREC* in terms of LAMBDA, giving some interpretation to
<undefined> would seem to be a low hurdle to clear to make this possible.
> Macro-expanding the top-level into a letrec and then showing its
> semantics would, again, make it harder to follow along with traces of
> a reduction sequence.
I do not see why some trivial extra nesting would make the reduction so
much more difficult to follow.
The fact remains that after macro expansion, it is explicitly stated that all
that remains is the equivalent of a letrec*. I agree that one can reverse
this into a sequence of definitions and expressions and that a separate
semantics can be given for the latter. But I do not see a justification for
the large extra volume and extra complexity of the semantics. I do think any
added complexity of something do basic to the definition of the language needs
stronger justification than given.
> (Also, as I understand it, the jury is still out on whether or not the
> top-level of a module is the same as a lambda. See Kent's earlier
> formal comment.)
As I understand it, no-one in that thread disputed that a module can be
expressed in terms of letrec*.
Andre
More information about the r6rs-discuss
mailing list