[Scheme-reports] Module-level BEGIN is not a BEGIN - please call it something else Andre van Tonder (24 Apr 2011 15:49 UTC)

[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