The most general form of let/let*
Marc Nieper-Wißkirchen
(15 Nov 2022 12:30 UTC)
|
Re: The most general form of let/let*
Lassi Kortela
(15 Nov 2022 20:11 UTC)
|
Re: The most general form of let/let*
Lassi Kortela
(15 Nov 2022 20:23 UTC)
|
Re: The most general form of let/let*
Marc Nieper-Wißkirchen
(15 Nov 2022 20:28 UTC)
|
Re: The most general form of let/let*
John Cowan
(15 Nov 2022 20:38 UTC)
|
Re: The most general form of let/let*
Marc Nieper-Wißkirchen
(15 Nov 2022 20:48 UTC)
|
Re: The most general form of let/let*
Daphne Preston-Kendal
(15 Nov 2022 20:35 UTC)
|
Re: The most general form of let/let*
Marc Nieper-Wißkirchen
(15 Nov 2022 20:43 UTC)
|
Re: The most general form of let/let*
Lassi Kortela
(16 Nov 2022 08:19 UTC)
|
Re: The most general form of let/let*
Jeremy Steward
(17 Nov 2022 01:53 UTC)
|
Re: The most general form of let/let*
Marc Nieper-Wißkirchen
(17 Nov 2022 07:49 UTC)
|
Re: The most general form of let/let*
Jeremy Steward
(17 Nov 2022 02:11 UTC)
|
Re: The most general form of let/let* Marc Nieper-Wißkirchen (17 Nov 2022 07:55 UTC)
|
Re: The most general form of let/let*
Lassi Kortela
(17 Nov 2022 08:01 UTC)
|
Am Do., 17. Nov. 2022 um 03:12 Uhr schrieb Jeremy Steward <xxxxxx@thatgeoguy.ca>: > > > (let-values (((d) (using c > > (k c))) > > ((a) (f)) > > ((c) (using b > > (h b))) > > ((b) (g))) > > <expr>) > > The example here - from an ergonomics perspective the extra parens > around (d) / (a) / (c) / (b) seem unwarranted. This is just because I used the let-values and not the let variant. The former is more general. The let variant would be (let ((d (using c (k c))) (a (f)) (c (using b (h b))) (b (g))) <expr>) > Likewise, I'm recalling that a lot of the binding here is really a > matter of matching the ordering based on dependencies. Another thread > commented on how this is similar to Makefile syntax and I'd agree that > there's some pattern matching going on here. The relationship to Makefile syntax is that a topological sort is happening in the background. > Which makes me think there's a match-let in here somewhere that's > itching to come out. Thinking similar to > <https://api.call-cc.org/5/doc/matchable/match-let>, although not quite > how it is exposed there since the Wright-Cartwright-Shinn matcher seems > to propagate some of the unfortunate baggage of |let|. > > I understand that SRFI 241 doesn't contain this, but when binding > multiple arguments at once I always feel like the matching syntax seems > to better express the idea. > > Thoughts? Is |let| a distraction from a more ergonomic form? match-let does not bind multiple values but matches against, say, a list. This is different from the above.