|
|
|
|
|
by kazinator
1250 days ago
|
|
This is not what "code is data" is supposed to mean. It means "source code is data": the source code of Lisp is a data structure. You shouldn't do it in any Lisp production code. E.g. in ANSI Lisp, self-modifying code is undefined behavior. Even if you get some expected results, it may not work portably, and won't work if the code is compiled. Compiled Lisp code doesn't have a list representation any more. Code-is-data lets us have a transformation pass on the code with application-defined rules, before it is interpreted or compiled. This is a recursive step that returns a new version of the code based on the old |
|