3 ms·
> IIRC, it doesn't have roots in ALGOL, which probably explains its "strangeness" To the contrary, Algol took hints from Lisp when it created its if statement
by msla 7y ago
> IIRC, it doesn't have roots in ALGOL, which probably explains its "strangeness"
To the contrary, Algol took hints from Lisp when it created its if statement (as opposed to conditional GOTO) and subsequent Algol-style languages have only taken more from Lisp as the decades have gone on.
> But beyond that, from what I have seen, it seems like a functional-style language built around the concept of everything (primitives?) being a "list" - which is kinda analogous to a mathematical set, I think.
A "Lisp list" is a sequence which is implemented in terms of a singly-linked list. You can nest lists inside of each other arbitrarily, but if you want O(1) access times or easy element replacement, you should use other sequence types which are implemented in terms of arrays. Common Lisp, the modern Lisp dialect, has those.
If I had to give a high-level summary of modern Lisp, which is Common Lisp, I'd say that it's a dynamically-typed multi-paradigmatic programming language which supports the creation of mini-languages/DSLs through the use of advanced syntactic rewriting rules called macros.