4 ms·
Always good fun. Reminds me of XLISP which was my first exposure to Lisp. There's a lot to be said for small implementations that gets to the heart of the iss
by FullyFunctional 8y ago
Always good fun. Reminds me of XLISP which was my first exposure to Lisp.
There's a lot to be said for small implementations that gets to the heart of the issues. Most great oeuvres of software had a kernel beginning like this.
Some fun directions you could take this: Change the GC to Baker-style incremental (~ "real-time"), use cdr-coding, use tagged integers, add a compiler and compile to byte-code or threaded code.
EDIT: grammar.
- krig 8y agoThanks! Yeah, I am thinking that adding a similarly minimal compiler to this would be interesting as a next step. There is a previous effort in the ”old-version” directory which had tagged integers and strings and an attempt at macros, but it was a bit too unfocused and I never finished it. With this one the goal was to make it as small as possible but still be a complete implementation including GC, which made for a clearer end goal.
- FullyFunctional 8y agoSpot on. I have a partially finished byte-compiled Scheme which I abandoned when it grew to big for its original target platform, sigh. So much to be said for something that actually runs.