diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-02-05 22:19:19 -0500 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-02-05 22:19:19 -0500 |
| commit | adf5b2ba1386b351ea0ecf9158520aef7ca2c0e3 (patch) | |
| tree | cbe5976c60771f88b9ec3eec0de43ce5119cb31b /implementation/vm.md | |
| parent | bbcf73dcc56dbb2bbd78fd9ca8f82e9b164e2a14 (diff) | |
Update runtime provided functions table
Diffstat (limited to 'implementation/vm.md')
| -rw-r--r-- | implementation/vm.md | 45 |
1 files changed, 24 insertions, 21 deletions
diff --git a/implementation/vm.md b/implementation/vm.md index cc86180e..302717e0 100644 --- a/implementation/vm.md +++ b/implementation/vm.md @@ -119,27 +119,30 @@ The contents of a core runtime are given below. The names given are those used i | Ind | Name | Description / restrictions |----:|------------|--------------------------- -| 0 | `IsArray` | 1 if the right argument is an array, 0 otherwise -| 1 | `Type` | The fill value for array `π©` -| 2 | `Log` | `ββΌ` (natural or base-`π¨` logarithm) for atomic arguments -| 3 | `GroupLen` | `β Β¨βπ©` for a valid list `π©` -| 4 | `GroupOrd` | `βΎβπ©` provided `π¨` is `GroupLen π©` -| 5 | `!` | -| 6 | `+` | On two atoms -| 7 | `-` | On one or two atoms -| 8 | `Γ` | On two atoms -| 9 | `Γ·` | On one or two atoms -| 10 | `β` | On one or two atoms -| 11 | `β` | On one atom -| 12 | `=` | On one value or two atoms -| 13 | `β€` | On two atoms -| 14 | `β’` | For array `π©` -| 15 | `β₯` | For array `π©` with no `π¨` or `π¨=β(ΓΒ΄)β’π©` -| 16 | `β` | For atom `π¨` and list `π©` -| 17 | `β` | For natural number `π©` -| 18 | `β` | On arrays -| 19 | `` ` `` | -| 20 | `β` | +| 0 | `Type` | `β’Type` +| 1 | `Decompose`| `β’Decompose` +| 2 | `Glyph` | (Unused) `β’Glyph` for primitive `π©` +| 3 | `Fill` | Get or set the fill value for array `π©` +| 4 | `Log` | `ββΌ` (natural or base-`π¨` logarithm) for atomic arguments +| 5 | `GroupLen` | `β Β¨βπ©` for a valid list `π©` +| 6 | `GroupOrd` | `βΎβπ©` provided `π¨` is `GroupLen π©` +| 7 | `!` | +| 8 | `+` | On two atoms +| 9 | `-` | On one or two atoms +| 10 | `Γ` | On two atoms +| 11 | `Γ·` | On one or two atoms +| 12 | `β` | On one or two atoms +| 13 | `β` | On one atom +| 14 | `=` | On one value or two atoms +| 15 | `β€` | On two atoms +| 16 | `β’` | For array `π©` +| 17 | `β₯` | For array `π©` with no `π¨` or `π¨=β(ΓΒ΄)β’π©` +| 18 | `β` | For atom `π¨` and list `π©` +| 19 | `β` | For natural number `π©` +| 20 | `β` | On arrays +| 21 | `` ` `` | +| 22 | `_fillBy_` | `π½` with result fill computed using `πΎ` +| 23 | `β` | Remember that `+` and `-` can also work on characters in some circumstances, under the rules of affine characters. Other arithmetic functions should only accept numbers. `=` must work on numbers, characters, and primitives, and should give `0` without causing an error if the arguments have different types or one is a primitive and the other isn't. `β€` must work on numbers and characters. |
