Multiple values and efficiency Marc Nieper-Wißkirchen (15 Jun 2020 10:20 UTC)
Re: Multiple values and efficiency Adam Nelson (31 Aug 2020 16:49 UTC)
Re: Multiple values and efficiency Marc Nieper-Wißkirchen (31 Aug 2020 17:16 UTC)

Multiple values and efficiency Marc Nieper-Wißkirchen 15 Jun 2020 10:20 UTC

I have been thinking a bit more about how to handle multiple values
uniformly and efficiently, in particular, the "<...>" construct.

What would you think about the solution to make the "apply" that would
be needed explicitly? In other words, "<...>" shall expand into a list
(which is as efficient as the rest argument of let*-values or
receive). It is then up to the user to use apply or take this list
as-is:

(chain (values 1 2 3) (apply list <...>))

would evaluate to (1 2 3), while

(chain (values 1 2 3) (list <...>)

would evaluate to ((1 2 3)).

I'm not yet sure about it; at the moment, it is just an idea.