[r6rs-discuss] Interpreters need not apply?

From: William D Clinger <will>
Date: Wed Mar 7 12:10:28 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
Received on Wed Mar 07 2007 - 12:10:20 UTC

This archive was generated by hypermail 2.3.0 : Wed Oct 23 2024 - 09:15:01 UTC