aboutsummaryrefslogtreecommitdiff
path: root/help
diff options
context:
space:
mode:
authorrazetime <raghuallthetime@hotmail.com>2022-01-19 10:14:32 +0530
committerrazetime <raghuallthetime@hotmail.com>2022-01-19 10:14:32 +0530
commitcf65cfb32f34b7c9fed4614479d8242c51321bac (patch)
tree46e00a664396fdb4452e5eb89c87ddd033aedc38 /help
parent9465180cb19a41efccd7130cfc75d760a733bb30 (diff)
primitive function and modifier help pages
Diffstat (limited to 'help')
-rw-r--r--help/!assert assertwithmsg.md31
-rw-r--r--help/+conjugate add.md22
-rw-r--r--help/-negate subtract.md28
-rw-r--r--help/<enclose less.md27
-rw-r--r--help/=rank equal.md28
-rw-r--r--help/>merge great.md38
-rw-r--r--help/`scan.md29
-rw-r--r--help/sindices replicate.md23
-rw-r--r--help/template.md.tmp47
-rw-r--r--help/|abs modulus.md25
-rw-r--r--help/¨each.md15
-rw-r--r--help/«shiftbefore.md37
-rw-r--r--help/¬not span.md25
-rw-r--r--help/´fold.md28
-rw-r--r--help/»shiftafter.md37
-rw-r--r--help/×sign multiply.md26
-rw-r--r--help/÷reciprocal divide.md20
-rw-r--r--help/˘cells.md26
-rw-r--r--help/˙constant.md11
-rw-r--r--help/˜self swap.md21
-rw-r--r--help/⁼undo.md20
-rw-r--r--help/↑prefixes take.md62
-rw-r--r--help/↓suffixes drop.md51
-rw-r--r--help/↕range windows.md51
-rw-r--r--help/∊markfirst memberof.md37
-rw-r--r--help/∘atop.md27
-rw-r--r--help/√squareroot root.md21
-rw-r--r--help/∧sortup and.md21
-rw-r--r--help/∨sortdown or.md23
-rw-r--r--help/∾join jointo.md60
-rw-r--r--help/≍solo couple.md42
-rw-r--r--help/≠length notequal.md30
-rw-r--r--help/≡depth match.md23
-rw-r--r--help/≢shape notmatch.md23
-rw-r--r--help/≤lessequal.md13
-rw-r--r--help/≥greatequal.md13
-rw-r--r--help/⊏firstcell select.md38
-rw-r--r--help/⊐classify indexof.md37
-rw-r--r--help/⊑first pick.md33
-rw-r--r--help/⊒occcount progindex.md24
-rw-r--r--help/⊔groupindices group.md32
-rw-r--r--help/⊘valences.md21
-rw-r--r--help/⊢identity right.md19
-rw-r--r--help/⊣identity left.md19
-rw-r--r--help/⊸before bindleft.md41
-rw-r--r--help/⋆exponential power.md25
-rw-r--r--help/⋈enlist pair.md36
-rw-r--r--help/⌈ceiling maximum.md23
-rw-r--r--help/⌊floor minimum.md23
-rw-r--r--help/⌜table.md20
-rw-r--r--help/⌽reverse rotate.md41
-rw-r--r--help/⌾under.md20
-rw-r--r--help/⍉transpose dyadtranspose.md36
-rw-r--r--help/⍋gradeup binsup.md28
-rw-r--r--help/⍒gradedown binsdown.md29
-rw-r--r--help/⍟repeat.md15
-rw-r--r--help/⍷deduplicate find.md56
-rw-r--r--help/⎉rank.md36
-rw-r--r--help/⎊catch.md15
-rw-r--r--help/○over.md27
-rw-r--r--help/◶choose.md17
-rw-r--r--help/⚇depth.md12
-rw-r--r--help/⟜after bindright.md41
-rw-r--r--help/⥊deshape reshape.md41
64 files changed, 1866 insertions, 0 deletions
diff --git a/help/!assert assertwithmsg.md b/help/!assert assertwithmsg.md
new file mode 100644
index 00000000..4e823a1e
--- /dev/null
+++ b/help/!assert assertwithmsg.md
@@ -0,0 +1,31 @@
+Exclamation Mark (`!`)
+
+`! 𝕩`: Assert
+
+Throw an error if `𝕩` is not 1.
+```
+ ! 1
+1
+ ! 2
+Error: Assertion error
+at ! 2
+ ^
+ ! "hello"
+Error: hello
+at ! "hello"
+```
+
+`𝕨 ! 𝕩`: Dyad
+
+Throw an error with message `𝕨` if `𝕩` is not 1.
+```
+ "hi" ! 1
+1
+ "two" ! 2
+Error: two
+at "two" ! 2
+ ^
+ "hello error" ! "hello"
+Error: hello error
+at "hello error" ! "hello"
+``` \ No newline at end of file
diff --git a/help/+conjugate add.md b/help/+conjugate add.md
new file mode 100644
index 00000000..dc8a0467
--- /dev/null
+++ b/help/+conjugate add.md
@@ -0,0 +1,22 @@
+Plus (`+`)
+
+`+ 𝕩`: Conjugate
+```
+ + 1
+1
+ + ¯1
+¯1
+```
+`𝕨 + 𝕩`: Add
+
+`𝕨` added to `𝕩`. Either `𝕨` or `𝕩` can be a character, and if so, the other has to be a number.
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ 1 + 2
+3
+ 1 + 2‿3‿4
+⟨ 3 4 5 ⟩
+ 'a' + 4
+'e'
+```
diff --git a/help/-negate subtract.md b/help/-negate subtract.md
new file mode 100644
index 00000000..df2cc167
--- /dev/null
+++ b/help/-negate subtract.md
@@ -0,0 +1,28 @@
+Minus (`-`)
+
+`- 𝕩`: Negate
+
+Additive Inverse of `𝕩`.
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ - 1
+¯1
+ - ¯1
+1
+```
+`𝕨 - 𝕩`: Subtract
+
+Subtract `𝕩` from `𝕨`. `𝕨` and `𝕩` can be characters or numbers.
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ 1 - 2
+¯1
+ 1 - 2‿3‿4
+⟨ ¯1 ¯2 ¯3 ⟩
+ 'a' - 4
+']'
+ 'b' - 'a'
+1
+```
diff --git a/help/<enclose less.md b/help/<enclose less.md
new file mode 100644
index 00000000..bf2be0c4
--- /dev/null
+++ b/help/<enclose less.md
@@ -0,0 +1,27 @@
+Lesser Than (`<`)
+
+`< 𝕩`: Enclose
+
+Create a unit array containing `𝕩`. (`(≢𝕩) ≡ ⟨⟩`)
+
+```
+ <1
+┌·
+· 1
+ ┘
+
+ ≢<1
+⟨⟩
+```
+
+`𝕨 < 𝕩`: Lesser Than
+
+`𝕨` and `𝕩` can both be either numbers or characters.
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ 1 < 3
+1
+ 2‿3‿0 < 3‿1‿0
+⟨ 1 0 0 ⟩
+``` \ No newline at end of file
diff --git a/help/=rank equal.md b/help/=rank equal.md
new file mode 100644
index 00000000..053fd27c
--- /dev/null
+++ b/help/=rank equal.md
@@ -0,0 +1,28 @@
+Equal (`=`)
+
+`= 𝕩`: Rank
+
+Returns the number of dimensions in `𝕩`.
+
+```
+ = 0
+0
+ = 3⥊0
+1
+ = 3‿3⥊0
+2
+ 3‿3‿3 ⥊ ⟨⟨0⟩⟩
+3
+```
+
+`𝕨 = 𝕩`: Equal To
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ 1 = 3
+0
+ 2‿3‿0 = 3‿1‿0
+⟨ 0 0 1 ⟩
+ 'a' = 'a'
+1
+``` \ No newline at end of file
diff --git a/help/>merge great.md b/help/>merge great.md
new file mode 100644
index 00000000..913a2b6c
--- /dev/null
+++ b/help/>merge great.md
@@ -0,0 +1,38 @@
+Greater Than (`>`)
+
+`> 𝕩`: Merge
+
+Add the rank of an element of `𝕩` to the rank of `𝕩`.
+
+All elements must have the same rank.
+
+Returns atomic values as is.
+
+```
+ a ← ⟨⟨1, 2⟩, ⟨3, 4⟩⟩
+⟨ ⟨ 1 2 ⟩ ⟨ 3 4 ⟩ ⟩
+ >a
+┌─
+╵ 1 2
+ 3 4
+ ┘
+ ≢a
+⟨ 2 ⟩
+ ≢>a
+⟨ 2 2 ⟩
+
+```
+
+`𝕨 > 𝕩`: Greater Than
+
+`𝕨` and `𝕩` can both be either numbers or characters.
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ 1 > 3
+0
+ 2‿3‿0 > 3‿1‿0
+⟨ 0 1 0 ⟩
+ 'a' > 'b'
+1
+``` \ No newline at end of file
diff --git a/help/`scan.md b/help/`scan.md
new file mode 100644
index 00000000..dc4013b9
--- /dev/null
+++ b/help/`scan.md
@@ -0,0 +1,29 @@
+Acute Accent (`` ` ``)
+
+`𝔽` 𝕩`: Fold
+
+Scan over `𝕩` with `𝔽` from left to right, producing intermediate values.
+
+```
+ +` 1‿2‿3
+⟨ 1 3 6 ⟩
+ ⟨1, 1+2, (1+2)+3⟩
+⟨ 1 3 6 ⟩
+ -` 1‿2‿3
+⟨ 1 ¯1 ¯4 ⟩
+ ⟨1, 1-2, (1-2)-3⟩
+⟨ 1 ¯1 ¯4 ⟩
+```
+`𝕨 𝔽` 𝕩`: Scan With initial
+
+Monadic scan, but use `𝕨` as initial left argument.
+```
+ 5 +` 1‿2‿3
+⟨ 6 8 11 ⟩
+ ⟨5+1, (5+1)+2, ((5+1)+2)+3⟩
+⟨ 6 8 11 ⟩
+ 5 -` 1‿2‿3
+⟨ 4 2 ¯1 ⟩
+ ⟨5-1, (5-1)-2, ((5-1)-2)-3⟩
+⟨ 4 2 ¯1 ⟩
+``` \ No newline at end of file
diff --git a/help/sindices replicate.md b/help/sindices replicate.md
new file mode 100644
index 00000000..852570d1
--- /dev/null
+++ b/help/sindices replicate.md
@@ -0,0 +1,23 @@
+Solidus (`/`)
+
+`/ 𝕩`: Indices
+
+Repeat the index of each element in `𝕩` by the element's value. `𝕩` must be rank 1.
+```
+ / 1‿2‿3
+⟨ 0 1 1 2 2 2 ⟩
+ / 1‿0‿1
+⟨ 0 2 ⟩
+```
+
+`𝕨 / 𝕩`: Replicate
+
+Repeat each major cell in `𝕩` by the corresponding element in `𝕨`.
+
+Atomic `𝕨` applies to all elements.
+```
+ 3 / "copy"
+"cccooopppyyy"
+ 1‿0‿1 / 1‿2‿3
+⟨ 1 3 ⟩
+``` \ No newline at end of file
diff --git a/help/template.md.tmp b/help/template.md.tmp
new file mode 100644
index 00000000..5b994159
--- /dev/null
+++ b/help/template.md.tmp
@@ -0,0 +1,47 @@
+SymN (`S`)
+
+`S 𝕩`: Monad
+
+Description
+```
+Ex
+```
+
+`𝕨 S 𝕩`: Dyad
+
+Description
+```
+Ex
+```
+
+SymN (`S`)
+
+`𝔽 S 𝕩`: 1mod
+
+Description
+```
+Ex
+```
+`𝕨 𝔽 S 𝕩`: 1mod
+
+Description
+```
+Ex
+```
+
+
+SymN (`S`)
+
+`𝔽 S 𝔾 𝕩`: 2mod
+
+Description
+```
+Ex
+```
+
+`𝕨 𝔽 S 𝔾 𝕩`: 2mod
+
+Description
+```
+Ex
+``` \ No newline at end of file
diff --git a/help/|abs modulus.md b/help/|abs modulus.md
new file mode 100644
index 00000000..533ab6b4
--- /dev/null
+++ b/help/|abs modulus.md
@@ -0,0 +1,25 @@
+Pipe (`|`)
+
+`| 𝕩`: Absolute Value
+
+Absolute Value of `𝕩`.
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ | ¯2
+2
+ | 1‿3‿¯4‿3
+⟨ 1 3 4 3 ⟩
+```
+
+`𝕨 | 𝕩`: Modulus
+
+Remainder of `𝕩` divided by `𝕨`.
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ 1 | 3
+0
+ 2 | 3‿4‿5
+⟨ 1 0 1 ⟩
+``` \ No newline at end of file
diff --git a/help/¨each.md b/help/¨each.md
new file mode 100644
index 00000000..2a387b97
--- /dev/null
+++ b/help/¨each.md
@@ -0,0 +1,15 @@
+Diaresis (`¨`)
+
+`𝔽¨ 𝕩`, `𝕨 𝔽¨ 𝕩`: Each
+
+Apply `𝔽` to/between the major elements of the arguments. (`𝔽⚇¯1`)
+```
+ <¨ 1‿2‿3
+┌─
+· ┌· ┌· ┌·
+ · 1 · 2 · 3
+ ┘ ┘ ┘
+ ┘
+ 4‿5‿6 ∾¨ 1‿2‿3
+⟨ ⟨ 4 1 ⟩ ⟨ 5 2 ⟩ ⟨ 6 3 ⟩ ⟩
+``` \ No newline at end of file
diff --git a/help/«shiftbefore.md b/help/«shiftbefore.md
new file mode 100644
index 00000000..926dcefb
--- /dev/null
+++ b/help/«shiftbefore.md
@@ -0,0 +1,37 @@
+Left Pointing Double Angle Quotation (`«`)
+
+`« 𝕩`: Shift Before
+
+Remove the first element of `𝕩`, add a cell of fill values to the end of the first axis of `𝕩`.
+```
+ 78 « 1‿2‿3
+⟨ 1 2 78 ⟩
+ « 1‿2‿3
+⟨ 2 3 0 ⟩
+ « 3‿3 ⥊ 9
+┌─
+╵ 9 9 9
+ 9 9 9
+ 0 0 0
+ ┘
+```
+
+`𝕨 « 𝕩`: Shift Before
+
+Remove the first `≠𝕨` (length) major cells from `𝕩`, join `𝕨` to the end of `𝕩`. Ranks must match.
+```
+ 8‿5 « 1‿2‿3
+⟨ 3 8 5 ⟩
+ a ← 3‿3 ⥊ 9
+┌─
+╵ 9 9 9
+ 9 9 9
+ 9 9 9
+ ┘
+ 1‿2‿3 « a
+┌─
+╵ 9 9 9
+ 9 9 9
+ 1 2 3
+ ┘
+``` \ No newline at end of file
diff --git a/help/¬not span.md b/help/¬not span.md
new file mode 100644
index 00000000..5649410e
--- /dev/null
+++ b/help/¬not span.md
@@ -0,0 +1,25 @@
+Not (`¬`)
+
+`¬ 𝕩`: Logical Not
+
+Logical Not of `𝕩`.
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ ¬ 0
+1
+ ¬ 1‿0
+⟨ 0 1 ⟩
+```
+
+`𝕨 ¬ 𝕩`: Span
+
+Count of numbers in the inclusive range from `𝕩` to `𝕨`.
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ 3 ¬ 1
+3
+ 3‿4 ¬ 0‿2
+⟨ 4 3 ⟩
+``` \ No newline at end of file
diff --git a/help/´fold.md b/help/´fold.md
new file mode 100644
index 00000000..0f3d2a69
--- /dev/null
+++ b/help/´fold.md
@@ -0,0 +1,28 @@
+Acute Accent (`´`)
+
+`𝔽´ 𝕩`: Fold
+
+Fold over `𝕩` with `𝔽` from right to left i.e. Insert `𝔽` between the elements of `𝕩`.
+```
+ +´ 1‿2‿3
+6
+ 1+2+3
+6
+ -´ 1‿2‿3
+2
+ 1-2-3
+2
+```
+`𝕨 𝔽´ 𝕩`: Fold With initial
+
+Monadic fold, but use `𝕨` as initial right argument.
+```
+ 5 +´ 1‿2‿3
+11
+ 1+2+3+5
+11
+ 5 -´ 1‿2‿3
+¯3
+ 1-2-3-5
+¯3
+``` \ No newline at end of file
diff --git a/help/»shiftafter.md b/help/»shiftafter.md
new file mode 100644
index 00000000..af8a6bb1
--- /dev/null
+++ b/help/»shiftafter.md
@@ -0,0 +1,37 @@
+Right Pointing Double Angle Quotation (`»`)
+
+`» 𝕩`: Shift After
+
+Remove the last element of `𝕩`, add a cell of fill values to the start of the first axis of `𝕩`.
+```
+ » 1‿2‿3
+⟨ 0 1 2 ⟩
+ » 3‿3 ⥊ 9
+┌─
+╵ 0 0 0
+ 9 9 9
+ 9 9 9
+ ┘
+```
+
+`𝕨 » 𝕩`: Shift After
+
+Remove the last `≠𝕨` (length) major cells from `𝕩`, join `𝕨` to the start of `𝕩`. Ranks must match.
+```
+ 78 » 1‿2‿3
+⟨ 78 1 2 ⟩
+ 1‿2 » 1‿2‿3
+⟨ 1 2 1 ⟩
+ a ← 3‿3 ⥊ 9
+┌─
+╵ 9 9 9
+ 9 9 9
+ 9 9 9
+ ┘
+ 1‿2‿3 » a
+┌─
+╵ 1 2 3
+ 9 9 9
+ 9 9 9
+ ┘
+``` \ No newline at end of file
diff --git a/help/×sign multiply.md b/help/×sign multiply.md
new file mode 100644
index 00000000..465d5023
--- /dev/null
+++ b/help/×sign multiply.md
@@ -0,0 +1,26 @@
+Times (`×`)
+
+`× 𝕩`: Sign
+
+Sign of `𝕩`.
+- `¯1` if `𝕩 < 0`
+- `0` if `𝕩 = 0`
+- `1` if `𝕩 > 0`
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ × ¯5‿0‿5‿1
+⟨ ¯1 0 1 1 ⟩
+```
+
+`𝕨 × 𝕩`: Multiply
+
+`𝕨` multiplied by `𝕩`.
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ 1 × 2
+2
+ 2 × 2‿3‿4
+⟨ 4 6 8 ⟩
+``` \ No newline at end of file
diff --git a/help/÷reciprocal divide.md b/help/÷reciprocal divide.md
new file mode 100644
index 00000000..b43b5a76
--- /dev/null
+++ b/help/÷reciprocal divide.md
@@ -0,0 +1,20 @@
+Divide (`÷`)
+
+`÷ 𝕩`: Reciprocal
+
+Gives `1 ÷ 𝕩`.
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ ÷ 5
+0.2
+```
+
+`𝕨 ÷ 𝕩`: Divide
+
+`𝕨` divided by `𝕩`.
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ExamplesIfAny
+``` \ No newline at end of file
diff --git a/help/˘cells.md b/help/˘cells.md
new file mode 100644
index 00000000..4f5a3751
--- /dev/null
+++ b/help/˘cells.md
@@ -0,0 +1,26 @@
+Breve (`˘`)
+
+`𝔽˘ 𝕩`, `𝕨 𝔽˘ 𝕩`: Cells
+
+Apply `𝔽` to/between the major cells of the arguments. (`𝔽⎉¯1`)
+```
+ a ← 3‿3 ⥊ ↕9
+┌─
+╵ 0 1 2
+ 3 4 5
+ 6 7 8
+ ┘
+ <˘ a
+⟨ ⟨ 0 1 2 ⟩ ⟨ 3 4 5 ⟩ ⟨ 6 7 8 ⟩ ⟩
+ a ≍˘ a
+┌─
+╎ 0 1 2
+ 0 1 2
+
+ 3 4 5
+ 3 4 5
+
+ 6 7 8
+ 6 7 8
+ ┘
+``` \ No newline at end of file
diff --git a/help/˙constant.md b/help/˙constant.md
new file mode 100644
index 00000000..c7025d3e
--- /dev/null
+++ b/help/˙constant.md
@@ -0,0 +1,11 @@
+Dot Above (`˙`)
+
+`𝔽˙ 𝕩`, `𝕨 𝔽˙ 𝕩`: Constant
+
+Returns a function that will always return `𝕗`.
+```
+ "hello" (1 ˙) 2
+1
+ "hello" ({𝕨+𝕩} ˙) 2
+(function block)
+``` \ No newline at end of file
diff --git a/help/˜self swap.md b/help/˜self swap.md
new file mode 100644
index 00000000..d50ddc9f
--- /dev/null
+++ b/help/˜self swap.md
@@ -0,0 +1,21 @@
+Small Tilde (`˜`)
+
+`𝔽˜ 𝕩`: Self
+
+Supplies `𝕩` as a left argument to `𝔽` (`𝕩 𝔽 𝕩`).
+```
+ 1 + 1
+2
+ +˜ 1
+2
+```
+
+`𝕨 𝔽˜ 𝕩`: Swap
+
+Swaps the arguments of `𝔽` (`𝕩 𝔽 𝕨`).
+```
+ 1 - 2
+¯1
+ 1 -˜ 2
+1
+``` \ No newline at end of file
diff --git a/help/⁼undo.md b/help/⁼undo.md
new file mode 100644
index 00000000..cac9cf46
--- /dev/null
+++ b/help/⁼undo.md
@@ -0,0 +1,20 @@
+Superscript Equals Sign (`⁼`)
+
+`𝔽⁼ 𝕩`, `𝕨 𝔽⁼ 𝕩`: Undo
+
+Invert the function `𝔽`, or use its defined inverse. Not all functions have inverses.
+
+```
+ 1 - 2
+¯1
+ 1 -⁼ 2
+¯1
+ √ 16
+4
+ √⁼ 4
+16
+ ⋆ 1
+2.718281828459045
+ ⋆⁼ 2.718281828459045
+1
+``` \ No newline at end of file
diff --git a/help/↑prefixes take.md b/help/↑prefixes take.md
new file mode 100644
index 00000000..139ebda4
--- /dev/null
+++ b/help/↑prefixes take.md
@@ -0,0 +1,62 @@
+Up Arrow (`↑`)
+
+`↑ 𝕩`: Prefixes
+
+Prefixes of array `𝕩` along its first axis.
+```
+ ↑ 1‿2‿3‿4
+⟨ ⟨⟩ ⟨ 1 ⟩ ⟨ 1 2 ⟩ ⟨ 1 2 3 ⟩ ⟨ 1 2 3 4 ⟩ ⟩
+ a ← 3‿3 ⥊ ↕9
+┌─
+╵ 0 1 2
+ 3 4 5
+ 6 7 8
+ ┘
+ ↑ a
+┌─
+· ↕0‿3 ┌─ ┌─ ┌─
+ ╵ 0 1 2 ╵ 0 1 2 ╵ 0 1 2
+ ┘ 3 4 5 3 4 5
+ ┘ 6 7 8
+ ┘
+ ┘
+```
+
+`𝕨 ↑ 𝕩`: Take
+
+For each integer in `𝕨`, take that many elements from each dimension of `𝕩`.
+
+Negative numbers take from the end.
+
+If any of the elements in `𝕨` are greater than the length of their respective dimension, the dimension is extended with a fill value.
+```
+ 3 ↑ 1‿3‿5‿67
+⟨ 1 3 5 ⟩
+ a ← 4‿4 ⥊ ↕16
+┌─
+╵ 0 1 2 3
+ 4 5 6 7
+ 8 9 10 11
+ 12 13 14 15
+ ┘
+ 3‿3 ↑ a
+┌─
+╵ 0 1 2
+ 4 5 6
+ 8 9 10
+ ┘
+ 5‿5 ↑ a
+┌─
+╵ 0 1 2 3 0
+ 4 5 6 7 0
+ 8 9 10 11 0
+ 12 13 14 15 0
+ 0 0 0 0 0
+ ┘
+ 3‿¯3 ↑ a
+┌─
+╵ 1 2 3
+ 5 6 7
+ 9 10 11
+ ┘
+``` \ No newline at end of file
diff --git a/help/↓suffixes drop.md b/help/↓suffixes drop.md
new file mode 100644
index 00000000..a1a0c346
--- /dev/null
+++ b/help/↓suffixes drop.md
@@ -0,0 +1,51 @@
+Down Arrow (`↓`)
+
+`↓ 𝕩`: Suffixes
+
+Suffixes of array `𝕩` along its first axis.
+```
+ ↓ 1‿2‿3‿4
+⟨ ⟨ 1 2 3 4 ⟩ ⟨ 2 3 4 ⟩ ⟨ 3 4 ⟩ ⟨ 4 ⟩ ⟨⟩ ⟩
+ a ← 3‿3 ⥊ ↕9
+┌─
+╵ 0 1 2
+ 3 4 5
+ 6 7 8
+ ┘
+ ↓ a
+┌─
+· ┌─ ┌─ ┌─ ↕0‿3
+ ╵ 0 1 2 ╵ 3 4 5 ╵ 6 7 8
+ 3 4 5 6 7 8 ┘
+ 6 7 8 ┘
+ ┘
+ ┘
+```
+
+`𝕨 ↓ 𝕩`: Drop
+
+For each integer in `𝕨`, drop that many elements from the beginning of each dimension of `𝕩`.
+
+Negative numbers drop from the end.
+```
+ 3 ↓ 1‿3‿5‿67
+⟨ 67 ⟩
+ a ← 4‿4 ⥊ ↕16
+┌─
+╵ 0 1 2 3
+ 4 5 6 7
+ 8 9 10 11
+ 12 13 14 15
+ ┘
+ 3‿3 ↓ a
+┌─
+╵ 15
+ ┘
+ 5‿5 ↓ a
+┌┐
+└┘
+ 3‿¯3 ↓ a
+┌─
+╵ 12
+ ┘
+``` \ No newline at end of file
diff --git a/help/↕range windows.md b/help/↕range windows.md
new file mode 100644
index 00000000..3cb886e5
--- /dev/null
+++ b/help/↕range windows.md
@@ -0,0 +1,51 @@
+Up Down Arrow (`↕`)
+
+`↕ 𝕩`: Range
+
+Return all indices to index into an array of shape `𝕩`, in the shape described by `𝕩`.
+
+When given a single number, range from 0 to `𝕩-1`.
+```
+ ↕ 4
+⟨ 0 1 2 3 ⟩
+ ↕ 4‿5
+┌─
+╵ ⟨ 0 0 ⟩ ⟨ 0 1 ⟩ ⟨ 0 2 ⟩ ⟨ 0 3 ⟩ ⟨ 0 4 ⟩
+ ⟨ 1 0 ⟩ ⟨ 1 1 ⟩ ⟨ 1 2 ⟩ ⟨ 1 3 ⟩ ⟨ 1 4 ⟩
+ ⟨ 2 0 ⟩ ⟨ 2 1 ⟩ ⟨ 2 2 ⟩ ⟨ 2 3 ⟩ ⟨ 2 4 ⟩
+ ⟨ 3 0 ⟩ ⟨ 3 1 ⟩ ⟨ 3 2 ⟩ ⟨ 3 3 ⟩ ⟨ 3 4 ⟩
+ ┘
+```
+
+`𝕨 ↕ 𝕩`: Windows
+
+Overlapping slices of `𝕩` which are of shape `𝕨`.
+```
+ 5 ↕ "abcdefg"
+┌─
+╵"abcde
+ bcdef
+ cdefg"
+ ┘
+ a ← 3‿3⥊↕9
+┌─
+╵ 0 1 2
+ 3 4 5
+ 6 7 8
+ ┘
+ 2‿2 ↕ a
+┌─
+┆ 0 1
+ 3 4
+
+ 1 2
+ 4 5
+
+
+ 3 4
+ 6 7
+
+ 4 5
+ 7 8
+ ┘
+``` \ No newline at end of file
diff --git a/help/∊markfirst memberof.md b/help/∊markfirst memberof.md
new file mode 100644
index 00000000..05e7ce28
--- /dev/null
+++ b/help/∊markfirst memberof.md
@@ -0,0 +1,37 @@
+Element Of (`∊`)
+
+`∊ 𝕩`: Unique Mask
+
+Mark the first occurrence of each major cell in `𝕩` with a 1, and all other occurrences with a 0.
+```
+ ∊ 4‿5‿6‿6‿4‿7‿5
+⟨ 1 1 1 0 0 1 0 ⟩
+ a ← 3‿3 ⥊ ↕9
+┌─
+╵ 0 1 2
+ 3 4 5
+ 6 7 8
+ ┘
+ ∊ a
+⟨ 1 1 1 ⟩
+```
+
+`𝕨 ∊ 𝕩`: Member Of
+
+Is each element in `𝕨` a major cell of `𝕩`?
+```
+ ⟨1⟩ ∊ ↕9
+⟨ 1 ⟩
+ a ← 3‿3 ⥊ ↕9
+┌─
+╵ 0 1 2
+ 3 4 5
+ 6 7 8
+ ┘
+ ⟨0‿1‿2⟩ ∊ a
+┌·
+· 0
+ ┘
+ ⟨1‿3 ⥊ 0‿1‿2⟩ ∊ a
+⟨ 1 ⟩
+``` \ No newline at end of file
diff --git a/help/∘atop.md b/help/∘atop.md
new file mode 100644
index 00000000..b1bcd796
--- /dev/null
+++ b/help/∘atop.md
@@ -0,0 +1,27 @@
+Ring Operator (`∘`)
+
+`𝔽∘𝔾 𝕩`: Atop
+
+Apply `𝔾` to `𝕩`, then apply `𝔽` (`𝔽 𝔾 𝕩`).
+
+`𝔽` and `𝔾` must be monadic.
+```
+ -∘- 5
+5
+ - - 5
+5
+```
+
+`𝕨 𝔽∘𝔾 𝕩`: Dyadic Atop
+
+Apply `𝔾` to `𝕨` and `𝕩`, then apply `𝔽` (`𝔽 (𝕨 𝔾 𝕩)`).
+
+`𝔽` must be monadic, and `𝔾` must be dyadic.
+```
+ 1 -∘+ 2
+¯3
+ 1 - + 2
+¯1
+ - 1 + 2
+¯3
+``` \ No newline at end of file
diff --git a/help/√squareroot root.md b/help/√squareroot root.md
new file mode 100644
index 00000000..8e14ff8f
--- /dev/null
+++ b/help/√squareroot root.md
@@ -0,0 +1,21 @@
+Root (`√`)
+
+`√ 𝕩`: Square root
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ √ 2
+1.4142135623730951
+```
+
+`𝕨 √ 𝕩`: Root
+
+`𝕨`th root of `𝕩`.
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ 2 √ 2
+1.4142135623730951
+ 1‿2‿3‿4 √ 4
+⟨ 4 2 1.5874010519681994 1.414213562373095 ⟩
+``` \ No newline at end of file
diff --git a/help/∧sortup and.md b/help/∧sortup and.md
new file mode 100644
index 00000000..dd53aee3
--- /dev/null
+++ b/help/∧sortup and.md
@@ -0,0 +1,21 @@
+Logical And (`∧`)
+
+`∧ 𝕩`: Sort Up
+
+Sort array `𝕩` in ascending order.
+```
+ ∧ 3‿1‿4‿1‿5
+⟨ 1 1 3 4 5 ⟩
+```
+
+`𝕨 ∧ 𝕩`: Logical And
+
+Logical And of `𝕨` and `𝕩`.
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ 1 ∧ 1
+1
+ 1‿0 ∧ 1‿1
+⟨ 1 0 ⟩
+``` \ No newline at end of file
diff --git a/help/∨sortdown or.md b/help/∨sortdown or.md
new file mode 100644
index 00000000..6e8d27b7
--- /dev/null
+++ b/help/∨sortdown or.md
@@ -0,0 +1,23 @@
+Logical Or (`∨`)
+
+`∨ 𝕩`: Sort Down
+
+Sort array `𝕩` in descending order.
+```
+ ∨ 3‿1‿4‿1‿5
+⟨ 5 4 3 1 1 ⟩
+```
+
+`𝕨 ∨ 𝕩`: Logical Or
+
+Logical Or of `𝕨` and `𝕩`.
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ 1 ∨ 0
+1
+ 1‿0 ∨ 1‿1
+⟨ 1 1 ⟩
+ 0 ∨ 0
+0
+``` \ No newline at end of file
diff --git a/help/∾join jointo.md b/help/∾join jointo.md
new file mode 100644
index 00000000..028ea885
--- /dev/null
+++ b/help/∾join jointo.md
@@ -0,0 +1,60 @@
+Lazy S (`∾`)
+
+`∾ 𝕩`: Join
+
+Join all elements of `𝕩` together.
+
+Element ranks must be compatible.
+```
+ ∾ ⟨1‿2, 3, 4‿5⟩
+⟨ 1 2 3 4 5 ⟩
+ m ← (3‿1≍⌜4‿2‿5) ⥊¨ 2‿3⥊↕6
+┌─
+╵ ┌─ ┌─ ┌─
+ ╵ 0 0 0 0 ╵ 1 1 ╵ 2 2 2 2 2
+ 0 0 0 0 1 1 2 2 2 2 2
+ 0 0 0 0 1 1 2 2 2 2 2
+ ┘ ┘ ┘
+ ┌─ ┌─ ┌─
+ ╵ 3 3 3 3 ╵ 4 4 ╵ 5 5 5 5 5
+ ┘ ┘ ┘
+ ┘
+ ∾ m
+┌─
+╵ 0 0 0 0 1 1 2 2 2 2 2
+ 0 0 0 0 1 1 2 2 2 2 2
+ 0 0 0 0 1 1 2 2 2 2 2
+ 3 3 3 3 4 4 5 5 5 5 5
+ ┘
+```
+
+`𝕨 ∾ 𝕩`: Join
+
+Join `𝕨` to `𝕩` along the first axis.
+```
+ "abcd" ∾ "EFG"
+"abcdEFG"
+ a ← 3‿3 ⥊ ↕9
+┌─
+╵ 0 1 2
+ 3 4 5
+ 6 7 8
+ ┘
+ c ← 4‿3 ⥊ ↕12
+┌─
+╵ 0 1 2
+ 3 4 5
+ 6 7 8
+ 9 10 11
+ ┘
+ a∾c
+┌─
+╵ 0 1 2
+ 3 4 5
+ 6 7 8
+ 0 1 2
+ 3 4 5
+ 6 7 8
+ 9 10 11
+ ┘
+``` \ No newline at end of file
diff --git a/help/≍solo couple.md b/help/≍solo couple.md
new file mode 100644
index 00000000..9ce6366a
--- /dev/null
+++ b/help/≍solo couple.md
@@ -0,0 +1,42 @@
+Tape (`≍`)
+
+`≍ 𝕩`: Solo
+
+Add a dimension to `𝕩`.
+```
+ ≍ 1
+⟨ 1 ⟩
+
+ ≍≍ 1
+┌─
+╵ 1
+ ┘
+
+ ≍≍≍ 1
+┌─
+╎ 1
+ ┘
+
+ ≍≍ 1‿2‿3‿4
+┌─
+╵ 1 2 3 4
+ ┘
+
+ ≍≍≍ 1‿2‿3‿4
+┌─
+╎ 1 2 3 4
+ ┘
+```
+
+`𝕨 ≍ 𝕩`: Couple
+
+Join `𝕨` and `𝕩` along a newly created axis.
+```
+ 1 ≍ 3
+⟨ 1 3 ⟩
+ 1‿2 ≍ 2‿3
+┌─
+╵ 1 2
+ 2 3
+ ┘
+``` \ No newline at end of file
diff --git a/help/≠length notequal.md b/help/≠length notequal.md
new file mode 100644
index 00000000..770530e6
--- /dev/null
+++ b/help/≠length notequal.md
@@ -0,0 +1,30 @@
+Not Equal (`≠`)
+
+`≠ 𝕩`: Length
+
+Length of the first dimension of `𝕩`.
+
+```
+ ≠ 3
+1
+ ≠ ⟨1, 2, 3⟩
+3
+ ≠ 3‿4‿5⥊0
+3
+ ≠ 1‿4‿5⥊0
+1
+ ≠ 4‿4‿5⥊0
+4
+```
+
+`𝕨 ≠ 𝕩`: Not Equal To
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ 1 ≠ 3
+1
+ 2‿3‿0 ≠ 3‿1‿0
+⟨ 1 1 0 ⟩
+ 'a' ≠ 'a'
+0
+``` \ No newline at end of file
diff --git a/help/≡depth match.md b/help/≡depth match.md
new file mode 100644
index 00000000..0575adef
--- /dev/null
+++ b/help/≡depth match.md
@@ -0,0 +1,23 @@
+Identical To (`≡`)
+
+`≡ 𝕩`: Depth
+
+Highest level of nesting in `𝕩`.
+```
+ ≡ 2‿3‿4
+1
+ ≡ ⟨2,<3,4,<<<5⟩
+4
+ ≡ 9
+0
+```
+
+`𝕨 ≡ 𝕩`: Match
+
+Does `𝕨` exactly match `𝕩`?
+```
+ 1 ≡ ⟨1⟩
+0
+ ⟨1⟩ ≡ ⟨1⟩
+1
+``` \ No newline at end of file
diff --git a/help/≢shape notmatch.md b/help/≢shape notmatch.md
new file mode 100644
index 00000000..50e18f9e
--- /dev/null
+++ b/help/≢shape notmatch.md
@@ -0,0 +1,23 @@
+Not Identical To (`≢`)
+
+`≢ 𝕩`: Shape
+
+Length of each dimension of x.
+```
+ ≢ 1
+⟨⟩
+ ≢ 1‿2
+⟨ 2 ⟩
+ ≢ 1‿2 ≍ 3‿4
+⟨ 2 2 ⟩
+```
+
+`𝕨 ≢ 𝕩`: Not Match
+
+Does `𝕨` not exactly match `𝕩`?
+```
+ 1 ≢ ⟨1⟩
+1
+ ⟨1⟩ ≢ ⟨1⟩
+0
+``` \ No newline at end of file
diff --git a/help/≤lessequal.md b/help/≤lessequal.md
new file mode 100644
index 00000000..8005681b
--- /dev/null
+++ b/help/≤lessequal.md
@@ -0,0 +1,13 @@
+Lesser Than or Equal To (`≤`)
+
+`𝕨 ≤ 𝕩`: Lesser Than or Equal To
+
+`𝕨` and `𝕩` can both be either numbers or characters.
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ 1 ≤ 3
+1
+ 2‿3‿0 ≤ 3‿1‿0
+⟨ 1 0 1 ⟩
+``` \ No newline at end of file
diff --git a/help/≥greatequal.md b/help/≥greatequal.md
new file mode 100644
index 00000000..3b4e9cf9
--- /dev/null
+++ b/help/≥greatequal.md
@@ -0,0 +1,13 @@
+Greater Than or Equal To (`≥`)
+
+`𝕨 ≥ 𝕩`: Greater Than or Equal To
+
+`𝕨` and `𝕩` can both be either numbers or characters.
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ 1 ≥ 3
+0
+ 2‿3‿0 ≥ 3‿1‿0
+⟨ 0 1 1 ⟩
+``` \ No newline at end of file
diff --git a/help/⊏firstcell select.md b/help/⊏firstcell select.md
new file mode 100644
index 00000000..33d0d2f6
--- /dev/null
+++ b/help/⊏firstcell select.md
@@ -0,0 +1,38 @@
+Square Image Of (`⊏`)
+
+`⊏ 𝕩`: First Cell
+
+First major cell of `𝕩`.
+```
+ ⊏ ⟨1, 2, 3⟩
+┌·
+· 1
+ ┘
+ a ← 3‿3 ⥊ ↕9
+┌─
+╵ 0 1 2
+ 3 4 5
+ 6 7 8
+ ┘
+ ⊏ a
+⟨ 0 1 2 ⟩
+```
+
+`𝕨 ⊏ 𝕩`: Select
+
+Select the major cells of `𝕨` at the indices in `𝕩`.
+```
+ 2‿0 ⊏ ⟨1, 2, 3⟩
+⟨ 3 1 ⟩
+ a ← 3‿3 ⥊ ↕9
+┌─
+╵ 0 1 2
+ 3 4 5
+ 6 7 8
+ ┘
+ 2‿0 ⊏ a
+┌─
+╵ 6 7 8
+ 0 1 2
+ ┘
+``` \ No newline at end of file
diff --git a/help/⊐classify indexof.md b/help/⊐classify indexof.md
new file mode 100644
index 00000000..b4605a59
--- /dev/null
+++ b/help/⊐classify indexof.md
@@ -0,0 +1,37 @@
+Square Original Of (`⊐`)
+
+`⊐ 𝕩`: Classify
+
+First index of each major cell of `𝕩` in `𝕩`.
+```
+ ⊐ 5‿6‿2‿2‿5‿1
+⟨ 0 1 2 2 0 3 ⟩
+ a ← 3‿3 ⥊ 0‿1‿2‿9‿0‿9‿0‿1‿2
+┌─
+╵ 0 1 2
+ 9 0 9
+ 0 1 2
+ ┘
+ ⊐ a
+⟨ 0 1 0 ⟩
+```
+
+`𝕨 ⊐ 𝕩`: Index Of
+
+First index of each major cell of `𝕩` in `𝕨`. Rank of `𝕩` must be at least cell rank of 𝕨`.
+
+If a cell is not found in `𝕨`, that position will contain the length of `𝕨` (`≠𝕨`).
+```
+ 5‿6‿2‿2‿5‿1 ⊐ 5‿2‿1‿6
+⟨ 0 2 5 1 ⟩
+ a ← 3‿3 ⥊ 0‿1‿2‿9‿0‿9‿0‿1‿2
+┌─
+╵ 0 1 2
+ 9 0 9
+ 0 1 2
+ ┘
+ a ⊐ ⟨9‿0‿9⟩
+┌·
+· 3
+ ┘
+``` \ No newline at end of file
diff --git a/help/⊑first pick.md b/help/⊑first pick.md
new file mode 100644
index 00000000..0a4232fa
--- /dev/null
+++ b/help/⊑first pick.md
@@ -0,0 +1,33 @@
+Square Image Of Or Equal To (`⊑`)
+
+`⊑ 𝕩`: First
+
+First element of `𝕩`.
+```
+ ⊑ ⟨1, 2, 3⟩
+1
+ a ← 3‿3 ⥊ ↕9
+┌─
+╵ 0 1 2
+ 3 4 5
+ 6 7 8
+ ┘
+ ⊑ a
+0
+```
+
+`𝕨 ⊑ 𝕩`: Pick
+
+Pick the element of `𝕨` at index `𝕩`.
+```
+ 2 ⊑ ⟨1, 2, 3⟩
+3
+ a ← 3‿3 ⥊ ↕9
+┌─
+╵ 0 1 2
+ 3 4 5
+ 6 7 8
+ ┘
+ 2‿0 ⊑ a
+6
+``` \ No newline at end of file
diff --git a/help/⊒occcount progindex.md b/help/⊒occcount progindex.md
new file mode 100644
index 00000000..277fd6ac
--- /dev/null
+++ b/help/⊒occcount progindex.md
@@ -0,0 +1,24 @@
+Square Original Of or Equal To (`⊒`)
+
+`⊒ 𝕩`: Occurrence Count
+
+Number of times each major cell of `𝕩` appears before itself.
+```
+ ⊒ 2‿7‿1‿8‿1‿7‿1‿8‿2‿8‿4
+⟨ 0 0 0 0 1 1 2 1 1 2 0 ⟩
+ ≍⟜⊒ 2‿7‿1‿8‿1‿7‿1‿8‿2‿8‿4
+┌─
+╵ 2 7 1 8 1 7 1 8 2 8 4
+ 0 0 0 0 1 1 2 1 1 2 0
+ ┘
+```
+
+`𝕨 ⊒ 𝕩`: Progressive Index Of
+
+Index of the first unused match of each major cell of `𝕩` in `𝕨`. If there are no more matches left, length of `𝕨` is placed in that position.
+```
+ "aaa" ⊒ "aaaaa"
+⟨ 0 1 2 3 3 ⟩
+ "aaabb" ⊒ "ababababab"
+⟨ 0 3 1 4 2 5 5 5 5 5 ⟩
+``` \ No newline at end of file
diff --git a/help/⊔groupindices group.md b/help/⊔groupindices group.md
new file mode 100644
index 00000000..172fe0f5
--- /dev/null
+++ b/help/⊔groupindices group.md
@@ -0,0 +1,32 @@
+Square Cup (`⊔`)
+
+`⊔ 𝕩`: Group Indices
+
+Group the indices of the major cells of `𝕩` by their respective values.
+
+`𝕩` must consist of integers. Groups start from 0.
+```
+ ⊔ 4‿5‿6‿6‿4‿7‿5
+⟨ ⟨⟩ ⟨⟩ ⟨⟩ ⟨⟩ ⟨ 0 4 ⟩ ⟨ 1 6 ⟩ ⟨ 2 3 ⟩ ⟨ 5 ⟩ ⟩
+ (↕8) ≍ ⊔ 4‿5‿6‿6‿4‿7‿5
+┌─
+╵ 0 1 2 3 4 5 6 7
+ ⟨⟩ ⟨⟩ ⟨⟩ ⟨⟩ ⟨ 0 4 ⟩ ⟨ 1 6 ⟩ ⟨ 2 3 ⟩ ⟨ 5 ⟩
+ ┘
+```
+
+`𝕨 ⊔ 𝕩`: Group
+
+Group the major cells of `𝕩` by their respective indices in `𝕨`.
+
+If an element corresponds to `¯1`, it is excluded from grouping.
+
+An extra element can be added to the end of `𝕨` to specify length of the result.
+```
+ 1‿0‿1‿2‿2‿3‿3 ⊔ 4‿5‿6‿6‿4‿7‿5
+⟨ ⟨ 5 ⟩ ⟨ 4 6 ⟩ ⟨ 6 4 ⟩ ⟨ 7 5 ⟩ ⟩
+ 1‿0‿1‿¯1‿¯1‿3‿3 ⊔ 4‿5‿6‿6‿4‿7‿5
+⟨ ⟨ 5 ⟩ ⟨ 4 6 ⟩ ⟨⟩ ⟨ 7 5 ⟩ ⟩
+ 1‿0‿1‿¯1‿¯1‿3‿3‿10 ⊔ 4‿5‿6‿6‿4‿7‿5
+⟨ ⟨ 5 ⟩ ⟨ 4 6 ⟩ ⟨⟩ ⟨ 7 5 ⟩ ⟨⟩ ⟨⟩ ⟨⟩ ⟨⟩ ⟨⟩ ⟨⟩ ⟩
+``` \ No newline at end of file
diff --git a/help/⊘valences.md b/help/⊘valences.md
new file mode 100644
index 00000000..3caca9a6
--- /dev/null
+++ b/help/⊘valences.md
@@ -0,0 +1,21 @@
+Circled Division Slash (`⊘`)
+
+`𝔽⊘𝔾 𝕩`: Valences
+
+Apply `𝔽` to `𝕩`.
+```
+ +⊘- 5
+5
+ -⊘+ 5
+¯5
+```
+
+`𝕨 𝔽⊘𝔾 𝕩`: Valences
+
+Apply `𝔾` to `𝕨` and `𝕩`.
+```
+ 4 +⊘- 5
+¯1
+ 4 -⊘+ 5
+9
+``` \ No newline at end of file
diff --git a/help/⊢identity right.md b/help/⊢identity right.md
new file mode 100644
index 00000000..4870b9eb
--- /dev/null
+++ b/help/⊢identity right.md
@@ -0,0 +1,19 @@
+Right Tack (`⊢`)
+
+`⊢ 𝕩`:
+
+Return `𝕩`.
+```
+ ⊢ 5
+5
+```
+
+`𝕨 ⊢ 𝕩`: Right
+
+Return `𝕩`.
+```
+ 5 ⊢ 8
+8
+ 'a' ⊢ 1‿2‿3
+⟨ 1 2 3 ⟩
+``` \ No newline at end of file
diff --git a/help/⊣identity left.md b/help/⊣identity left.md
new file mode 100644
index 00000000..614c4f2a
--- /dev/null
+++ b/help/⊣identity left.md
@@ -0,0 +1,19 @@
+Left Tack (`⊣`)
+
+`⊣ 𝕩`:
+
+Return `𝕩`.
+```
+ ⊣ 5
+5
+```
+
+`𝕨 ⊣ 𝕩`: Left
+
+Return `𝕨`.
+```
+ 5 ⊣ 8
+5
+ 'a' ⊣ 1‿2‿3
+'a'
+``` \ No newline at end of file
diff --git a/help/⊸before bindleft.md b/help/⊸before bindleft.md
new file mode 100644
index 00000000..461c0167
--- /dev/null
+++ b/help/⊸before bindleft.md
@@ -0,0 +1,41 @@
+Multimap (`⊸`)
+
+`𝕗⊸𝔾 𝕩`: Bind Left
+
+Supply `𝕗` as a left argument to `𝔾` (`𝕗 𝔾 𝕩`).
+
+`𝕗` must be a value, `𝔾` must be dyadic.
+```
+ 3⊸- 9
+¯6
+ 3 - 9
+¯6
+```
+
+`𝔽⊸𝔾 𝕩`: Before
+
+Apply `𝔽` to `𝕩`, and supply it as a left argument to `𝔾` (`(𝔽 𝕩) 𝔾 𝕩`).
+
+`𝔽` must be monadic, `𝔾` must be dyadic.
+```
+ -⊸+ 9
+0
+ - + 9
+¯9
+ (- 9) + 9
+0
+```
+
+`𝕨 𝔽⊸𝔾 𝕩`: Dyadic Before
+
+Apply `𝔽` to `𝕨`, and supply it as a left argument to `𝔾` (`(𝔽 𝕨) 𝔾 𝕩`).
+
+`𝔽` must be monadic, `𝔾` must be dyadic.
+```
+ 2 -⊸+ 1
+¯1
+ 2 - + 1
+1
+ (- 2) + 1
+¯1
+``` \ No newline at end of file
diff --git a/help/⋆exponential power.md b/help/⋆exponential power.md
new file mode 100644
index 00000000..9420bcbf
--- /dev/null
+++ b/help/⋆exponential power.md
@@ -0,0 +1,25 @@
+Star (`⋆`)
+
+`⋆ 𝕩`: Exponential
+
+`e` (Euler's constant) to the power of `𝕩`.
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ ⋆ 0‿1‿2‿3
+⟨ 1 2.718281828459045 7.38905609893065 20.085536923187668 ⟩
+```
+
+`𝕨 ⋆ 𝕩`: Power
+
+`𝕨` to the power of `𝕩`.
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ 2 ⋆ 5
+32
+ 8‿5‿9 ⋆ 2
+⟨ 64 25 81 ⟩
+ 2‿3 ⋆ 3‿¯4
+⟨ 8 0.012345679012345678 ⟩
+``` \ No newline at end of file
diff --git a/help/⋈enlist pair.md b/help/⋈enlist pair.md
new file mode 100644
index 00000000..98407d47
--- /dev/null
+++ b/help/⋈enlist pair.md
@@ -0,0 +1,36 @@
+Bow Tie (`⋈`)
+
+`⋈ 𝕩`: Enlist
+
+Put `𝕩` in a single element list. (`⟨𝕩⟩`)
+```
+ ⋈ 1
+⟨ 1 ⟩
+ ⋈ 4‿4 ⥊ 3‿67‿8‿0
+┌─
+· ┌─
+ ╵ 3 67 8 0
+ 3 67 8 0
+ 3 67 8 0
+ 3 67 8 0
+ ┘
+ ┘
+```
+
+`𝕨 ⋈ 𝕩`: Pair
+
+Put `𝕨` and `𝕩` in a two element list. (`⟨𝕨, 𝕩⟩`)
+```
+ 1 ⋈ 2
+⟨ 1 2 ⟩
+ 1 ⋈ "dsdasdas"
+⟨ 1 "dsdasdas" ⟩
+ (3‿3 ⥊ 3) ⋈ 67‿'a'‿"example"
+┌─
+· ┌─ ⟨ 67 'a' "example" ⟩
+ ╵ 3 3 3
+ 3 3 3
+ 3 3 3
+ ┘
+ ┘
+``` \ No newline at end of file
diff --git a/help/⌈ceiling maximum.md b/help/⌈ceiling maximum.md
new file mode 100644
index 00000000..3b956e9d
--- /dev/null
+++ b/help/⌈ceiling maximum.md
@@ -0,0 +1,23 @@
+Left Ceiling (`⌈`)
+
+`⌈ 𝕩`: Ceiling
+
+Round `𝕩` up.
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ ⌈ 1.2‿π‿3‿7.89
+⟨ 2 4 3 8 ⟩
+```
+
+`𝕨 ⌈ 𝕩`: Maximum
+
+Maximum of `𝕨` and `𝕩`.
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ 1 ⌈ 2
+2
+ 2‿3 ⌈ 4‿2
+⟨ 4 3 ⟩
+``` \ No newline at end of file
diff --git a/help/⌊floor minimum.md b/help/⌊floor minimum.md
new file mode 100644
index 00000000..a08d2da4
--- /dev/null
+++ b/help/⌊floor minimum.md
@@ -0,0 +1,23 @@
+Left Floor (`⌊`)
+
+`⌊ 𝕩`: Floor
+
+Round `𝕩` down.
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ ⌊ 1.2‿π‿3‿7.89
+⟨ 1 3 3 7 ⟩
+```
+
+`𝕨 ⌊ 𝕩`: Minimum
+
+Minimum of `𝕨` and `𝕩`.
+
+[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ 1 ⌊ 2
+1
+ 2‿3 ⌊ 4‿2
+⟨ 2 2 ⟩
+``` \ No newline at end of file
diff --git a/help/⌜table.md b/help/⌜table.md
new file mode 100644
index 00000000..65ebe6c8
--- /dev/null
+++ b/help/⌜table.md
@@ -0,0 +1,20 @@
+Top Left Corner (`⌜`)
+
+`𝕨 𝔽⌜ 𝕩`: Each
+
+Apply `𝔽` between every possible pair of the elements of the arguments.
+```
+ 1‿2‿3‿4 +⌜ 4‿5‿6‿7
+┌─
+╵ 5 6 7 8
+ 6 7 8 9
+ 7 8 9 10
+ 8 9 10 11
+ ┘
+ "abc" ∾⌜ "xyz"
+┌─
+╵ "ax" "ay" "az"
+ "bx" "by" "bz"
+ "cx" "cy" "cz"
+ ┘
+``` \ No newline at end of file
diff --git a/help/⌽reverse rotate.md b/help/⌽reverse rotate.md
new file mode 100644
index 00000000..f8ed52d0
--- /dev/null
+++ b/help/⌽reverse rotate.md
@@ -0,0 +1,41 @@
+Circle Stile (`⌽`)
+
+`⌽ 𝕩`: Reverse
+
+Reverse the first axis of `𝕩`.
+```
+ ⌽ 1‿2‿3
+⟨ 3 2 1 ⟩
+ a ← 3‿3 ⥊ ↕9
+┌─
+╵ 0 1 2
+ 3 4 5
+ 6 7 8
+ ┘
+ ⌽ a
+┌─
+╵ 6 7 8
+ 3 4 5
+ 0 1 2
+ ┘
+```
+
+`𝕨 ⌽ 𝕩`: Dyad
+
+Move the first `𝕨` elements of `𝕩` to its end. Negative `𝕨` reverses the direction of rotation.
+```
+ 2 ⌽ 1‿2‿3
+⟨ 3 1 2 ⟩
+ a ← 3‿3 ⥊ ↕9
+┌─
+╵ 0 1 2
+ 3 4 5
+ 6 7 8
+ ┘
+ 2 ⌽ a
+┌─
+╵ 6 7 8
+ 0 1 2
+ 3 4 5
+ ┘
+``` \ No newline at end of file
diff --git a/help/⌾under.md b/help/⌾under.md
new file mode 100644
index 00000000..c7678087
--- /dev/null
+++ b/help/⌾under.md
@@ -0,0 +1,20 @@
+Circle Jot (`⌾`)
+
+`𝔽⌾𝔾 𝕩`, `𝕨 𝔽⌾𝔾 𝕩`: Under
+
+- Apply transformation `𝔾` to all arguments
+- Apply `𝔽` to the transformed arguments
+- Undo transformation `𝔾`
+
+Where `𝔾` must be
+
+1. A function invertible by `⁼` (Undo)
+2. A structural modification
+```
+ 9⌾(1⊸⊑) 1‿2‿3
+⟨ 1 9 3 ⟩
+ √⁼ (√1) + (√9)
+16
+ 1 +⌾√ 9
+16
+``` \ No newline at end of file
diff --git a/help/⍉transpose dyadtranspose.md b/help/⍉transpose dyadtranspose.md
new file mode 100644
index 00000000..da7f058f
--- /dev/null
+++ b/help/⍉transpose dyadtranspose.md
@@ -0,0 +1,36 @@
+Circle Backslash (`⍉`)
+
+`⍉ 𝕩`: Transpose
+
+Move the first axis of `𝕩` to the end.
+```
+ a ← 3‿3 ⥊ ↕9
+┌─
+╵ 0 1 2
+ 3 4 5
+ 6 7 8
+ ┘
+ ⍉ a
+┌─
+╵ 0 3 6
+ 1 4 7
+ 2 5 8
+ ┘
+ b ← 1‿2‿3 ⥊ ↕6
+┌─
+╎ 0 1 2
+ 3 4 5
+ ┘
+ ≢⍉ b
+⟨ 2 3 1 ⟩
+```
+
+`𝕨 ⍉ 𝕩`: Dyad
+
+Rearrange the axes of `𝕩` as per the axis indices in `𝕨`.
+```
+ ≢ a ← 2‿3‿4‿5‿6 ⥊1
+⟨ 2 3 4 5 6 ⟩
+ ≢ 1‿3‿2‿0‿4 ⍉ a
+⟨ 5 2 4 3 6 ⟩
+``` \ No newline at end of file
diff --git a/help/⍋gradeup binsup.md b/help/⍋gradeup binsup.md
new file mode 100644
index 00000000..1aee7730
--- /dev/null
+++ b/help/⍋gradeup binsup.md
@@ -0,0 +1,28 @@
+Delta Stile (`⍋`)
+
+`⍋ 𝕩`: Grade Up
+
+Indices of `𝕩` that would sort its major cells in ascending order.
+```
+ a ← 3‿2‿1
+⟨ 3 2 1 ⟩
+ ⍋ a
+⟨ 2 1 0 ⟩
+ (⍋a) ⊏ a
+⟨ 1 2 3 ⟩
+
+```
+
+`𝕨 ⍋ 𝕩`: Bins Up
+
+Binary search for each element of `𝕩` in `𝕨`, and return the index found, if any.
+
+`𝕨` must be sorted in ascending order.
+```
+ 3‿4‿5‿7 ⍋ 2
+┌·
+· 0
+ ┘
+ 3‿4‿5‿7 ⍋ 2‿6
+⟨ 0 3 ⟩
+``` \ No newline at end of file
diff --git a/help/⍒gradedown binsdown.md b/help/⍒gradedown binsdown.md
new file mode 100644
index 00000000..ed03f6f4
--- /dev/null
+++ b/help/⍒gradedown binsdown.md
@@ -0,0 +1,29 @@
+Del Stile (`⍒`)
+
+`⍒ 𝕩`: Grade Down
+
+Indices of `𝕩` that would sort its major cells in descending order.
+```
+ a ← 1‿2‿3
+⟨ 1 2 3 ⟩
+ ⍒ a
+⟨ 2 1 0 ⟩
+ (⍒a) ⊏ a
+⟨ 3 2 1 ⟩
+```
+
+`𝕨 ⍒ 𝕩`: Bins Down
+
+Binary search for each element of `𝕩` in `𝕨`, and return the index found, if any.
+
+`𝕨` must be sorted in descending order.
+
+[Right Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion)
+```
+ 7‿5‿4‿3 ⍒ 2
+┌·
+· 4
+ ┘
+ 7‿5‿4‿3 ⍒ 2‿6
+⟨ 4 1 ⟩
+``` \ No newline at end of file
diff --git a/help/⍟repeat.md b/help/⍟repeat.md
new file mode 100644
index 00000000..922e57a2
--- /dev/null
+++ b/help/⍟repeat.md
@@ -0,0 +1,15 @@
+Circle Star (`⍟`)
+
+`𝔽⍟𝔾 𝕩`, `𝕨 𝔽⍟𝔾 𝕩`: Repeat
+
+Apply `𝔾` to `𝕨` and `𝕩` and apply `𝔽` to `𝕩` that may times. If `𝕨` is given, keep it as a constant left argument.
+
+If `𝔾` returns an array, give `𝔽⍟𝕩` for each element.
+```
+ 1 +⍟⊢ 4
+8
+ 1 +⍟1‿2‿3 4
+⟨ 5 6 7 ⟩
+ 3 ∾⍟{≠𝕩} ⟨4,5,6⟩
+⟨ 3 3 3 4 5 6 ⟩
+``` \ No newline at end of file
diff --git a/help/⍷deduplicate find.md b/help/⍷deduplicate find.md
new file mode 100644
index 00000000..ae314268
--- /dev/null
+++ b/help/⍷deduplicate find.md
@@ -0,0 +1,56 @@
+Epsilon Underbar (`⍷`)
+
+`⍷ 𝕩`: Deduplicate
+
+Unique major cells of `𝕩`.
+```
+ ⍷ 4‿5‿6‿6‿4‿7‿5
+⟨ 4 5 6 7 ⟩
+ a ← 3‿3 ⥊ ↕6
+┌─
+╵ 0 1 2
+ 3 4 5
+ 0 1 2
+ ┘
+ ⍷ a
+┌─
+╵ 0 1 2
+ 3 4 5
+ ┘
+```
+
+`𝕨 ⍷ 𝕩`: Find
+
+Mark the top left location of the occurrences of `𝕨` in `𝕩` with a 1, and other locations with 0.
+
+Result is the same shape as `(≢𝕨)↕x`.
+```
+ "string" ⍷ "substring"
+⟨ 0 0 0 1 ⟩
+ "loooooong" ⍷ "short"
+⟨⟩
+ a ← 7 (4|⋆˜)⌜○↕ 9
+┌─
+╵ 1 1 1 1 1 1 1 1 1
+ 0 1 2 3 0 1 2 3 0
+ 0 1 0 1 0 1 0 1 0
+ 0 1 0 3 0 1 0 3 0
+ 0 1 0 1 0 1 0 1 0
+ 0 1 0 3 0 1 0 3 0
+ 0 1 0 1 0 1 0 1 0
+ ┘
+ b ← (0‿3‿0≍0‿1‿0)
+┌─
+╵ 0 3 0
+ 0 1 0
+ ┘
+ b ⍷ a
+┌─
+╵ 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0
+ 0 0 1 0 0 0 1
+ 0 0 0 0 0 0 0
+ 0 0 1 0 0 0 1
+ ┘
+``` \ No newline at end of file
diff --git a/help/⎉rank.md b/help/⎉rank.md
new file mode 100644
index 00000000..645b0aaf
--- /dev/null
+++ b/help/⎉rank.md
@@ -0,0 +1,36 @@
+Circled Horizontal Bar With Notch (`⎉`)
+
+`𝔽⎉𝕘 𝕩`, `𝕨 𝔽⎉𝕘 𝕩`: Rank
+
+Apply `𝔽` to cells at ranks given in `𝕘`.
+
+The ranks applied are given by the following:
+
+- `⎉ c` Rank-c cells of `𝕩` (monadic) or both arguments (dyadic)
+- `⎉ b‿c` ⍝ Rank-b cells of `𝕨` and rank-c cells of `𝕩` (dyadic)
+- `⎉ a‿b‿c` ⍝ Rank-a cells of `𝕩` (monadic), b-cells of `𝕨` and c-cells of `𝕩` (dyadic)
+
+```
+ a ← 3‿2‿4⥊"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+┌─
+╎"ABCD
+ EFGH
+
+ ·IJKL
+ MNOP
+
+ ·QRST
+ UVWX"
+ ┘
+ ⌽⎉2 a
+┌─
+╎"EFGH
+ ABCD
+
+ ·MNOP
+ IJKL
+
+ ·UVWX
+ QRST"
+ ┘
+``` \ No newline at end of file
diff --git a/help/⎊catch.md b/help/⎊catch.md
new file mode 100644
index 00000000..8f7c680f
--- /dev/null
+++ b/help/⎊catch.md
@@ -0,0 +1,15 @@
+Circled Triangle Down (`⎊`)
+
+`𝔽⎊𝔾 𝕩`, `𝕨 𝔽⎊𝔾 𝕩`: Catch
+
+Apply `𝔽` to the arguments.
+
+If an error happens when `𝔽` is applied, cancel its execution, apply `𝔾` to the arguments and return the results.
+
+Otherwise, return the results of `𝔽`.
+```
+ ∾⎊{"error occurred with argument: "∾•Fmt 𝕩} 1
+"error occurred with argument: 1"
+ ∾⎊{"error occurred with argument: "∾•Fmt 𝕩} ⟨⟨1,2⟩, ⟨3,4⟩⟩
+⟨ 1 2 3 4 ⟩
+``` \ No newline at end of file
diff --git a/help/○over.md b/help/○over.md
new file mode 100644
index 00000000..98082965
--- /dev/null
+++ b/help/○over.md
@@ -0,0 +1,27 @@
+Circle (`○`)
+
+`𝔽○𝔾 𝕩`: Atop
+
+Apply `𝔾` to `𝕩`, then apply `𝔽` (`𝔽 𝔾 𝕩`).
+
+`𝔽` and `𝔾` must be monadic.
+```
+ -○- 5
+5
+ - - 5
+5
+```
+
+`𝕨 𝔽○𝔾 𝕩`: Over
+
+Apply `𝔾` to `𝕨` and `𝕩`, then apply `𝔽` to them (`(𝔾 𝕨) 𝔽 (𝔾 𝕩)`).
+
+`𝔽` must be dyadic, `𝔾` must be monadic.
+```
+ 1 +○- 2
+¯3
+ 1 + - 2
+¯1
+ (- 1) + (- 2)
+¯3
+``` \ No newline at end of file
diff --git a/help/◶choose.md b/help/◶choose.md
new file mode 100644
index 00000000..1b7d81f5
--- /dev/null
+++ b/help/◶choose.md
@@ -0,0 +1,17 @@
+Circle with Lower Right Quadrant (`◶`)
+
+`𝔽◶𝕘 𝕩`, `𝕨 𝔽◶𝕘 𝕩`: Choose
+
+Apply `𝔽` to the arguments and pick a function from list `𝕘`. Apply the picked function to the arguments.
+```
+ F ← ⊢◶+‿-‿÷‿×
+⊢◶⟨ + - ÷ × ⟩
+ F 0
+0
+ F 1
+¯1
+ F 2
+0.5
+ F 3
+1
+``` \ No newline at end of file
diff --git a/help/⚇depth.md b/help/⚇depth.md
new file mode 100644
index 00000000..14352bd4
--- /dev/null
+++ b/help/⚇depth.md
@@ -0,0 +1,12 @@
+Circle With Two Dots (`⚇`)
+
+`𝔽⚇𝕘 𝕩`, `𝕨 𝔽⚇𝕘 𝕩`: Depth
+
+Apply `𝔽` to the cells of the arguments at depth given in `𝕘`.
+
+```
+ 1⊸↓⚇1 ⟨⟨1,2,3⟩, ⟨4,5,6⟩⟩
+⟨ ⟨ 2 3 ⟩ ⟨ 5 6 ⟩ ⟩
+ 1 ↓⚇1 ⟨⟨1,2,3⟩, ⟨4,5,6⟩⟩
+⟨ ⟨ 2 3 ⟩ ⟨ 5 6 ⟩ ⟩
+``` \ No newline at end of file
diff --git a/help/⟜after bindright.md b/help/⟜after bindright.md
new file mode 100644
index 00000000..b1fa1aa5
--- /dev/null
+++ b/help/⟜after bindright.md
@@ -0,0 +1,41 @@
+Left Multimap (`⟜`)
+
+`𝔽⟜𝕘 𝕩`: Bind
+
+Supply `𝕘` as a right argument to `𝔽` (`𝕩 𝔽 𝕘`).
+
+`𝕘` must be a value, `F` must be dyadic.
+```
+ -⟜3 9
+6
+ - 3 9
+Error
+ 9 - 3
+6
+```
+
+`𝔽⟜𝔾 𝕩`: After
+
+Apply `𝔾` to `𝕩`, and supply it as a right argument to `𝔽` (`𝕩 𝔽 (𝔾 𝕩)`).
+
+`𝔽` must be dyadic, `𝔾` must be monadic.
+```
+ ×⟜- 9
+¯81
+ × - 9
+¯1
+ 9 × (- 9)
+¯81
+```
+
+`𝕨 𝔽⟜𝔾 𝕩`: Dyadic After
+
+Apply `𝔾` to `𝕩`, and supply it as a right argument to `𝔽` (`𝕨 𝔽 (𝔾 𝕩)`).
+
+`𝔽` must be dyadic, `𝔾` must be monadic.
+```
+ 2 ×⟜- 1
+¯2
+ 2 × (- 1)
+¯2
+``` \ No newline at end of file
diff --git a/help/⥊deshape reshape.md b/help/⥊deshape reshape.md
new file mode 100644
index 00000000..f9b4967f
--- /dev/null
+++ b/help/⥊deshape reshape.md
@@ -0,0 +1,41 @@
+Barb (`⥊`)
+
+`⥊ 𝕩`: Deshape
+
+Put all elements of `𝕩` in a rank 1 array, converting to array if necessary.
+```
+ ⥊ 1
+⟨ 1 ⟩
+ ⥊ 1‿2 ≍ 3‿4
+⟨ 1 2 3 4 ⟩
+```
+
+`𝕨 ⥊ 𝕩`: Reshape
+
+Put all elements of `𝕩` in an array of shape `𝕨`, adding or removing elements if necessary.
+
+A single element in `𝕩` can be a function, which will be replaced with an appropriate length:
+- `∘` Exact fit
+- `⌊` Round length down, discarding elements
+- `⌽` Round length up
+- `↑` Round length up, and use element fill to add extra elements.
+```
+ 3‿3 ⥊ 3
+┌─
+╵ 3 3 3
+ 3 3 3
+ 3 3 3
+ ┘
+ 2‿⌽‿2 ⥊ 1‿2‿3
+┌─
+╎ 1 2
+
+ 3 1
+ ┘
+ 2‿↑‿2 ⥊ 1‿2‿3
+┌─
+╎ 1 2
+
+ 3 0
+ ┘
+``` \ No newline at end of file