[r6rs-discuss] [Formal] proc in hash-table-update! should not mutate hash-table

From: William D Clinger <will>
Date: Fri Feb 23 22:13:28 2007

I am posting this as an individual member of the Scheme
community. I am not speaking for the R6RS editors, and
this message should not be confused with the editors'
eventual formal response.

Daniel Villeneuve wrote:
> Does the Standard clearly states what's the legal output of
> these two tests?

<pedantry>

You are using the definite article "the" incorrectly.
Do you mean the IEEE/ANSI standard, which SFAIK is the
only capitalized Standard extant for Scheme? Do you
mean the R5RS, which is the de facto uncapitalized
standard? Or do you mean the current draft R6RS, which
is unimplementable and whose notion of a program (see
section 7.1) would not include either of your examples?

One thing all three of those documents have in common
is that there is generally no such thing as "the legal
output" of a Scheme program; in general, there are many
legal outputs.

</pedantry>

That said, I do not see how current draft R6RS would
allow any result for your call/cc-list example other
than #((2 4 6 -8 10 12) (2 4 6 -1 10 12)).

Similarly, I do not see how the current draft R6RS
would allow any result for your call/cc-vec example
other than #(#(2 4 6 -1 10 12) #(2 4 6 -1 10 12)).

Your definition of vector-map seems buggy to me.
While I am aware of a related bug in the map procedure
provided by 6 of the 11 implementations of allegedly
R5RS Scheme that I used to run your examples, I would
hope that the draft R6RS would not allow such an
implementation of any vector-map that might become
part of a standard library.

Will
Received on Fri Feb 23 2007 - 22:13:24 UTC

This archive was generated by hypermail 2.3.0 : Wed Oct 23 2024 - 09:15:01 UTC