aboutsummaryrefslogtreecommitdiff
path: root/implementation/vm.md
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2021-11-20 21:10:57 -0500
committerMarshall Lochbaum <mwlochbaum@gmail.com>2021-11-20 21:10:57 -0500
commitfda88ea22112626a3fb8a25a510f49b40fb457a8 (patch)
tree4eed910bb4aca0b63116827e635fd22dfe9b3e38 /implementation/vm.md
parent0d3029f8539f03232f54bf8794bc76d07c3703e6 (diff)
Mention SetInv in VM docs
Diffstat (limited to 'implementation/vm.md')
-rw-r--r--implementation/vm.md3
1 files changed, 2 insertions, 1 deletions
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⟩`.