Earlier quoted context omitted.
If I may ask, what references would you recommend to someone interested in something like Lisp, but who has never touched a functional language before?
Not OP, but Lisp isn’t really a functional language — it’s a usual language that also has some functional ideas inside. Mutation is common, don’t think Lisp will be a language like Haskell. For resources, I would recommend Practical Common Lisp[0] and PAIP[1]. For some modern development practices, the Common Lisp Cookbook[2] is great. [0]: http://www.gigamonkeys.com/book/ [1]: https://github.com/norvig/paip-lisp [2]…
In the beginning, "functional" meant functions were first-class objects and there was little--if any--global state. Lisp passes this test. Lisp invented this test (especially Scheme which introduced lexical scoping and closures).
If you want to write code with immutable data, you can certainly do so with Lisp; it just doesn't force you to. For the most part Lisp creates a brand new data structure when you "modify" an old one. You have to work a bit harder to actually mutate things.
Where e.g. Haskell is "more" functional than Lisp is more about automatic currying than immutability. Plus the static type system that allows monadic programming, which is much more difficult in Lisp because of Lisp's dynamic typing.