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

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

RE: Iteration macros (was: [External] : Re: Closures - do you understand


From: Drew Adams
Subject: RE: Iteration macros (was: [External] : Re: Closures - do you understand them well?)
Date: Sat, 10 Dec 2022 20:38:59 +0000

> > But it's also the case that for a _user_ the syntax
> > of `(cl-)loop' is complex - certainly much more
> > complex than the usual Lisp syntax.  You essentially
> > have to learn another language - `loop' - to use it.
> 
> That's what I meant, actually, yes.
> 
> I'm not opposed to introducing specialized sublanguages (after all, I've
> done that myself for `pcase`, `setf`, and `bindat`, and I'm not opposed
> to things like `rx` or `peg`), but I think what annoys me in `cl-loop`
> is that you cannot understand each subelement independently because the
> effect of each element often depends on the presence/absence of other
> elements or the place where it appears, ...: it's not just a separate
> language but that language is not modular (and hence in my view is a bad
> language design).

100% agreement.

> Shiver's [Anatomy of a Loop](
> https://www.ccs.neu.edu/home/shivers/papers/loop.pdf) is much
> better in this respect, but I'm still not a big fan because for example
> (bind <bindings>) changes the environment of *subsequent* expressions,
> which I find ugly (admittedly, he does that in Scheme where `define`
> already suffers from the same problem).

Thanks for that; wasn't familiar with it.

<<attachment: winmail.dat>>


reply via email to

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