[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

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

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