From: Christophe R. <cs...@ca...> - 2007-01-04 22:56:43
|
Stephen Wilson <wi...@mu...> writes: > My main point is that if something is undefined in the standard by > virtue of it not being given special treatment, then the most general > behavior which the standard permits should be the ideal behavior. > Would you agree with that on principle? Only if there is a uniquely-defined "most general". In the case of duplicate required parameters, it is not at all clear to me that shadowing the first parameter's binding with the second is more general than shadowing the second's binding with the first, and I don't see any evidence for either being preferred historically. Given this ambiguity, I think it is preferable to signal an error (if that is permitted), to indicate that the code is unreliable. Similarly, in (let ((x 1) (x 2)) x) (where the bindings happen in parallel), I think that signalling an error is better behaviour than returning either 1 or 2. Cheers, Christophe |