William D Clinger wrote:
> 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.
>
I stand corrected. That's a good way to draw a connection.
In some sense, then, the issue is whether RnRS has business
assigning meaning in cases like this where the "reasonable
behavior" really depends on the implementation techniques
and, therefore, on the purpose of the implementation.
-t
> (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
>
> _______________________________________________
> r6rs-discuss mailing list
> r6rs-discuss_at_lists.r6rs.org
> http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
>
>
Received on Wed Mar 07 2007 - 13:06:01 UTC