Re: [Scheme-reports] 'else' auxiliary syntax
John Cowan 15 Oct 2014 23:06 UTC
Alex Shinn scripsit:
> I think the correct behavior for (scheme r5rs) is that these remain
> undefined, and cond, case and quasiquote all match the absence of the
> bindings as in R5RS. This implies they are not just re-exported versions
> of the R7RS macros.
This seems more trouble than it's worth, particularly as R5RS is rather
vague on the treatment of auxiliary syntax keywords, and different R5RS
implementations do different things.
Takashi Kato scripsit:
> I don't much mind if these are exported or not but I believe the whole point
> of (scheme r5rs) library is compatibility for something like this situation;
>
> (import (scheme r5rs))
> (include-ci "legacy-r5rs-script.scm")
>
> So as long as this is guaranteed to be executed whichever is fine by me.
It isn't. Merely importing (scheme r5rs) does not remove the R5RS-to-R7RS
incompatibilities listed on p. 77. For example, (+ 1.0d0 1.0d0) is
guaranteed to return an inexact number in portable R5RS code, but is
not necessarily accepted by R7RS implementations (Chibi returns 2.0,
Foment and Picrin throw lexical syntax errors). Similarly, the (scheme
r5rs) version of `eq?` may distinguish between procedures that are the
same in the sense of `eqv?`, just as the (scheme base) version may.
The only purpose of (scheme r5rs) is to provide an easy way to import
the identifiers defined by R5RS; it does not give you an R5RS emulator.
> I believe R5RS library should export 'syntax-rules' since it's a bound symbol
> on R5RS but it's missing on R7RS small.
I agree that this is another auxiliary syntax keyword, and should be
treated like the rest.
--
John Cowan http://www.ccil.org/~cowan cowan@ccil.org
If I have seen farther than others, it is because I am surrounded by dwarves.
--Murray Gell-Mann
_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports