diff options
Diffstat (limited to 'implementation')
| -rw-r--r-- | implementation/vm.md | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/implementation/vm.md b/implementation/vm.md index e03887e5..462625f1 100644 --- a/implementation/vm.md +++ b/implementation/vm.md @@ -239,7 +239,7 @@ The following steps give a working BQN system, assuming a working VM and core ru * 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`. * Optionally, call `SetPrims` on a two-element list `⟨Decompose, PrimInd⟩`. * 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 1-modifier. To obtain the formatter, call it on a four-element operand list `⟨Type, Decompose, Glyph, FmtNum⟩`. +* 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⟩`. The compiler takes the runtime as `𝕨` and source code as `𝕩`. To evaluate BQN source code, convert it into a BQN string (rank-1 array of characters), pass this string and runtime to the compiler, and evaluate the result as bytecode. Results can be formatted with the formatter for use in a REPL, or used from the implementation language. |
