3 ms·
I called it "probably" the worst lisp. I enjoy very much working with elisp, and almost 100% agree with your characterization of it. But it is a fairly clunky
by teataster 6y ago
I called it "probably" the worst lisp. I enjoy very much working with elisp, and almost 100% agree with your characterization of it.
But it is a fairly clunky language with all it's let, letstar, letdash, letstardash... You know what I mean. I am no elisp history expert, but I believe that is due to it's age and how easy it is to extend.
And just to reiterate, I have never felt limited by it, I really like it, I would not change it and it solves the domain problem just fine.
- metroholografix 6y agoThere are Lisps out there that are actually bad. For example, I find every Clojure-inspired neoLisp to be bad. Or something like newLISP. These are bad Lisps because they suffer from fundamental design errors that go against the concept of Lisp itself. On the other hand languages like TXR Lisp and Emacs Lisp have made certain compromises in order to better fit their problem domains, but are fully aligned with the core ideas of Lisp as defined through its historical evolution. I also don't see let, letstar, etc as clunky but I've also been using them for more than a decade (and am firmly in the Lisp Machine Lisp -> Common Lisp camp).
- teataster 6y agoYou seem to be a more experienced lisper than me (I mostly do elisp scripts and a bit of Clojure) and I have learned a bit from your answer. Thanks.
- progre 6y ago> These are bad Lisps because they suffer from fundamental design errors that go against the concept of Lisp itself. So can you elaborate on what those design errors might be? And what exactly is the "concept of lisp"?
- metroholografix 6y agoOne example: https://www.gnu.org/software/emacs/manual/html_node/elisp/Cons-Cells.html https://www.gnu.org/software/emacs/manual/html_node/elisp/Co... The concept of Lisp through its historic evolution refers to the set of ideas and implementation details that allows one to read a book about Lisp written 40 years ago and apply the same concepts through a language called Lisp today without any -major- changes. If that's not possible or involves substantial programming logic rewriting, the language should not be viewed as Lisp.