Which LISP should I learn? Years ago I read about Scheme and wrote some hello world level code. I learned about lambda functions and currying. I also looked at racket. A few years ago, much of my day job involved the JVM and I was getting sick of Java so I got a book on Clojure, which is a very nice language, but I never wrote any.
A few days ago I downloaded and built the latest version of DrRacket.
Should I go straight to Haskell? Or what about other functional languages? Is Erlang worth a look?
I need something stimulating to distract my brain from the mundane nature of everyday life, and mediocre programming languages.
(Score: 2) by krishnoid on Sunday November 28 2021, @09:00PM (2 children)
Seriously, though, if you have a utility that uses a LISP dialect as an extension language, that's an easy way to get mentally familiar with, er, "list processing" syntax. Emacs and make (ugh) v4 [gnu.org] come to mind, but if there are other utilities you're currently using, it's a much smoother on-ramp to start coding to implement your own tweaks, then small functions, then larger ones.
(Score: 0) by Anonymous Coward on Monday November 29 2021, @02:24AM (1 child)
Except that emacs-lisp has been flagged as shit by GNU themselves and have had multiple attempts at replacing the interpreter with something nicer, including Guile.
(Score: 3, Insightful) by hendrikboom on Monday November 29 2021, @07:36PM
The problem with emacs-lisp is, apparently, that it doesn't do proper binding of variables. (the FUNARG problem of the 60's) There's been work about dealing with that, but there's such an enormous base of emacs lisp programs that making this change is ... difficult.
Racket has an editor written in a dialect of Scheme (i.e. Racket) which does handle bound variables properly. I'm not sure how language-independent it is, but the hallmark of Racket is its ability to handle multiple languages.
If GNU ever does manage to produce an editor based on any Scheme, I'd like to see it.