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
[email protected]
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports

Reply via email to