diff options
| -rw-r--r-- | doc/fromDyalog.md | 28 | ||||
| -rw-r--r-- | docs/doc/fromDyalog.html | 63 |
2 files changed, 91 insertions, 0 deletions
diff --git a/doc/fromDyalog.md b/doc/fromDyalog.md index 5631a325..1818a094 100644 --- a/doc/fromDyalog.md +++ b/doc/fromDyalog.md @@ -4,6 +4,34 @@ A few tables to help users of Dyalog APL (or similar) get started quickly on BQN. Here we assume `⎕ML` is 1 for Dyalog. +## Terminology + +### Array model + +BQN uses the [based array model](based.md), so that a Dyalog's simple scalar corresponds to many BQN values: an atom, its enclose, and so on. + +| Dyalog | BQN | +|---------------|-------| +| Simple scalar | Atom | +| Scalar | Unit | +| Vector | List | +| Matrix | Table | + +BQN shares the terms "cell" and "major cell" with Dyalog, and uses +"element" (which may mean different things to different Dyalog users) *not* for a 0-cell but for the value it contains. + +### Roles + +Dyalog uses value types (array, function, and so on) to determine syntax while BQN uses a separate concept called syntactic roles. See [context-free grammer](context.md). + +| Dyalog type | BQN role | +|------------------|------------| +| Array | Subject | +| Function | Function | +| Monadic operator | 1-modifier | +| Dyadic operator | 2-modifier | +| Niladic function | *go away* | + ## For reading Here are some closest equivalents in Dyalog APL for the BQN functions that don't use the same glyphs as APL. Correspondence can be approximate, and `⌽` is just used as a decorator to mean "reverse some things". diff --git a/docs/doc/fromDyalog.html b/docs/doc/fromDyalog.html index 809575cb..be98d6ce 100644 --- a/docs/doc/fromDyalog.html +++ b/docs/doc/fromDyalog.html @@ -6,6 +6,69 @@ <div class="nav"><a href="https://github.com/mlochbaum/BQN">BQN</a></div> <h1 id="bqndyalog-apl-dictionary">BQN–Dyalog APL dictionary</h1> <p>A few tables to help users of Dyalog APL (or similar) get started quickly on BQN. Here we assume <code><span class='Value'>⎕</span><span class='Function'>ML</span></code> is 1 for Dyalog.</p> +<h2 id="terminology">Terminology</h2> +<h3 id="array-model">Array model</h3> +<p>BQN uses the <a href="based.html">based array model</a>, so that a Dyalog's simple scalar corresponds to many BQN values: an atom, its enclose, and so on.</p> +<table> +<thead> +<tr> +<th>Dyalog</th> +<th>BQN</th> +</tr> +</thead> +<tbody> +<tr> +<td>Simple scalar</td> +<td>Atom</td> +</tr> +<tr> +<td>Scalar</td> +<td>Unit</td> +</tr> +<tr> +<td>Vector</td> +<td>List</td> +</tr> +<tr> +<td>Matrix</td> +<td>Table</td> +</tr> +</tbody> +</table> +<p>BQN shares the terms "cell" and "major cell" with Dyalog, and uses +"element" (which may mean different things to different Dyalog users) <em>not</em> for a 0-cell but for the value it contains.</p> +<h3 id="roles">Roles</h3> +<p>Dyalog uses value types (array, function, and so on) to determine syntax while BQN uses a separate concept called syntactic roles. See <a href="context.html">context-free grammer</a>.</p> +<table> +<thead> +<tr> +<th>Dyalog type</th> +<th>BQN role</th> +</tr> +</thead> +<tbody> +<tr> +<td>Array</td> +<td>Subject</td> +</tr> +<tr> +<td>Function</td> +<td>Function</td> +</tr> +<tr> +<td>Monadic operator</td> +<td>1-modifier</td> +</tr> +<tr> +<td>Dyadic operator</td> +<td>2-modifier</td> +</tr> +<tr> +<td>Niladic function</td> +<td><em>go away</em></td> +</tr> +</tbody> +</table> <h2 id="for-reading">For reading</h2> <p>Here are some closest equivalents in Dyalog APL for the BQN functions that don't use the same glyphs as APL. Correspondence can be approximate, and <code><span class='Function'>⌽</span></code> is just used as a decorator to mean "reverse some things".</p> <table> |
