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

Baby-Doe and friends

No one has yet suggested the name "RETURN" for the multiple-value creator.
Of course in Common Lisp the name is used for non-local exits, but it -is-
the verb that programmers commonly use to describe the act: "INTERN returns
two values".  

(In fact, in older versions of ZetaLisp RETURN did -both- non-local exits
and multiple values, but in a fit of orthogonality (sounds painful!) that
feature was removed and made entirely the job of VALUES.)

To my ear, RETURN beats YIELD.  To me YIELD is a word you see on traffic
signs where it makes a statement about rights.

As for BABY-DOE, I'm uncomfortable with any name that includes the word
"CONTINUATION" or that talks about "composition" of anything.  Keep in mind
that unlike CALL-WITH-CURRENT-CONTINUATION, this is not a feature that only
Scheme wizards will use in bizare applications.  We are adding multiple
values because we believe that ordinary programmers can benefit from using
this feature in mundane code, so the name needs to be convenient (unlike
CALL-WITH-CURRENT-CONTINUATION) and relevant to what programmers are using
BABY-DOE for.  Programmers will be using BABY-DOE to recieve multiple
values; they will -not- be thinking in terms of continuations or about
composition of anything.  Names like RECEIVE, RECEIVE-VALUES, WITH-VALUES
or even CALL-WITH-VALUES all seem to fit the bill.

It might be reasonable to adopt an inconvenient name, if a convenient
special form was also being proposed at the same time.