aboutsummaryrefslogtreecommitdiff
path: root/docs/implementation
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2020-09-24 14:08:54 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2020-09-24 14:08:54 -0400
commitb2806d7af02e46069c5604baab70592f3e6096bc (patch)
tree5d4adcb13e1168ae6ee0c5d0e695c7705bdc1c6b /docs/implementation
parent9bccc26a0c3231d7cc9adc37c1a850ef44fd436a (diff)
Support table column alignment in md.bqn
Diffstat (limited to 'docs/implementation')
-rw-r--r--docs/implementation/vm.html296
1 files changed, 148 insertions, 148 deletions
diff --git a/docs/implementation/vm.html b/docs/implementation/vm.html
index c0608644..4805d6b1 100644
--- a/docs/implementation/vm.html
+++ b/docs/implementation/vm.html
@@ -36,221 +36,221 @@
<table>
<thead>
<tr>
-<th>B</th>
+<th align="right">B</th>
<th>Name</th>
-<th>Used</th>
-<th>Like</th>
-<th>Args</th>
+<th align="center">Used</th>
+<th align="right">Like</th>
+<th align="left">Args</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
-<td>0</td>
+<td align="right">0</td>
<td>PUSH</td>
-<td>X</td>
-<td></td>
-<td><code><span class='Function'>I</span></code></td>
+<td align="center">X</td>
+<td align="right"></td>
+<td align="left"><code><span class='Function'>I</span></code></td>
<td>Push object <code><span class='Function'>I</span></code></td>
</tr>
<tr>
-<td>1</td>
+<td align="right">1</td>
<td>VARO</td>
-<td></td>
-<td></td>
-<td><code><span class='Function'>I</span></code></td>
+<td align="center"></td>
+<td align="right"></td>
+<td align="left"><code><span class='Function'>I</span></code></td>
<td>Push named variable <code><span class='Function'>I</span></code></td>
</tr>
<tr>
-<td>2</td>
+<td align="right">2</td>
<td>VARM</td>
-<td></td>
-<td></td>
-<td><code><span class='Function'>I</span></code></td>
+<td align="center"></td>
+<td align="right"></td>
+<td align="left"><code><span class='Function'>I</span></code></td>
<td>Push named variable <code><span class='Function'>I</span></code> reference</td>
</tr>
<tr>
-<td>3</td>
+<td align="right">3</td>
<td>ARRO</td>
-<td>X</td>
-<td></td>
-<td><code><span class='Function'>N</span></code></td>
+<td align="center">X</td>
+<td align="right"></td>
+<td align="left"><code><span class='Function'>N</span></code></td>
<td>Create length-<code><span class='Function'>N</span></code> list</td>
</tr>
<tr>
-<td>4</td>
+<td align="right">4</td>
<td>ARRM</td>
-<td>X</td>
-<td>3</td>
-<td><code><span class='Function'>N</span></code></td>
+<td align="center">X</td>
+<td align="right">3</td>
+<td align="left"><code><span class='Function'>N</span></code></td>
<td>Create length-<code><span class='Function'>N</span></code> reference list</td>
</tr>
<tr>
-<td>5</td>
+<td align="right">5</td>
<td>FN1C</td>
-<td></td>
-<td></td>
-<td></td>
+<td align="center"></td>
+<td align="right"></td>
+<td align="left"></td>
<td>Monadic function call</td>
</tr>
<tr>
-<td>6</td>
+<td align="right">6</td>
<td>FN2C</td>
-<td></td>
-<td></td>
-<td></td>
+<td align="center"></td>
+<td align="right"></td>
+<td align="left"></td>
<td>Dyadic function call</td>
</tr>
<tr>
-<td>7</td>
+<td align="right">7</td>
<td>OP1D</td>
-<td>X</td>
-<td></td>
-<td></td>
+<td align="center">X</td>
+<td align="right"></td>
+<td align="left"></td>
<td>1-modifier call</td>
</tr>
<tr>
-<td>8</td>
+<td align="right">8</td>
<td>OP2D</td>
-<td>X</td>
-<td></td>
-<td></td>
+<td align="center">X</td>
+<td align="right"></td>
+<td align="left"></td>
<td>2-modifier call</td>
</tr>
<tr>
-<td>9</td>
+<td align="right">9</td>
<td>TR2D</td>
-<td>X</td>
-<td></td>
-<td></td>
+<td align="center">X</td>
+<td align="right"></td>
+<td align="left"></td>
<td>Create 2-train</td>
</tr>
<tr>
-<td>10</td>
+<td align="right">10</td>
<td>TR3D</td>
-<td></td>
-<td></td>
-<td></td>
+<td align="center"></td>
+<td align="right"></td>
+<td align="left"></td>
<td>Create 3-train</td>
</tr>
<tr>
-<td>11</td>
+<td align="right">11</td>
<td>SETN</td>
-<td>X</td>
-<td></td>
-<td></td>
+<td align="center">X</td>
+<td align="right"></td>
+<td align="left"></td>
<td>Define variable</td>
</tr>
<tr>
-<td>12</td>
+<td align="right">12</td>
<td>SETU</td>
-<td>X</td>
-<td></td>
-<td></td>
+<td align="center">X</td>
+<td align="right"></td>
+<td align="left"></td>
<td>Change variable</td>
</tr>
<tr>
-<td>13</td>
+<td align="right">13</td>
<td>SETM</td>
-<td>X</td>
-<td></td>
-<td></td>
+<td align="center">X</td>
+<td align="right"></td>
+<td align="left"></td>
<td>Modify variable</td>
</tr>
<tr>
-<td>14</td>
+<td align="right">14</td>
<td>POPS</td>
-<td>X</td>
-<td></td>
-<td></td>
+<td align="center">X</td>
+<td align="right"></td>
+<td align="left"></td>
<td>Pop and discard top of stack</td>
</tr>
<tr>
-<td>15</td>
+<td align="right">15</td>
<td>DFND</td>
-<td>X</td>
-<td></td>
-<td><code><span class='Function'>I</span></code></td>
+<td align="center">X</td>
+<td align="right"></td>
+<td align="left"><code><span class='Function'>I</span></code></td>
<td>Localize and push block <code><span class='Function'>I</span></code></td>
</tr>
<tr>
-<td>16</td>
+<td align="right">16</td>
<td>FN1O</td>
-<td>X</td>
-<td>5</td>
-<td></td>
+<td align="center">X</td>
+<td align="right">5</td>
+<td align="left"></td>
<td>Monadic call, checking for <code><span class='Nothing'>·</span></code></td>
</tr>
<tr>
-<td>17</td>
+<td align="right">17</td>
<td>FN2O</td>
-<td>X</td>
-<td>6</td>
-<td></td>
+<td align="center">X</td>
+<td align="right">6</td>
+<td align="left"></td>
<td>Dyadic call, checking for <code><span class='Nothing'>·</span></code></td>
</tr>
<tr>
-<td>18</td>
+<td align="right">18</td>
<td>CHKV</td>
-<td></td>
-<td></td>
-<td></td>
+<td align="center"></td>
+<td align="right"></td>
+<td align="left"></td>
<td>Error if top of stack is <code><span class='Nothing'>·</span></code></td>
</tr>
<tr>
-<td>19</td>
+<td align="right">19</td>
<td>TR3O</td>
-<td>X</td>
-<td>10</td>
-<td></td>
+<td align="center">X</td>
+<td align="right">10</td>
+<td align="left"></td>
<td>Create 3-train, checking for <code><span class='Nothing'>·</span></code></td>
</tr>
<tr>
-<td>20</td>
+<td align="right">20</td>
<td>OP2H</td>
-<td></td>
-<td></td>
-<td></td>
+<td align="center"></td>
+<td align="right"></td>
+<td align="left"></td>
<td>Bind right operand to 2-modifier</td>
</tr>
<tr>
-<td>21</td>
+<td align="right">21</td>
<td>LOCO</td>
-<td>X</td>
-<td></td>
-<td><code><span class='Function'>D</span></code>, <code><span class='Function'>I</span></code></td>
+<td align="center">X</td>
+<td align="right"></td>
+<td align="left"><code><span class='Function'>D</span></code>, <code><span class='Function'>I</span></code></td>
<td>Push local variable <code><span class='Function'>I</span></code> from <code><span class='Function'>D</span></code> frames up</td>
</tr>
<tr>
-<td>22</td>
+<td align="right">22</td>
<td>LOCM</td>
-<td>X</td>
-<td></td>
-<td><code><span class='Function'>D</span></code>, <code><span class='Function'>I</span></code></td>
+<td align="center">X</td>
+<td align="right"></td>
+<td align="left"><code><span class='Function'>D</span></code>, <code><span class='Function'>I</span></code></td>
<td>Push local variable reference <code><span class='Function'>I</span></code> from <code><span class='Function'>D</span></code> frames up</td>
</tr>
<tr>
-<td>23</td>
+<td align="right">23</td>
<td>VFYM</td>
-<td></td>
-<td></td>
-<td></td>
+<td align="center"></td>
+<td align="right"></td>
+<td align="left"></td>
<td>Convert to matcher (for header tests)</td>
</tr>
<tr>
-<td>24</td>
+<td align="right">24</td>
<td>SETH</td>
-<td></td>
-<td></td>
-<td></td>
+<td align="center"></td>
+<td align="right"></td>
+<td align="left"></td>
<td>Test header</td>
</tr>
<tr>
-<td>25</td>
+<td align="right">25</td>
<td>RETN</td>
-<td>X</td>
-<td></td>
-<td></td>
+<td align="center">X</td>
+<td align="right"></td>
+<td align="left"></td>
<td>Returns top of stack</td>
</tr>
</tbody>
@@ -259,7 +259,7 @@
<table>
<thead>
<tr>
-<th>B</th>
+<th align="right">B</th>
<th>Name</th>
<th>Stack effect</th>
<th>Comments</th>
@@ -267,103 +267,103 @@
</thead>
<tbody>
<tr>
-<td>0</td>
+<td align="right">0</td>
<td>PUSH</td>
<td><code><span class='Gets'>→</span> <span class='Paren'>(</span><span class='Value'>i</span><span class='Function'>⊑</span><span class='Value'>consts</span><span class='Paren'>)</span></code></td>
<td></td>
</tr>
<tr>
-<td>3</td>
+<td align="right">3</td>
<td>ARRO</td>
<td><code><span class='Value'>x0</span> <span class='Value'>…</span> <span class='Value'>xm</span> <span class='Gets'>→</span> <span class='Bracket'>⟨</span><span class='Value'>x0</span> <span class='Value'>…</span> <span class='Value'>xm</span><span class='Bracket'>⟩</span></code></td>
<td><code><span class='Function'>N</span></code> total variables (<code><span class='Value'>m</span><span class='Function'>=</span><span class='Value'>n</span><span class='Function'>-</span><span class='Number'>1</span></code>)</td>
</tr>
<tr>
-<td>5</td>
+<td align="right">5</td>
<td>FN1C</td>
<td><code><span class='Value'>𝕩</span> <span class='Value'>𝕤</span> <span class='Gets'>→</span> <span class='Paren'>(</span><span class='Function'>𝕊</span> <span class='Value'>𝕩</span><span class='Paren'>)</span></code></td>
<td>16: <code><span class='Value'>𝕩</span></code> may be <code><span class='Nothing'>·</span></code></td>
</tr>
<tr>
-<td>6</td>
+<td align="right">6</td>
<td>FN2C</td>
<td><code><span class='Value'>𝕩</span> <span class='Value'>𝕤</span> <span class='Value'>𝕨</span> <span class='Gets'>→</span> <span class='Paren'>(</span><span class='Value'>𝕨</span> <span class='Function'>𝕊</span> <span class='Value'>𝕩</span><span class='Paren'>)</span></code></td>
<td>17: <code><span class='Value'>𝕨</span></code> or <code><span class='Value'>𝕩</span></code> may be <code><span class='Nothing'>·</span></code></td>
</tr>
<tr>
-<td>7</td>
+<td align="right">7</td>
<td>OP1D</td>
<td><code><span class='Value'>𝕣</span> <span class='Value'>𝕗</span> <span class='Gets'>→</span> <span class='Paren'>(</span><span class='Function'>𝔽</span> <span class='Modifier'>_𝕣</span><span class='Paren'>)</span></code></td>
<td></td>
</tr>
<tr>
-<td>8</td>
+<td align="right">8</td>
<td>OP2D</td>
<td><code><span class='Value'>𝕘</span> <span class='Value'>𝕣</span> <span class='Value'>𝕗</span> <span class='Gets'>→</span> <span class='Paren'>(</span><span class='Function'>𝔽</span> <span class='Modifier2'>_𝕣_</span> <span class='Function'>𝔾</span><span class='Paren'>)</span></code></td>
<td></td>
</tr>
<tr>
-<td>9</td>
+<td align="right">9</td>
<td>TR2D</td>
<td><code><span class='Value'>g</span> <span class='Value'>f</span> <span class='Gets'>→</span> <span class='Paren'>(</span><span class='Function'>F</span> <span class='Function'>G</span><span class='Paren'>)</span></code></td>
<td></td>
</tr>
<tr>
-<td>10</td>
+<td align="right">10</td>
<td>TR3D</td>
<td><code><span class='Value'>h</span> <span class='Value'>g</span> <span class='Value'>f</span> <span class='Gets'>→</span> <span class='Paren'>(</span><span class='Function'>F</span> <span class='Function'>G</span> <span class='Function'>H</span><span class='Paren'>)</span></code></td>
<td>19: <code><span class='Function'>F</span></code> may be <code><span class='Nothing'>·</span></code></td>
</tr>
<tr>
-<td>11</td>
+<td align="right">11</td>
<td>SETN</td>
<td><code><span class='Value'>x</span> <span class='Value'>r</span> <span class='Gets'>→</span> <span class='Paren'>(</span><span class='Value'>r</span><span class='Gets'>←</span><span class='Value'>x</span><span class='Paren'>)</span></code></td>
<td><code><span class='Value'>r</span></code> is a reference</td>
</tr>
<tr>
-<td>12</td>
+<td align="right">12</td>
<td>SETU</td>
<td><code><span class='Value'>x</span> <span class='Value'>r</span> <span class='Gets'>→</span> <span class='Paren'>(</span><span class='Value'>r</span><span class='Gets'>↩</span><span class='Value'>x</span><span class='Paren'>)</span></code></td>
<td><code><span class='Value'>r</span></code> is a reference</td>
</tr>
<tr>
-<td>13</td>
+<td align="right">13</td>
<td>SETM</td>
<td><code><span class='Value'>x</span> <span class='Value'>f</span> <span class='Value'>r</span> <span class='Gets'>→</span> <span class='Paren'>(</span><span class='Value'>r</span> <span class='Function'>F</span><span class='Gets'>↩</span> <span class='Value'>x</span><span class='Paren'>)</span></code></td>
<td><code><span class='Value'>r</span></code> is a reference</td>
</tr>
<tr>
-<td>14</td>
+<td align="right">14</td>
<td>POPS</td>
<td><code><span class='Value'>x</span> <span class='Gets'>→</span></code></td>
<td></td>
</tr>
<tr>
-<td>15</td>
+<td align="right">15</td>
<td>DFND</td>
<td><code><span class='Gets'>→</span> <span class='Paren'>(</span><span class='Value'>i</span><span class='Function'>⊑</span><span class='Value'>blocks</span><span class='Paren'>)</span></code></td>
<td>Also sets block's parent scope</td>
</tr>
<tr>
-<td>20</td>
+<td align="right">20</td>
<td>OP2H</td>
<td><code><span class='Value'>𝕘</span> <span class='Value'>𝕣</span> <span class='Gets'>→</span> <span class='Paren'>(</span><span class='Modifier2'>_𝕣_</span> <span class='Value'>𝕘</span><span class='Paren'>)</span></code></td>
<td></td>
</tr>
<tr>
-<td>21</td>
+<td align="right">21</td>
<td>LOCO</td>
<td><code><span class='Gets'>→</span> <span class='Value'>x</span></code></td>
<td>Local variable value</td>
</tr>
<tr>
-<td>22</td>
+<td align="right">22</td>
<td>LOCM</td>
<td><code><span class='Gets'>→</span> <span class='Value'>r</span></code></td>
<td>Local variable reference</td>
</tr>
<tr>
-<td>25</td>
+<td align="right">25</td>
<td>RETN</td>
<td><code><span class='Value'>x</span> <span class='Gets'>→</span> <span class='Value'>x</span></code></td>
<td>Returns from current block</td>
@@ -389,114 +389,114 @@
<table>
<thead>
<tr>
-<th>Ind</th>
+<th align="right">Ind</th>
<th>Name</th>
<th>Description / restrictions</th>
</tr>
</thead>
<tbody>
<tr>
-<td>0</td>
+<td align="right">0</td>
<td><code><span class='Function'>IsArray</span></code></td>
<td>1 if the right argument is an array, 0 otherwise</td>
</tr>
<tr>
-<td>1</td>
+<td align="right">1</td>
<td><code><span class='Function'>Type</span></code></td>
<td>The fill value for array <code><span class='Value'>𝕩</span></code></td>
</tr>
<tr>
-<td>2</td>
+<td align="right">2</td>
<td><code><span class='Function'>Log</span></code></td>
<td><code><span class='Function'>⋆</span><span class='Modifier'>⁼</span></code> (natural or base-<code><span class='Value'>𝕨</span></code> logarithm) for atomic arguments</td>
</tr>
<tr>
-<td>3</td>
+<td align="right">3</td>
<td><code><span class='Function'>GroupLen</span></code></td>
<td><code><span class='Function'>≠</span><span class='Modifier'>¨</span><span class='Function'>⊔</span><span class='Value'>𝕩</span></code> for a valid list <code><span class='Value'>𝕩</span></code></td>
</tr>
<tr>
-<td>4</td>
+<td align="right">4</td>
<td><code><span class='Function'>GroupOrd</span></code></td>
<td><code><span class='Function'>∾⊔</span><span class='Value'>𝕩</span></code> provided <code><span class='Value'>𝕨</span></code> is <code><span class='Function'>GroupLen</span> <span class='Value'>𝕩</span></code></td>
</tr>
<tr>
-<td>5</td>
+<td align="right">5</td>
<td><code><span class='Function'>!</span></code></td>
<td></td>
</tr>
<tr>
-<td>6</td>
+<td align="right">6</td>
<td><code><span class='Function'>+</span></code></td>
<td>On two atoms</td>
</tr>
<tr>
-<td>7</td>
+<td align="right">7</td>
<td><code><span class='Function'>-</span></code></td>
<td>On one or two atoms</td>
</tr>
<tr>
-<td>8</td>
+<td align="right">8</td>
<td><code><span class='Function'>×</span></code></td>
<td>On two atoms</td>
</tr>
<tr>
-<td>9</td>
+<td align="right">9</td>
<td><code><span class='Function'>÷</span></code></td>
<td>On one or two atoms</td>
</tr>
<tr>
-<td>10</td>
+<td align="right">10</td>
<td><code><span class='Function'>⋆</span></code></td>
<td>On one or two atoms</td>
</tr>
<tr>
-<td>11</td>
+<td align="right">11</td>
<td><code><span class='Function'>⌊</span></code></td>
<td>On one atom</td>
</tr>
<tr>
-<td>12</td>
+<td align="right">12</td>
<td><code><span class='Function'>=</span></code></td>
<td>On one value or two atoms</td>
</tr>
<tr>
-<td>13</td>
+<td align="right">13</td>
<td><code><span class='Function'>≤</span></code></td>
<td>On two atoms</td>
</tr>
<tr>
-<td>14</td>
+<td align="right">14</td>
<td><code><span class='Function'>≢</span></code></td>
<td>For array <code><span class='Value'>𝕩</span></code></td>
</tr>
<tr>
-<td>15</td>
+<td align="right">15</td>
<td><code><span class='Function'>⥊</span></code></td>
<td>For array <code><span class='Value'>𝕩</span></code> with no <code><span class='Value'>𝕨</span></code> or <code><span class='Value'>𝕨</span><span class='Function'>=</span><span class='Modifier2'>○</span><span class='Paren'>(</span><span class='Function'>×</span><span class='Modifier'>´</span><span class='Paren'>)</span><span class='Function'>≢</span><span class='Value'>𝕩</span></code></td>
</tr>
<tr>
-<td>16</td>
+<td align="right">16</td>
<td><code><span class='Function'>⊑</span></code></td>
<td>For atom <code><span class='Value'>𝕨</span></code> and list <code><span class='Value'>𝕩</span></code></td>
</tr>
<tr>
-<td>17</td>
+<td align="right">17</td>
<td><code><span class='Function'>↕</span></code></td>
<td>For natural number <code><span class='Value'>𝕩</span></code></td>
</tr>
<tr>
-<td>18</td>
+<td align="right">18</td>
<td><code><span class='Modifier'>⌜</span></code></td>
<td>On arrays</td>
</tr>
<tr>
-<td>19</td>
+<td align="right">19</td>
<td><code><span class='Modifier'>`</span></code></td>
<td></td>
</tr>
<tr>
-<td>20</td>
+<td align="right">20</td>
<td><code><span class='Modifier2'>⊘</span></code></td>
<td></td>
</tr>