[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Multiple values for R4RS.




    [2] Do you think VALUES and APPLY-VALUES as defined reflect existing
    practice?  For example, in T, VALUES = RETURN, and APPLY-VALUES = 
    (LAMBDA (X Y) (RECEIVE-VALUES Y X)), and MIT Scheme has the
    functionality. 

MIT Scheme does not quite have it.  It is not integrated with
continuations at all (I don't know if T's is either).  I think that it
is not worth putting in, if I cannot accomodate users who would like
Common Lisp style truncation of values, or who want to be able to port
Common Lisp code a little more easily.  I find the backwards
compatibility that "truncation" offers to be the most significant
feature in multiple values, and would use CPS otherwise.

    [3] Do you think VALUES and APPLY-VALUES as defined prohibit the
    future inclusion of ACCEPTS? or some other proposal to deal with
    incompatiable arities?

Certainly not TECHNICALLY, but it is my POLITICAL feeling, that if it
is not accepted as a complete package, it will not be accepted later.
The people who want the "restrictive" multiple values will feel no
pressure to accept it later since they will already have what they
want.  I'm not asking for their semantics to be different (I've
compromised on paranoid checking by default), but I would like a
little compromise on everyone else's part.

I view ACCEPTS? as a harmless little addition, and don't understand
what the fuss is all about.

    [4] Do you believe VALUES and APPLY-VALUES should be excluded from
    Scheme solely because there is no agreement on how to deal with
    incompatiable arities?

That is the reason why they have been excluded up to now.  Perhaps a
compromise is not possible.