From fda88ea22112626a3fb8a25a510f49b40fb457a8 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Sat, 20 Nov 2021 21:10:57 -0500 Subject: Mention SetInv in VM docs --- implementation/vm.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'implementation/vm.md') diff --git a/implementation/vm.md b/implementation/vm.md index e54f4265..2ebd08cd 100644 --- a/implementation/vm.md +++ b/implementation/vm.md @@ -252,8 +252,9 @@ BQN sources are compiled with [cjs.bqn](../src/cjs.bqn), which runs under [dzaim ### Structure The following steps give a working BQN system, assuming a working VM and core runtime: -* Evaluate the bytecode `$ src/cjs.bqn r`, passing the core runtime `provide` in the constants array. The result is a BQN list of a full runtime, and a function `SetPrims`. +* Evaluate the bytecode `$ src/cjs.bqn r`, passing the core runtime `provide` in the constants array. The result is a BQN list of a full runtime, a function `SetPrims`, and a function `SetInv`. * Optionally, call `SetPrims` on a two-element list `⟨Decompose, PrimInd⟩`. +* Optionally, call `SetInv` with a function `𝕩` that updates `Inverse` and (more optionally) a function `𝕨` that updates `SwapInverse`. * Evaluate the bytecode `$ src/cjs.bqn c`, which uses primitives from the runtime in its constants array. This is the compiler. * Evaluate the bytecode `$ src/cjs.bqn f`. This returns a function. Then call it on a four-element list `⟨Type, Decompose, Glyph, FmtNum⟩` to obtain the two-element list `⟨•Fmt, •Repr⟩`. -- cgit v1.2.3