Loading files

Bootstrapping with Scheme sources

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:

  1. Support loading scheme files on boot. As a test, I want to load a banner.scm that just prints "Hello Kiwi!".

  2. Load a partial file called ‘tinyclos.scm’ and populate the file with a function at a time.

  3. TinyCLOS will fail, but it’ll drive the focus of the missing support in the language.

  4. 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.

  5. I also started reading how the command processor works in Scheme48.

Prescheme.org

Prescheme.org was announced, it’s something to keep an eye on.