[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Emacs-diffs] master 4612b2a 1/2: Implement and-let*
From: |
Michael Heerdegen |
Subject: |
Re: [Emacs-diffs] master 4612b2a 1/2: Implement and-let* |
Date: |
Thu, 14 Sep 2017 17:46:45 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) |
Richard Stallman <address@hidden> writes:
> > > (internal--build-binding-value-form): Extend to account for
> > > solitary symbols and (EXPR) items in binding varlist.
>
> > We're forced to accept those forms in `let` and `let*` for historical
> > reasons,
>
> It is not just a matter of history.
> Those are very convenient in 'let'.
> It would be a bad idea not to have them.
> Whether they are useful in other new constructs, I don't know.
> What do these new constructs look like?
Just search for SRFI 2, e.g.
https://www.gnu.org/software/guile/manual/html_node/SRFI_002d2.html
`if-let*' and `when-let*' in Emacs are analogue.
I don't know much about Lisp's history, but I think there was a
misunderstanding about what these special binding forms mean. For
example, making a binding form consisting of a single symbol mean "bind
the symbol to nil" would not make sense in these new constructs -
instead, we test the symbol's value for nilness.
Michael.