Re: [Scheme-reports] multiple values module
Jim Wise 25 May 2011 13:19 UTC
John Cowan <cowan@mercury.ccil.org> 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
jwise@draga.com
_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports