Re:Why Lisp Syntax Works
by freilanzer on Tuesday June 06, 2023 @09:28AM
(#36212382)
When people say 'code is data' they obviously don't mean that source code is stored in a text file which consists of bytes...
(def add (x y) (+ x a))
(def sub (x y) (- x y))
(add 1 2) # 3
(sub 1 2) # -1
(first '(add 1 2)) # 'add
(rest '(add 1 2)) # (list 1 2)
(apply 'sub (rest '(add 1 2))) # -1
(reverse '(add 1 2) # '(2 1 add)
Excuse my pseudo lisp quote syntax, it's been a while.
I think when people say “code is data” what they really mean is something more specific, like the AST is easy to access and manipulate in the language.