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.