[r6rs-discuss] append confusion
William D Clinger
will at ccs.neu.edu
Mon Mar 30 10:19:48 EDT 2009
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
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?
More information about the r6rs-discuss