[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] Multithreading test
From: |
felix winkelmann |
Subject: |
Re: [Chicken-users] Multithreading test |
Date: |
Mon, 9 May 2005 08:21:28 +0200 |
On 5/8/05, Alejandro Forero Cuervo <address@hidden> 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
Re: [Chicken-users] Multithreading test, felix winkelmann, 2005/05/09