4 ms·
Compiling will not change READ into PARSE. READ is still there. > Most CL implementations compile before calling eval Many or a lot, but I'm not sure actually
by lispm 8y ago
Compiling will not change READ into PARSE. READ is still there.
> Most CL implementations compile before calling eval
Many or a lot, but I'm not sure actually most.
There are quite a lot which use an Interpreter in the REPL, but where one can compile on demand. SBCL by default compiles. LispWorks for example does not.
> After it's reader is done with it, the code is represented with CL data structures.
Right, but the data structures carry no syntactic information. If you write (1 2 +) the reader accepts it and does not know that this is invalid syntax.
> AST and IR are all CL data structures.
True, but not necessarily like s-expressions...
See for example data structures the SBCL compiler uses:
https://github.com/sbcl/sbcl/blob/master/src/compiler/node.lisp https://github.com/sbcl/sbcl/blob/master/src/compiler/node.l...
> Saving the image and exiting the runtime is like compiling in normal languages.
Working with images is optional - the Common Lisp standard says nothing about images at all.