At 10:28, Janus became self aware

Janus and CoreForth-0 are now finally able to compile each other - what’s up and what’s down is a bit tricky to name in meta compilation. Janus was so far more strictly speaking a cross compiler, but with the p3216 target, Janus can now generate a binary for the p3216 virtual machine which in turn can be used to compile itself. In theory, that allows the retirement of GForth as the Forth system used to run, provided that the p3216 virtual machine and the Forth binary are available.

The changes needed for Janus were pretty minimal, and the changes to CoreForth were mostly to support whatever Janus uses to produce target images, including file handling and string handling. CoreForth got a bit closer to Forth 2012 with that, but compliance is not a target so far. Rather, one of the goals was to move to the p3216 virtual machine which can be quite easily extended - it doesn’t have an FFI, but the ‘system call’ interface is simple enough to add whatever Rust supports.

2022-12-13