4 ms·
The big topic is meta-programming with symbolic expressions 1) one can generate code and evaluate it 2) one can write simple interpreters, see McCarthy's firs
by lispm 4y ago
The big topic is meta-programming with symbolic expressions
1) one can generate code and evaluate it
2) one can write simple interpreters, see McCarthy's first Lisp interpreter in Lisp -> your own eval
3) one can write procedural source code transformations, where the code is Lisp data -> transforming Lisp programs by Lisp programs -> apply the same development tools to the meta-level -> integrate it directly into the evaluator
The englightment is understanding how a minimal Lisp machinery for this works and that things fit together quite well.
4) how to apply source code to various software problems, for example in declarative programming or how to provide simpler interfaces to more complex, say, object-oriented mechanisms (-> example CLOS)
then there are a large number of consequences / further directions
* addressing the deficiencies of that model
* compilation
* language building (embedded DSLs)
* editor interfaces
* interactive programming
* UI representations as data
* machine models