[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Scheme-reports] Module-level BEGIN is not a BEGIN - please call it something else

Andre van Tonder scripsit:

> It cannot be replaced by the sequence it encloses as in all other
> instances of BEGIN.

Not all BEGINs can be removed in this way: (if (p) (begin (a) (b)) (c))
cannot be rewritten as (if (p) (a) (b) (c)), for example.  BEGIN is
already very overloaded, but the concept is the same.

> 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).

In fact, there is no concept of binding in the module language, which is
not Scheme.

> So module-level BEGIN is not a BEGIN.  I think it should be called
> somethig else, e.g. BODY

The WG considered that and rejected it.

But you, Wormtongue, you have done what you could for your true master.  Some
reward you have earned at least.  Yet Saruman is apt to overlook his bargains.
I should advise you to go quickly and remind him, lest he forget your faithful
service.  --Gandalf             John Cowan <cowan@x>

Scheme-reports mailing list