Hacker News new | ask | show | jobs
by ukj 2273 days ago
To understand why LISP matters (in theory anyway) is to understand the concept of reification [1]. What you choose to reify (make explicit) in a particular language is a design decision. It's directly related to point 0 in Wadler's law [2] - semantics.

The design of LISP makes eval() and LISP's very syntax as first-class citizens which adheres to the code is data/data is code pragma. It makes LISP homoiconic [3]. It's an interesting and incredibly powerful property. Often too powerful for inexperienced programmers.

[1] https://en.wikipedia.org/wiki/Reification_(computer_science)

[2] https://wiki.haskell.org/Wadler's_Law

[3] https://en.wikipedia.org/wiki/Homoiconicity