3 ms·
I implemented a not-that-fancy Lisp in C in a few weeks. It did all its own number reading, precise GC, etc. It was embedded in a commercial product so it was
by throwaway81523 4y ago
I implemented a not-that-fancy Lisp in C in a few weeks. It did all its own number reading, precise GC, etc. It was embedded in a commercial product so it wasn't purely a toy. It was less sophisticated than Emacs Lisp. But Emacs Lisp itself was implemented in a matter of weeks or months (albeit by RMS, who is like ten normal good programmers). Lisp is really pretty simple, though of course adding enough to it will be a lot of work. Mine (and Emacs's) didn't have most of the stuff you listed, but that was ok.
SICP explains how to write a fairly complete version of Scheme including a compiler.
My Lisp in C had a bunch of its higher level parts like the reader implemented in C for accidental reasons because of why the program was developed in the first place. If doing it again though, the whole thing would be in Lisp except for some very low level primitives.