3 ms·
> LISP is worth learning for a different reason – the profound enlightenment experience you will have when you finally get it. I like Lisp (or rather Scheme an
by bmitc 4y ago
> LISP is worth learning for a different reason – the profound enlightenment experience you will have when you finally get it.
I like Lisp (or rather Scheme and Racket), but I have never understood this perspective. The only thing I can think of that Common Lisp does truly uniquely is its condition system. I feel like something like Prolog is much more profound in the way that it reshapes how to think about programming.
- teddyh 4y agoWhat LISP has, uniquely, is its macro system which, unlike text-based macro system like C, operate on the abstract syntax tree level.
- jacobmartin 4y agoFor sure. Additionally, the syntax of lisp also makes these AST macros ergonomic and, in many cases, beautiful. Rust has AST-transforming macros, but they're harder to use because the syntax is more complex. They're also quite ugly.
- deleted 4y ago[deleted]
- bmitc 4y agoIs that enlightening though? For example, Common Lisp, Scheme, Racket, Clojure, Elixir, and Prolog all have abstract syntax tree macro systems that all differ from one another. And I would argue that macros should, in general, be avoided. They can be very enabling though to extend the given language when used with constraint and moderation.
- agumonkey 4y agoprolog is another step that's for sure but lisp is the gateway drug the emphasis on thin syntax, homoiconicity is really no joke to me. I'm finishing queinnec's l.i.s.p but writing some of it in python and using OO requires so many layers and layers to reacreate what is mostly various sexp trees it puts away a lot of sequential imperative, replaced by functional/function oriented, it may look trivial today but it's been like this since the 70s and about CL/CLOS, one could mention the MOP, the multimethod+combinations too