Mike Sperber wrote:
> > (append '() '(a) '())
> 
> The intention was, that, in this case, append does not construct a
> nonempty chain of pairs, therefore nothing needs to be newly allocated.

Are you sure?  That would be a change from IEEE/ANSI/R5RS
semantics, and it was indeed proposed, but according to
Kent Dybvig's summary dated 2 May 2006, the editors' vote
on that proposed change was 2-3, so the proposal failed
[1].

Unless that vote was overturned later (and I have not
found any evidence of that), (append '() '(a) '()) should
still return a newly allocated list.  As further evidence
for that interpretation, R6RS Appendix E does not mention
any change in the semantics of append.

> I agree it's a bit confusing - if you can suggest a better wording, I'd
> be happy to add an erratum.

If the proposed change in semantics was never approved by
the R6RS editors, then why not use the R5RS wording?

Will


[1] http://www.r6rs.org/r6rs-editors/2006-May/001205.html

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to