[r6rs-discuss] Interpreters need not apply?

William D Clinger will at ccs.neu.edu
Wed Mar 7 12:10:20 EST 2007


I am posting this as an individual member of the Scheme
community.  I am not speaking for the R6RS editors.

AndrevanTonder wrote:
> No r5rs-conformant Scheme interpreter will start evaluating a form 
> without macro-expanding it first.

That's news to me.  (I'm learning all sorts of things
from this forum.)

Here's an example to illustrate the connection between
semantics and implementation technique:

(begin (display "Hello world!") (newline)
       (letrec-syntax ((foo (syntax-rules ()
                             ((foo x y ...) (foo x x y ...)))))
         (foo 0)))

I thought the R5RS allowed the program above to print
something.

If we prepend (import (r6rs)) to the above R5RS program,
I think we get an R6RS program that is not allowed to
print anything.

(Indeed, I think the 5.92 draft of the R6RS requires
implementations to raise a &syntax exception for this
example, but I also think that was a mistake in the
draft.)

SCM is a pure interpreter.  SCM is also said to conform
to the R5RS.

Whom should I believe?

Will



More information about the r6rs-discuss mailing list