3 ms·
> Lisp machines are long gone. They also had assembly and microcode (and Maclisp got scoping wrong until CL, anyway). So those weren't much better if you want
by hayley-patton 3y ago
> Lisp machines are long gone.
They also had assembly and microcode (and Maclisp got scoping wrong until CL, anyway). So those weren't much better if you want to measure "purity".
> Tell people to implement a Lisp down on the imperative language of the machine. ...
Somehow there is no end to the difficulty of mapping an imperative language to another, as evidenced by the size of LLVM. One picks one's poison, I guess.
- jfoutz 3y agoyou can hack up eval, map, and apply in c without too much headache. I'd recommend int char and some sort of string representation as primitive. I'd also recommend not garbage collecting, and just malloc everything. Like, a weekend of effort for a really really bad implementation. So much magic disappears. Well, I guess this sort of assumes you know what a pointer is. If not, it's going to be a tough slog regardless. as a second pass, check out the later parts of sicp and expose some array type, and implement the gc in scheme. also I'll never pass up an opportunity to reference 3imp. http://agl.cs.unm.edu/~williams/cs491/three-imp.pdf http://agl.cs.unm.edu/~williams/cs491/three-imp.pdf I know, I know, scheme is a vespa and CL is a Ferrari. For someone who learns more bottom up, the bare minimum of scheme, but all the way is amazing.