3 ms·
> when the language itself (spec and implementation) is constantly in flux. Common Lisp and Clojure are legendary for their stability. So many times I have exp
by iLemming 7y ago
> when the language itself (spec and implementation) is constantly in flux.
Common Lisp and Clojure are legendary for their stability. So many times I have experienced it myself - I would pick up a 5-6 year old Clojure project, update a bunch of dependencies, and somehow most things work right off the bat. That trick never worked for me with pretty much any other language - C#, Java, Python, Ruby, Go, Lua, Javascript - you name it.
Why is that? Probably because Lisp dialects essentially have no syntax. Code is data and data is code.
- deleted 7y ago[deleted]
- lispm 7y agoI thought Common Lisp is stable because the standard is unchanged since its publication in 1994. Lisp dialects have a lot of syntax. Every macro implements syntax.
- iLemming 7y agoMacros don't get written very often. Some Lispers (e.g.: Clojurists) advocate against solving problems with macros (if they can be solved with regular functions). However, at the end of the day, macro or a function - data remains data. In non-lispy languages syntax often complects meaning and order.
- lispm 7y ago> Macros don't get written very often. It's not how often you write macros. Just write ten macros -> ten syntax extensions. The Common Lisp implementation I use has around 700 predefined external macros. > against solving problems with macros (if they can be solved with regular functions). It's just that macros are for different things and for those are widely used in Lisp.