Re: CL multiple-value-call Marc Nieper-WiÃkirchen 31 Aug 2020 06:36 UTC
It will be in the second draft, which should be online soon. Am So., 30. Aug. 2020 um 23:16 Uhr schrieb John Cowan <email@example.com>: > > Excellent, thanks. I believe that is the last thing keeping us from parity with CL, given R7RS-small + SRFI 210. > > On Sun, Aug 30, 2020 at 4:31 AM Marc Nieper-Wißkirchen <firstname.lastname@example.org> wrote: >> >> Am So., 30. Aug. 2020 um 04:48 Uhr schrieb John Cowan <email@example.com>: >> > >> > CL has a function (multiple-value-call consumer . producers), which calls then producers, collects all their values in order, and invokes the consumer on them. In CL this is a primitive so that it can be done without consing anything. I think something like it would fit into this SRFI as a syntax. >> >> Thank you for the suggestion. This SRFI includes apply/mv, which does >> the same thing (if I understand multiple-value-call correctly) but >> with the restriction that all but the last producer must evaluate to a >> single value. This restriction is in place so that a relatively >> efficient implementation on existing Schemes is possible. >> >> However, given CL's multiple-value-call, I would then add >> >> (call/mv <consumer> <producer1> ...) >> >> to the spec, which extends the domain of apply/mv in the CL sense but >> may not be as efficient.