3 ms·
Code is data. In Java, I could use a bytecode manipulation library to read in a class file, manipulate it by using the library's API to add, modify, delete mem
by DannyB2 9y ago
Code is data.
In Java, I could use a bytecode manipulation library to read in a class file, manipulate it by using the library's API to add, modify, delete members of the class. Then write the class back out as a file.
Code becomes data and is manipulated as date and written back out.
In Lisp 'code is data' is so much more natural because code IS the most elementary data structures of the language. No need for a library to manipulate code behind an API. The API is the language primitives. The code is the data structure you manipulate using language primitives.