Am Fr., 3. Juli 2020 um 19:19 Uhr schrieb Wolfgang Corcoran-Mathe
<xxxxxx@sigwinch.xyz>:
>
> I'd prefer to avoid adding let-values syntax to the basic
> maybe/either-let* forms. (Anecdotally, some Schemers dislike
> let-values and let*-values merely because of the extra parens, and,
> while procedures can always return multiple values, it's the rare
> Scheme programmer who uses the multiple-value-aware forms everywhere.)
> I'd also prefer to avoid mixing single- and multiple-value syntax
> (à la SRFI 71, for example).
>
> My suggestion to John was to add maybe/either-let*-values forms,
> which handle (<formals> <container-expression>) claws in a way
> analogous to let-values, but with the unwrapping of the value of
> <container-expression>. (The (id) and ((expr)) claws have exactly
> the same semantics that they do in the -let* forms.) They're simple
> variations on maybe/either-let* and easy to add; programmers who
> only intend to use single-valued containers can pretend they don't
> exist.
If XXX-let*-values is provided, it makes perfect sense to restrict
XXX-let* to single-valued XXXs much like let* is a restricted version
of let*-values. So I think this is a very good idea!
However, XXX-let*-values is still missing in the current draft. I hope
it was an oversight.
PS The SRFI uses the language "an error is signaled" in conjunction
with the new syntax again. That's an error, which I am herewith
signaling again. Unfortunately, the signaled error hasn't been caught
by the SRFI's author yet. :)
(The impossibility to write a robust test for this requirement proves
one shortcoming.)