Request for Clarification on Rationale Abdulaziz Ghuloum 04 Apr 2006 19:46 UTC


The "Rationale" sections states:

    QUOTE: It is impossible to bind the evaluated result of VALUES
    QUOTE: to a single variable unlike other Scheme expressions.

I assume you mean "other Scheme values", not expressions.  Doesn't the
following code bind the evaluated result of VALUES to a single variable?

(call-with-values (lambda () (values 1 2 3))
   (lambda VALS

    QUOTE: Moreover, the pair of VALUES and CALL-WITH-VALUES is clumsy
to use

Is this a fact or an opinion?  A SRFI would be more appealing to
if its rationale is based on facts.

    QUOTE: and somewhat slow under some circumstances.

How slow is "somewhat slow"?  How do you quantify it?  And what are the
circumstances that make VALUES and CALL-WITH-VALUES somewhat slow?  Or
do you really mean under some *implementations*?  Was the topic of
Efficient Implementation of Multiple Return Values in Scheme ever
discussed in the literature?

    QUOTE: A solution would be to enclose the arguments of VALUES
    QUOTE: in a procedure of one argument, a consumer procedure of

How does this SRFI address the efficiency problem?  Looking at the
implementation section, I see many calls to
Is that not somewhat slow under some circumstances?  Looking further
there are many recursive procedures and many assignments that are
at runtime.  Maybe your intension is to have a reference implementation
outlining the concept and implementors are encouraged to provide their
implementations.  If that's the case, it may be a good idea to state it
in the implementation section.

Thank you very much.