maybe-let*
Shiro Kawai
(03 Jul 2020 03:11 UTC)
|
Re: maybe-let*
Marc Nieper-Wißkirchen
(03 Jul 2020 05:54 UTC)
|
Re: maybe-let*
Marc Nieper-Wißkirchen
(03 Jul 2020 07:22 UTC)
|
Re: maybe-let*
Wolfgang Corcoran-Mathe
(03 Jul 2020 17:19 UTC)
|
Re: maybe-let* Marc Nieper-Wißkirchen (03 Jul 2020 17:38 UTC)
|
Re: maybe-let*
John Cowan
(04 Jul 2020 00:48 UTC)
|
Re: maybe-let*
Wolfgang Corcoran-Mathe
(04 Jul 2020 01:48 UTC)
|
Re: maybe-let*
Marc Nieper-Wißkirchen
(04 Jul 2020 09:55 UTC)
|
Re: maybe-let*
John Cowan
(05 Jul 2020 22:40 UTC)
|
Re: maybe-let*
Marc Nieper-Wißkirchen
(07 Jul 2020 14:19 UTC)
|
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.)