Scheme language standardization process
Emmanuel Medernach scripsit:
Everyone agrees that (+ (values 1 2) (values 10 20)) is meaningless,
> Why not specifying that arguments in procedure calls should each
> evaluate to exactly one value ?
but that does not mean that every implementation must be required to
treat it in exactly the same way. As things stand, some implementations
report errors, others silently truncate multiple values to a single
value, CL-style.
I tested my usual suite of Schemes with (+ (values 1 2) (values 10
20)). MIT, Gambit, Kawa, Chibi, Ypsilon, IronScheme, STklos complain
in a way that make it clear they are reifying multiple values; Racket,
Scheme48/scsh, SISC, Chez, Ikarus complain in a way that makes it
impossible to tell; Gauche, Chicken, Bigloo, Guile, Larceny, Mosh,
STklos return 11, showing that they silently truncate. (Scheme 9
does not provide multiple values.) So this distinction cuts across the
R5RS/R6RS divide.
_______________________________________________ Scheme-reports mailing list Scheme-reports@x http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports