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

Re: [Scheme-reports] diff between R6RS and the R7RS small language draft

On Wed, Aug 17, 2011 at 3:12 AM, Andre van Tonder <andre@x> wrote:
> On Tue, 16 Aug 2011, John Cowan wrote:
>> The general principle is fine, but the application in this case is not.
>> If a syntax keyword is bound in an outer scope and referenced before it
>> is rebound in the current scope, R7RS presumably requires that the
>> outer binding be employed.
> The body scope semantics of R6RS is rigorously correct and consistent.  The
> complaints with regards to R6RS were not really that the scoping was wrong -
> they had more to do with the multi-pass order of parsing and expansion.  If
> R7RS is offended by certain usages allowed by R6RS, it would suffice to
> declare it non-portable to rely on them, rather than change the meaning of
> scoping.

I believe John's presumption is incorrect here.  The correct
interpretation of the current R7RS draft is that the binding
refer to the redefinition in the inner scope, just as if there
were no outer binding.  If the the inner scoped binding is
syntax then it is an error, in which case the R6RS behavior
would be allowed (as well as nasal daemons of course).


Scheme-reports mailing list