Progress is moving slower, but I feel like a roadmap is emerging in my mind.
Writing the line “the first real Scheme program that I really want Kiwi to run in TinyCLOS” in the last post gave me some clarity on how I should be spending my time. Last week, I looked into how TruffleRuby bootstraps and specifically how the CoreLibrary
class is used.
In my mind, the order of operations is something like this:
Support loading scheme files on boot. As a test, I want to load a banner.scm
that just prints "Hello Kiwi!"
.
Load a partial file called ‘tinyclos.scm’ and populate the file with a function at a time.
TinyCLOS will fail, but it’ll drive the focus of the missing support in the language.
Eventually, when I get to having a more complete expander (with module system support), I can replace tinyclos.scm
with a package.scm
that includes a tinyclos
module.
I also started reading how the command processor works in Scheme48.
Prescheme.org was announced, it’s something to keep an eye on.