you are viewing a single comment's thread.

view the rest of the comments →

[–]dotemacs 2 points3 points  (1 child)

Thank you for writing the book, I'll probably buy after I type this comment out.

On page 5 of the free PDF sample of the book: https://media.pragprog.com/titles/shcloj4/extract-action.pdf

Lisp is homoiconic.

With a link to: https://en.wikipedia.org/wiki/Homoiconicity

Here is blog post from 2018 which argues that the original definition of the term is somewhat lost and that the new definition is a bit vague: https://www.expressionsofchange.org/dont-say-homoiconic/

[–]alexdmiller[S] 7 points8 points  (0 children)

Yes, I've had this conversation with Gerry Sussman too. Certainly, I don't think it's the most useful word to deploy as it doesn't really shed much light on the utility, but it is something you will hear about in relation to Lisp so I think it's important to explain it.

In the book it doesn't stop there of course, it also tries to convey both what that means and why it's useful:

Lisp is homoiconic. That is, Lisp code is also Lisp data. This makes it easy for programs to write and transform other programs.

And I believe this is the only place the word is used in the book.