[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Scheme-reports] multiple values module
Yes, like "letting values on the stack" implementations.
On Tue, May 24, 2011 at 6:02 PM, John Cowan <cowan@x>
Emmanuel Medernach scripsit:
No, it's not portable.
> Except for continuations created by the call-with-values procedure,
> all continuations take exactly one value. The effect of passing no
> value or more than one value to continuations that were not created
> by call-with-values is unspecified.
> Therefore code relying on this cannot be portable, isn't it ?
Indeed, but in (foo X Y) I would not allow the evaluation of _expression_ X to interfere with Y : if X is (values X1 X2) and Y is (values), foo could mislead X1 with X and X2 with Y as in some implementation. I mean doesn't the report has to specify that evaluation of X has to be bound to X only ?
> As you say, some implementation reifies 'values'. However theIt doesn't say *how* they are delivered. Reification is a perfectly
> RRS definition of values currently forbids to reify it as I
> understand it :
> (values obj ...) procedure Delivers all of its arguments to its
Historically, multiple values were intended to be
a more lightweight alternative to constructing an object:
There is a last colon in your mail, is it truncated ?
Scheme-reports mailing list