[Scheme-reports] Module-level BEGIN is not a BEGIN - please call it something else
Andre van Tonder 24 Apr 2011 15:48 UTC
In the following
(module (foo)
(import (r7rs base)
(begin .....)
(export ....))
the BEGIN is not a splicing form as in other toplevel-type environments.
It cannot be replaced by the sequence it encloses as in all other instances
of BEGIN.
In the following
(module (foo)
(begin (begin 1))) ===> ERROR - unbound BEGIN
the two BEGINs denote different things, which is confusing.
In fact, the outer BEGIN is bound (part of the module language) while
the inner BEGIN is unbound (since the base library is not imported).
Also, if we were to flatten BEGINs in a module, we cannot flatten all the way.
So module-level BEGIN is not a BEGIN. I think it should be called somethig
else, e.g. BODY
(module (foo)
(body (begin 1)) ==> error - unbound BEGIN
_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports