RSC for Lisp Developers
Published on: 2025-06-11 16:19:28
Okay, so I don’t actually know LISP, so this is gonna be a tough one. If I misunderstand something, please help me understand it.
But from what I know, one of the big ideas of LISP is that code is data, and data is code. I mean, that’s kind of generally true, but in LISP it’s both culturally and syntactically emphasized. For example, let’s take this piece of code in LISP:
( + 2 2 )
This gives us 4 .
But let’s put a quote before it:
'( + 2 2 )
Suddenly, the result is… (+ 2 2) .
Uh, what do I do with that? Well, that’s a piece of LISP code. “Quoting” a piece of LISP code means “don’t actually evaluate it, just give me the code itself”.
Of course, I could evaluate it later:
( eval '( + 2 2 ))
This gives me 4 again.
That’s what I mean by “code is data” being very much in the LISP culture. The language has a first-class primitive for “don’t execute this part”. That’s quoting.
Now consider web apps.
A web server is a program whose job is to generate another program. A server gen
... Read full article.