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)

Re: The most general form of let/let* Jeremy Steward 17 Nov 2022 02:11 UTC

> (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.

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.

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?
--
Jeremy Steward