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

Re: Moving ahead



> Do you agree that what you are proposing violates the r5rs
> specification of delay?

Ouch...  I didn't think of the "possible" implementation given in
section 6.4:

  (delay <expression>)  ==>  (make-promise (lambda () <expression>))

with

  (define make-promise
    (lambda (proc)
      ...nothing_particular_concerning_dynamic_binding...))

This clearly prevents the DELAY form from capturing the dynamic
environment.  Programming languages should not be defined using an
implementation!!!  It specifies the semantics in more detail than is
given in the text (section 4.2.5).

So much for my grand plans for the proper semantics of DELAY
with respect to dynamic binding...

Marc