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 <email@example.com
Am So., 30. Aug. 2020 um 04:48 Uhr schrieb John Cowan <firstname.lastname@example.org>:
> 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.