Notes about how BQN is implemented. There's not too much here yet.
This repository's BQN implementation is written mainly in BQN: the bytecode compiler is completely self-hosted, and the majority of the runtime (r0, r1) is written in BQN except that it is allowed to define primitives; some preprocessing turns the primitives into identifiers. The remaining part, a VM, can be implemented in any language to obtain a version of BQN running in that language.
The VM used for the online REPL is the Javascript implementation. The bytecode matches dzaima/BQN's format, and an extension to the compiler adjusts the slightly different block declarations to target dzaima+reference BQN. An earlier experiment targetting WebAssembly works only on a very small subset of BQN. All versions have automated tests in the test directory.
I have also held some forum discussions on the actual workings of the compiler, but aborted these because the interactive format wasn't doing too much. I haven't yet started on non-interactive replacements.