(values) implementation violates r5rs
Brought to you by:
mradestock,
scgmille
You can do
((lambda (x) x) (values 'foo 'bar))
in sisc (up until 1.16.5) which will take both values and bind x to a single value of type sisc.data.Values, in violation of
"Except for continuations created by the call-with-values
procedure, all continuations take exactly one value."
from r5rs.
Several other primitives take multiple values as a single value by default, with very few exceptions.
(I hope that was sufficiently precise and clear.)