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

Re: A Proposal for Environments in Scheme

Alan points out that LET is not a variable, implying (I guess) that its
behaviour cannot depend upon the environment.

The point is well taken, but I submit that the statements still make sense in
some implementations, in which the sematics of special forms are in some way
attached to the environment, whether by a special kind of value bound to the
name of the special form (as in Cedar Scheme) or by a entry for that name in a
special ``syntax table'' associated with the environment.  In such
implementations, one would hope that the behaviour of the special forms would
obey the same kinds of environment inheritance rules as do normal names.  This
was the intent of the comments in the specification of the various initial

    Can you say:

      (SCHEME:LET ...)?

    Presumably not, if the ":" syntax is taken to be an abbreviation for a
    call on the ENVIRONMENT-REF procedure.

True, you cannot use this form.  Syntax must be directly inherited under the
proposal (in the kind of implementations I described above) and cannot be used
``remotely'' as shown above.