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

Re: [Scheme-reports] multiple values module

John Cowan <cowan@x> writes:
> I don't see how that can be.  Multiple values first appeared (AFAIK) in
> Zetalisp, which did not have first-class continuations.  Quoth the 3rd
> (1981) edition of the Chine Nual:
>     When a function needs to return more than one result to its caller,
>     multiple values are a cleaner way of doing this than returning
>     a list of the values or setq-ing special variables to the extra
>     values.
> I don't know when multiple values were first provided in a Scheme
> implementation, but they do not appear in R4RS, and the Ashley & Dybvig
> paper speaks in 1994 of "the new Scheme multiple values interface".
> If they existed at the time of RRRS (1985) but were not standardized,
> they would still postdate the Zetalisp implementation by some years.

Well, this is clearly not correct.  Multiple value return (in the
context Eli mentions, as a natural context of first-class continuations)
is discussed explicitly in GLS's "LAMBDA: The Ultimate Declarative",
From November of 1976, where it warrants its own appendix (and is
already referred to as the `old' CPS implementation by the time of GLS's
thesis a year later).

				Jim Wise

Attachment: pgpy7YavGeql0.pgp
Description: PGP signature

Scheme-reports mailing list