help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

`let' vs `let*' (was: Re: How do I pass a variable defined in a wrapping


From: Emanuel Berg
Subject: `let' vs `let*' (was: Re: How do I pass a variable defined in a wrapping let, to a lambda?)
Date: Mon, 14 Mar 2022 14:57:14 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

Jean Louis wrote:

> New `dlet' is this and it broke my programs because somebody
> removed `let*' inside. I don't think that person who changed
> it every used `dlet' in their own programs. Reason is
> semantics, "dlet" uses "let*" so they changed it, but did
> not provide "dlet*" (though is easy to adapt it).

Okay, well, I'm not a `dlet' user myself since dynamic/special
scope isn't in my programmer's DNA ...

As for `let' vs `let*' in theory `let' is parallel and `let*'
sequential but in practice `let*' allows references back to
its own bindings, so it is recursive `let' if you will, and
`let' isn't ...

I have seen examples where `let' doesn't behave the same way
as `let*' and this is by design, those examples felt to
a large extent artificial to me tho.

I don't know, would it be a good idea to just have `let' and
that would then be the same as today's `let*'? One could keep
a `let*' alias to `let' to avoid breaking code ...

-- 
underground experts united
https://dataswamp.org/~incal




reply via email to

[Prev in Thread] Current Thread [Next in Thread]