[r6rs-discuss] [Formal] Reduce over-specification as well as
cowan at ccil.org
Tue Nov 14 15:56:25 EST 2006
William D Clinger scripsit:
> The draft R6RS often specifies things that do not need
> to be specified, even as it neglects to specify related
> things that do need to be specified.
I strongly agree in general. "We have done the things that
we ought not to have done, and we have left undone the
things that we should have done, and there is no health in us."
However, I dissent with a few specifics.
> The R6RS should say that correct programs do not try
> to mutate immutable objects, and that implementations
> should (not "must") raise an exception when mutation
> of an immutable object is attempted.
I think "must" is correct. To make it otherwise is
to allow programs to corrupt essential data structures.
> Since the draft R6RS does not specify or even constrain
> the output produced when a value that has no external
> representation is passed to procedures such as write,
> implementations are free to print the unspecified value
> however they like. An R6RS-conformant implementation
> might print the unspecified value as (), or as #f, or
> as 42.
This is not specific to the unspecified value, but may well
be extended to any value whose external representation is
not given. Indeed, I cannot see that write is forbidden
to raise an exception when passed such a thing.
Work hard, John Cowan
play hard, cowan at ccil.org
die young, http://www.ccil.org/~cowan
More information about the r6rs-discuss