Re: [Scheme-reports] diff between R6RS and the R7RS small language draft
Andy Wingo 15 Aug 2011 09:47 UTC
Hi Alex,
Thanks for writing this page, it is on the whole a good document.
A couple of points come to mind:
> Identifier syntax is not provided. We feel this is a useful feature in
> some situations, but the existence of such macros means that neither
> programmers nor other macros can look at an identifier in an evaluated
> position and know it is a reference -- this in a sense makes all
> macros slightly weaker. We'd like to see individual implementations
> continue experimenting with this and other extensions before
> standardizing.
I do not think that this is a suitable justification. (I think it's
fine to not have a justification FWIW; better than a bad justification.)
In particular you can make the same argument about not knowing whether a
particular form is an expression or a definition. I guess my question
is, why is this a good argument against identifier-syntax?
> Internal syntax definitions are allowed, but all references to syntax
> must follow the definition -- the even/odd example given is R6RS is
> not allowed.
Implementations may (and some will) support the even/odd example,
however. I hope that such an implementation will still be deemed a
compatible Scheme system.
> The division operators div, mod, div-and-mod, div0, mod0 and
> div-and-mod0 have been replaced with a full set of 15 operators
> describing 5 rounding semantics.
R7RS does include the equivalents of div and mod, but not div0 and
mod0. The centered/ that I suggested was the div0/mod0 equivalent; I
gave arguments for it, but it was not deemed to be useful.
> When a result is unspecified, it is still required to be a single
> value, in the interests of R5RS compatibility.
I still consider this to be an unnecessary restriction, and a shameful
one at that.
Regards,
Andy
--
http://wingolog.org/
_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports