aboutsummaryrefslogtreecommitdiff
path: root/doc/fromDyalog.md
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2020-09-20 15:16:59 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2020-09-20 15:16:59 -0400
commit1ed779f6b9c3c19d2188e818fe6785a71c6537ba (patch)
tree91ce5db41aa178781f0fbd792e9427329cbefb06 /doc/fromDyalog.md
parentf910f64594053011efd57a97100ad19ee1e39fb4 (diff)
Add major terminology changes to fromDyalog.md
Diffstat (limited to 'doc/fromDyalog.md')
-rw-r--r--doc/fromDyalog.md28
1 files changed, 28 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".