On 5/8/05, Alejandro Forero Cuervo <[EMAIL PROTECTED]> wrote: > > In Common Lisp, it is valid for an expression to return multiple > values when the continuation only accepts one. This is used by many > functions to return the usual value as their first value and some > other less-often-used results as the other values. This does not work > in Chicken (nor in other Scheme implementations I tried), though. >
In fact, some Schemes relax this somewhat (Chez Scheme, for example basically has Common-Lisp semantics, IIRC). Since this can get somewhat inconvenient, I will relax the rules as well: *implicit* non-multival continuations discard all but the first result value (so `(let ((foo (values 1 2 3))) ...)' will bind foo to 1.. (available in the current darcs repo). cheers, felix _______________________________________________ Chicken-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/chicken-users
