Panicz Maciej Godek on Nostr: I've been a keen user of the "and-let* macro defined in the SRFI-2. I've even ...
I've been a keen user of the "and-let* macro defined in the SRFI-2. I've even authored its sequel, SRFI-202.
But I never really liked the name.
I mean, it does reveal that conceptually it's an amalgam of "and" and "let*. But as a word to be used in a language, it's rather clumsy.
(In this regard it resembles "multiple-value-bind" from Common Lisp. OK, it does bind multiple values, but that's not a handy word. It's as if "progn" from Common Lisp was "evaluate-forms-in-order. I mean, "progn" is already a bad name compared to Scheme's "begin", but)
In either case, today I had a small revelation. I mean, I've been thinking about the right name for "and-let*" for many years, so moments like this don't happen very often.
So, ladies and gentlemen, who - like me - are disappointed with the name of the "and-let*" macro, even though you find the macro itself useful, let me present a better alternative:
given
You're welcome.
Published at
2026-05-26 15:04:29 UTCEvent JSON
{
"id": "9834ad2ad524c4abd4d565c7f6c03be860e77800f8619017a8dcf1e6c4d80b05",
"pubkey": "5c43cc4e13a3f84bd5ae893313b819b6dfdd0d2fa4edbf8dc03afe9aac87d247",
"created_at": 1779807869,
"kind": 1,
"tags": [
[
"content-warning",
"SRFI-2"
],
[
"proxy",
"https://functional.cafe/users/PaniczGodek/statuses/116641488565066894",
"activitypub"
],
[
"client",
"Mostr",
"31990:6be38f8c63df7dbf84db7ec4a6e6fbbd8d19dca3b980efad18585c46f04b26f9:mostr",
"wss://relay.ditto.pub"
]
],
"content": "I've been a keen user of the \"and-let* macro defined in the SRFI-2. I've even authored its sequel, SRFI-202.\n\nBut I never really liked the name.\nI mean, it does reveal that conceptually it's an amalgam of \"and\" and \"let*. But as a word to be used in a language, it's rather clumsy.\n\n(In this regard it resembles \"multiple-value-bind\" from Common Lisp. OK, it does bind multiple values, but that's not a handy word. It's as if \"progn\" from Common Lisp was \"evaluate-forms-in-order. I mean, \"progn\" is already a bad name compared to Scheme's \"begin\", but)\n\nIn either case, today I had a small revelation. I mean, I've been thinking about the right name for \"and-let*\" for many years, so moments like this don't happen very often.\n\nSo, ladies and gentlemen, who - like me - are disappointed with the name of the \"and-let*\" macro, even though you find the macro itself useful, let me present a better alternative:\n\ngiven\n\nYou're welcome.",
"sig": "0ec7b10aec428b5a75c2e3e8524744491a311631dd34653bb5c16f84c2253c8ba063fddf2920dbf115831c016461f986cd12d7d33b05234de542728323e1bacd"
}