[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Scheme-reports] Module-level BEGIN is not a BEGIN - please call it something else
- To: scheme-reports@x
- Subject: [Scheme-reports] Module-level BEGIN is not a BEGIN - please call it something else
- From: Andre van Tonder <andre@x>
- Date: Sun, 24 Apr 2011 11:48:50 -0400 (EDT)
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@x
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports