diff options
Diffstat (limited to 'help')
114 files changed, 1515 insertions, 1876 deletions
diff --git a/help/!assert assertwithmsg.md b/help/!assert assertwithmsg.md deleted file mode 100644 index 80dfb851..00000000 --- a/help/!assert assertwithmsg.md +++ /dev/null @@ -1,33 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/!assert assertwithmsg.html).* - -# 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" - diff --git a/help/+conjugate add.md b/help/+conjugate add.md deleted file mode 100644 index 37c32295..00000000 --- a/help/+conjugate add.md +++ /dev/null @@ -1,24 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/+conjugate add.html).* - -# 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/<enclose less.md b/help/<enclose less.md deleted file mode 100644 index 5a433b9e..00000000 --- a/help/<enclose less.md +++ /dev/null @@ -1,29 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/<enclose less.html).* - -# 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 ⟩ - diff --git a/help/=rank equal.md b/help/=rank equal.md deleted file mode 100644 index 21999d63..00000000 --- a/help/=rank equal.md +++ /dev/null @@ -1,30 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/=rank equal.html).* - -# 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 - diff --git a/help/>merge great.md b/help/>merge great.md deleted file mode 100644 index a90e1d5d..00000000 --- a/help/>merge great.md +++ /dev/null @@ -1,40 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/>merge great.html).* - -# 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 - diff --git a/help/`scan.md b/help/`scan.md deleted file mode 100644 index 5f255d70..00000000 --- a/help/`scan.md +++ /dev/null @@ -1,31 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/`scan.html).* - -# 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 ⟩ - diff --git a/help/|abs modulus.md b/help/abs_modulus.md index 7a67ad86..1e015d37 100644 --- a/help/|abs modulus.md +++ b/help/abs_modulus.md @@ -1,27 +1,27 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/|abs modulus.html).* +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/abs_modulus.html).* # Pipe (`|`) - -`| 𝕩`: Absolute Value - + +## `| 𝕩`: Absolute Value + Absolute Value of `𝕩`. - + [Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion) + + | ¯2 - | ¯2 - 2 - | 1‿3‿¯4‿3 - ⟨ 1 3 4 3 ⟩ - - -`𝕨 | 𝕩`: Modulus + | 1‿3‿¯4‿3 + + +## `𝕨 | 𝕩`: Modulus + Remainder of `𝕩` divided by `𝕨`. - + [Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion) + + 1 | 3 - 1 | 3 - 0 - 2 | 3‿4‿5 - ⟨ 1 0 1 ⟩ + 2 | 3‿4‿5 + diff --git a/help/after_bindright.md b/help/after_bindright.md new file mode 100644 index 00000000..653b5f55 --- /dev/null +++ b/help/after_bindright.md @@ -0,0 +1,43 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/after_bindright.html).* + +# Left Multimap (`⟜`) + +## `𝔽⟜𝕘 𝕩`: Bind + +Supply `𝕘` as a right argument to `𝔽` (`𝕩 𝔽 𝕘`). + +## `𝕘` must be a value, `F` must be dyadic. + + -⟜3 9 + + - 3 9 + + 9 - 3 + + + +## `𝔽⟜𝔾 𝕩`: After + +Apply `𝔾` to `𝕩`, and supply it as a right argument to `𝔽` (`𝕩 𝔽 (𝔾 𝕩)`). + +## `𝔽` must be dyadic, `𝔾` must be monadic. + + ×⟜- 9 + + × - 9 + + 9 × (- 9) + + + +## `𝕨 𝔽⟜𝔾 𝕩`: Dyadic After + +Apply `𝔾` to `𝕩`, and supply it as a right argument to `𝔽` (`𝕨 𝔽 (𝔾 𝕩)`). + +## `𝔽` must be dyadic, `𝔾` must be monadic. + + 2 ×⟜- 1 + + 2 × (- 1) + + diff --git a/help/assert_assertwithmsg.md b/help/assert_assertwithmsg.md new file mode 100644 index 00000000..4a7e26cf --- /dev/null +++ b/help/assert_assertwithmsg.md @@ -0,0 +1,29 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/assert_assertwithmsg.html).* + +# Exclamation Mark (`!`) + +## `! 𝕩`: Assert + +Throw an error if `𝕩` is not 1. + + ! 1 + + ! 2 + + ! "hello" + + + + +## `𝕨 ! 𝕩`: Dyad + +Throw an error with message `𝕨` if `𝕩` is not 1. + + "hi" ! 1 + + "two" ! 2 + + "hello error" ! "hello" + + + diff --git a/help/atop.md b/help/atop.md new file mode 100644 index 00000000..98073c0f --- /dev/null +++ b/help/atop.md @@ -0,0 +1,29 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/atop.html).* + +# Ring Operator (`∘`) + +## `𝔽∘𝔾 𝕩`: Atop + +Apply `𝔾` to `𝕩`, then apply `𝔽` (`𝔽 𝔾 𝕩`). + +## `𝔽` and `𝔾` must be monadic. + + -∘- 5 + + - - 5 + + + +## `𝕨 𝔽∘𝔾 𝕩`: Dyadic Atop + +Apply `𝔾` to `𝕨` and `𝕩`, then apply `𝔽` (`𝔽 (𝕨 𝔾 𝕩)`). + +## `𝔽` must be monadic, and `𝔾` must be dyadic. + + 1 -∘+ 2 + + 1 - + 2 + + - 1 + 2 + + diff --git a/help/before_bindleft.md b/help/before_bindleft.md new file mode 100644 index 00000000..2ebbf8e7 --- /dev/null +++ b/help/before_bindleft.md @@ -0,0 +1,43 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/before_bindleft.html).* + +# Multimap (`⊸`) + +## `𝕗⊸𝔾 𝕩`: Bind Left + +Supply `𝕗` as a left argument to `𝔾` (`𝕗 𝔾 𝕩`). + +## `𝕗` must be a value, `𝔾` must be dyadic. + + 3⊸- 9 + + 3 - 9 + + + +## `𝔽⊸𝔾 𝕩`: Before + +Apply `𝔽` to `𝕩`, and supply it as a left argument to `𝔾` (`(𝔽 𝕩) 𝔾 𝕩`). + +## `𝔽` must be monadic, `𝔾` must be dyadic. + + -⊸+ 9 + + - + 9 + + (- 9) + 9 + + + +## `𝕨 𝔽⊸𝔾 𝕩`: Dyadic Before + +Apply `𝔽` to `𝕨`, and supply it as a left argument to `𝔾` (`(𝔽 𝕨) 𝔾 𝕩`). + +## `𝔽` must be monadic, `𝔾` must be dyadic. + + 2 -⊸+ 1 + + 2 - + 1 + + (- 2) + 1 + + diff --git a/help/catch.md b/help/catch.md new file mode 100644 index 00000000..5f1b3087 --- /dev/null +++ b/help/catch.md @@ -0,0 +1,17 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/catch.html).* + +# 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: "∾•Fmt 𝕩} ⟨⟨1,2⟩, ⟨3,4⟩⟩ + + diff --git a/help/⌈ceiling maximum.md b/help/ceiling_maximum.md index 13bff822..a0ac5282 100644 --- a/help/⌈ceiling maximum.md +++ b/help/ceiling_maximum.md @@ -1,25 +1,25 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⌈ceiling maximum.html).* +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/ceiling_maximum.html).* # Left Ceiling (`⌈`) - -`⌈ 𝕩`: Ceiling - + +## `⌈ 𝕩`: Ceiling + Round `𝕩` up. - + [Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion) + + ⌈ 1.2‿π‿3‿7.89 - ⌈ 1.2‿π‿3‿7.89 - ⟨ 2 4 3 8 ⟩ - - -`𝕨 ⌈ 𝕩`: Maximum - + + +## `𝕨 ⌈ 𝕩`: Maximum + Maximum of `𝕨` and `𝕩`. - + [Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion) + + 1 ⌈ 2 - 1 ⌈ 2 - 2 - 2‿3 ⌈ 4‿2 - ⟨ 4 3 ⟩ + 2‿3 ⌈ 4‿2 + diff --git a/help/cells.md b/help/cells.md new file mode 100644 index 00000000..6f21a19f --- /dev/null +++ b/help/cells.md @@ -0,0 +1,17 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/cells.html).* + +# Breve (`˘`) + +## `𝔽˘ 𝕩`, `𝕨 𝔽˘ 𝕩`: Cells + +Apply `𝔽` to/between the major cells of the arguments. (`𝔽⎉¯1`) + + a ← 3‿3 ⥊ ↕9 + + + <˘ a + + a ≍˘ a + + + diff --git a/help/choose.md b/help/choose.md new file mode 100644 index 00000000..c6af346b --- /dev/null +++ b/help/choose.md @@ -0,0 +1,19 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/choose.html).* + +# 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 + + F 1 + + F 2 + + F 3 + + diff --git a/help/classify_indexof.md b/help/classify_indexof.md new file mode 100644 index 00000000..0aa3b0d6 --- /dev/null +++ b/help/classify_indexof.md @@ -0,0 +1,30 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/classify_indexof.html).* + +# Square Original Of (`⊐`) + +## `⊐ 𝕩`: Classify + +First index of each major cell of `𝕩` in `𝕩`. + + ⊐ 5‿6‿2‿2‿5‿1 + + a ← 3‿3 ⥊ 0‿1‿2‿9‿0‿9‿0‿1‿2 + + ⊐ a + + + +## `𝕨 ⊐ 𝕩`: 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 + + a ← 3‿3 ⥊ 0‿1‿2‿9‿0‿9‿0‿1‿2 + + a ⊐ ⟨9‿0‿9⟩ + + + diff --git a/help/conjugate_add.md b/help/conjugate_add.md new file mode 100644 index 00000000..0ed0c332 --- /dev/null +++ b/help/conjugate_add.md @@ -0,0 +1,24 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/conjugate_add.html).* + +# Plus (`+`) + +## `+ 𝕩`: Conjugate + + + 1 + + + ¯1 + + +## `𝕨 + 𝕩`: Add + +## `𝕨` added to `𝕩`. Either `𝕨` or `𝕩` can be a character, and if so, the other has to be an integer. + +[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion) + + 1 + 2 + + 1 + 2‿3‿4 + + 'a' + 4 + + diff --git a/help/constant.md b/help/constant.md new file mode 100644 index 00000000..0939831c --- /dev/null +++ b/help/constant.md @@ -0,0 +1,13 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/constant.html).* + +# Dot Above (`˙`) + +## `𝔽˙ 𝕩`, `𝕨 𝔽˙ 𝕩`: Constant + +Returns a function that will always return `𝕗`. + + "hello" (1 ˙) 2 + + "hello" ({𝕨+𝕩} ˙) 2 + + diff --git a/help/deduplicate_find.md b/help/deduplicate_find.md new file mode 100644 index 00000000..631638c4 --- /dev/null +++ b/help/deduplicate_find.md @@ -0,0 +1,33 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/deduplicate_find.html).* + +# Epsilon Underbar (`⍷`) + +## `⍷ 𝕩`: Deduplicate + +Unique major cells of `𝕩`. + + ⍷ 4‿5‿6‿6‿4‿7‿5 + + a ← 3‿3 ⥊ ↕6 + + ⍷ a + + + +## `𝕨 ⍷ 𝕩`: 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" + + "loooooong" ⍷ "short" + + a ← 7 (4|⋆˜)⌜○↕ 9 + + b ← (0‿3‿0≍0‿1‿0) + + b ⍷ a + + diff --git a/help/depth.md b/help/depth.md new file mode 100644 index 00000000..45be27e8 --- /dev/null +++ b/help/depth.md @@ -0,0 +1,14 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/depth.html).* + +# Circle With Two Dots (`⚇`) + +## `𝔽⚇𝕘 𝕩`, `𝕨 𝔽⚇𝕘 𝕩`: Depth + +Apply `𝔽` to the cells of the arguments at depth given in `𝕘`. + + + 1⊸↓⚇1 ⟨⟨1,2,3⟩, ⟨4,5,6⟩⟩ + + 1 ↓⚇1 ⟨⟨1,2,3⟩, ⟨4,5,6⟩⟩ + + diff --git a/help/depth_match.md b/help/depth_match.md new file mode 100644 index 00000000..99c9dfdf --- /dev/null +++ b/help/depth_match.md @@ -0,0 +1,25 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/depth_match.html).* + +# Identical To (`≡`) + +## `≡ 𝕩`: Depth + +Highest level of nesting in `𝕩`. + + ≡ 2‿3‿4 + + ≡ ⟨2,<3,4,<<<5⟩ + + ≡ 9 + + + +## `𝕨 ≡ 𝕩`: Match + +Does `𝕨` exactly match `𝕩`? + + 1 ≡ ⟨1⟩ + + ⟨1⟩ ≡ ⟨1⟩ + + diff --git a/help/⥊deshape reshape.md b/help/deshape_reshape.md index f5fc40a2..98e930b3 100644 --- a/help/⥊deshape reshape.md +++ b/help/deshape_reshape.md @@ -1,43 +1,31 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⥊deshape reshape.html).* +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/deshape_reshape.html).* # Barb (`⥊`) - -`⥊ 𝕩`: Deshape - + +## `⥊ 𝕩`: 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 - + + ⥊ 1 + + ⥊ 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 - ┘ - + + 3‿3 ⥊ 3 + + 2‿⌽‿2 ⥊ 1‿2‿3 + + 2‿↑‿2 ⥊ 1‿2‿3 + + diff --git a/help/each.md b/help/each.md new file mode 100644 index 00000000..a34392c6 --- /dev/null +++ b/help/each.md @@ -0,0 +1,13 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/each.html).* + +# Diaresis (`¨`) + +## `𝔽¨ 𝕩`, `𝕨 𝔽¨ 𝕩`: Each + +Apply `𝔽` to/between the major elements of the arguments. (`𝔽⚇¯1`) + + <¨ 1‿2‿3 + + 4‿5‿6 ∾¨ 1‿2‿3 + + diff --git a/help/enclose_less.md b/help/enclose_less.md new file mode 100644 index 00000000..0417b703 --- /dev/null +++ b/help/enclose_less.md @@ -0,0 +1,27 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/enclose_less.html).* + +# Lesser Than (`<`) + +## `< 𝕩`: Enclose + +Create a unit array containing `𝕩`. (`(≢𝕩) ≡ ⟨⟩`) + + + <1 + + + ≢<1 + + + +## `𝕨 < 𝕩`: Lesser Than + +## `𝕨` and `𝕩` can both be either numbers or characters. + +[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion) + + 1 < 3 + + 2‿3‿0 < 3‿1‿0 + + diff --git a/help/enlist_pair.md b/help/enlist_pair.md new file mode 100644 index 00000000..88168860 --- /dev/null +++ b/help/enlist_pair.md @@ -0,0 +1,25 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/enlist_pair.html).* + +# Bow Tie (`⋈`) + +## `⋈ 𝕩`: Enlist + +Put `𝕩` in a single element list. (`⟨𝕩⟩`) + + ⋈ 1 + + ⋈ 4‿4 ⥊ 3‿67‿8‿0 + + + +## `𝕨 ⋈ 𝕩`: Pair + +Put `𝕨` and `𝕩` in a two element list. (`⟨𝕨, 𝕩⟩`) + + 1 ⋈ 2 + + 1 ⋈ "dsdasdas" + + (3‿3 ⥊ 3) ⋈ 67‿'a'‿"example" + + diff --git a/help/exponential_power.md b/help/exponential_power.md new file mode 100644 index 00000000..c253f2b3 --- /dev/null +++ b/help/exponential_power.md @@ -0,0 +1,27 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/exponential_power.html).* + +# Star (`⋆`) + +## `⋆ 𝕩`: Exponential + +## `e` (Euler's constant) to the power of `𝕩`. + +[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion) + + ⋆ 0‿1‿2‿3 + + + +## `𝕨 ⋆ 𝕩`: Power + +## `𝕨` to the power of `𝕩`. + +[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion) + + 2 ⋆ 5 + + 8‿5‿9 ⋆ 2 + + 2‿3 ⋆ 3‿¯4 + + diff --git a/help/first_pick.md b/help/first_pick.md new file mode 100644 index 00000000..c415b8f9 --- /dev/null +++ b/help/first_pick.md @@ -0,0 +1,27 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/first_pick.html).* + +# Square Image Of Or Equal To (`⊑`) + +## `⊑ 𝕩`: First + +First element of `𝕩`. + + ⊑ ⟨1, 2, 3⟩ + + a ← 3‿3 ⥊ ↕9 + + ⊑ a + + + +## `𝕨 ⊑ 𝕩`: Pick + +Pick the element of `𝕨` at index `𝕩`. + + 2 ⊑ ⟨1, 2, 3⟩ + + a ← 3‿3 ⥊ ↕9 + + 2‿0 ⊑ a + + diff --git a/help/firstcell_select.md b/help/firstcell_select.md new file mode 100644 index 00000000..94c82357 --- /dev/null +++ b/help/firstcell_select.md @@ -0,0 +1,27 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/firstcell_select.html).* + +# Square Image Of (`⊏`) + +## `⊏ 𝕩`: First Cell + +First major cell of `𝕩`. + + ⊏ ⟨1, 2, 3⟩ + + a ← 3‿3 ⥊ ↕9 + + ⊏ a + + + +## `𝕨 ⊏ 𝕩`: Select + +Select the major cells of `𝕨` at the indices in `𝕩`. + + 2‿0 ⊏ ⟨1, 2, 3⟩ + + a ← 3‿3 ⥊ ↕9 + + 2‿0 ⊏ a + + diff --git a/help/⌊floor minimum.md b/help/floor_minimum.md index 8075e901..95bb5976 100644 --- a/help/⌊floor minimum.md +++ b/help/floor_minimum.md @@ -1,25 +1,25 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⌊floor minimum.html).* +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/floor_minimum.html).* # Left Floor (`⌊`) - -`⌊ 𝕩`: Floor - + +## `⌊ 𝕩`: Floor + Round `𝕩` down. - + [Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion) + + ⌊ 1.2‿π‿3‿7.89 - ⌊ 1.2‿π‿3‿7.89 - ⟨ 1 3 3 7 ⟩ - - -`𝕨 ⌊ 𝕩`: Minimum - + + +## `𝕨 ⌊ 𝕩`: Minimum + Minimum of `𝕨` and `𝕩`. - + [Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion) + + 1 ⌊ 2 - 1 ⌊ 2 - 1 - 2‿3 ⌊ 4‿2 - ⟨ 2 2 ⟩ + 2‿3 ⌊ 4‿2 + diff --git a/help/fold.md b/help/fold.md new file mode 100644 index 00000000..3684d96c --- /dev/null +++ b/help/fold.md @@ -0,0 +1,30 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/fold.html).* + +# Acute Accent (`´`) + +## `𝔽´ 𝕩`: Fold + +Fold over `𝕩` with `𝔽` from right to left i.e. Insert `𝔽` between the elements of `𝕩`. + + +´ 1‿2‿3 + + 1+2+3 + + -´ 1‿2‿3 + + 1-2-3 + + +## `𝕨 𝔽´ 𝕩`: Fold With initial + +Monadic fold, but use `𝕨` as initial right argument. + + 5 +´ 1‿2‿3 + + 1+2+3+5 + + 5 -´ 1‿2‿3 + + 1-2-3-5 + + diff --git a/help/gradedown_binsdown.md b/help/gradedown_binsdown.md new file mode 100644 index 00000000..8568293d --- /dev/null +++ b/help/gradedown_binsdown.md @@ -0,0 +1,29 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/gradedown_binsdown.html).* + +# Del Stile (`⍒`) + +## `⍒ 𝕩`: Grade Down + +Indices of `𝕩` that would sort its major cells in descending order. + + a ← 1‿2‿3 + + ⍒ a + + (⍒a) ⊏ a + + + +## `𝕨 ⍒ 𝕩`: 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 + + 7‿5‿4‿3 ⍒ 2‿6 + + diff --git a/help/gradeup_binsup.md b/help/gradeup_binsup.md new file mode 100644 index 00000000..1ddd891a --- /dev/null +++ b/help/gradeup_binsup.md @@ -0,0 +1,28 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/gradeup_binsup.html).* + +# Delta Stile (`⍋`) + +## `⍋ 𝕩`: Grade Up + +Indices of `𝕩` that would sort its major cells in ascending order. + + a ← 3‿2‿1 + + ⍋ a + + (⍋a) ⊏ a + + + + +## `𝕨 ⍋ 𝕩`: 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 + + 3‿4‿5‿7 ⍋ 2‿6 + + diff --git a/help/greatequal.md b/help/greatequal.md new file mode 100644 index 00000000..f1b8b4f8 --- /dev/null +++ b/help/greatequal.md @@ -0,0 +1,15 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/greatequal.html).* + +# 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 + + 2‿3‿0 ≥ 3‿1‿0 + + diff --git a/help/groupindices_group.md b/help/groupindices_group.md new file mode 100644 index 00000000..ee0e9762 --- /dev/null +++ b/help/groupindices_group.md @@ -0,0 +1,31 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/groupindices_group.html).* + +# 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 + + (↕8) ≍ ⊔ 4‿5‿6‿6‿4‿7‿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 + + 1‿0‿1‿¯1‿¯1‿3‿3 ⊔ 4‿5‿6‿6‿4‿7‿5 + + 1‿0‿1‿¯1‿¯1‿3‿3‿10 ⊔ 4‿5‿6‿6‿4‿7‿5 + + diff --git a/help/identity_left.md b/help/identity_left.md new file mode 100644 index 00000000..dabe6cc7 --- /dev/null +++ b/help/identity_left.md @@ -0,0 +1,21 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/identity_left.html).* + +# Left Tack (`⊣`) + +## `⊣ 𝕩`: + +Return `𝕩`. + + ⊣ 5 + + + +## `𝕨 ⊣ 𝕩`: Left + +Return `𝕨`. + + 5 ⊣ 8 + + 'a' ⊣ 1‿2‿3 + + diff --git a/help/identity_right.md b/help/identity_right.md new file mode 100644 index 00000000..a0844a8f --- /dev/null +++ b/help/identity_right.md @@ -0,0 +1,21 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/identity_right.html).* + +# Right Tack (`⊢`) + +## `⊢ 𝕩`: + +Return `𝕩`. + + ⊢ 5 + + + +## `𝕨 ⊢ 𝕩`: Right + +Return `𝕩`. + + 5 ⊢ 8 + + 'a' ⊢ 1‿2‿3 + + diff --git a/help/sindices replicate.md b/help/indices_replicate.md index c0040925..9ffad842 100644 --- a/help/sindices replicate.md +++ b/help/indices_replicate.md @@ -1,25 +1,25 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/sindices replicate.html).* +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/indices_replicate.html).* # Solidus (`/`) - -`/ 𝕩`: Indices - + +## `/ 𝕩`: Indices + Repeat the index of each element in `𝕩` by the element's value. `𝕩` must be rank 1. + + / 1‿2‿3 - / 1‿2‿3 - ⟨ 0 1 1 2 2 2 ⟩ - / 1‿0‿1 - ⟨ 0 2 ⟩ - - -`𝕨 / 𝕩`: Replicate + / 1‿0‿1 + + +## `𝕨 / 𝕩`: Replicate + Repeat each major cell in `𝕩` by the corresponding element in `𝕨`. - + Atomic `𝕨` applies to all elements. + + 3 / "copy" - 3 / "copy" - "cccooopppyyy" - 1‿0‿1 / 1‿2‿3 - ⟨ 1 3 ⟩ + 1‿0‿1 / 1‿2‿3 + diff --git a/help/join_jointo.md b/help/join_jointo.md new file mode 100644 index 00000000..13419744 --- /dev/null +++ b/help/join_jointo.md @@ -0,0 +1,31 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/join_jointo.html).* + +# Lazy S (`∾`) + +## `∾ 𝕩`: Join + +Join all elements of `𝕩` together. + +Element ranks must be compatible. + + ∾ ⟨1‿2, 3, 4‿5⟩ + + m ← (3‿1≍⌜4‿2‿5) ⥊¨ 2‿3⥊↕6 + + ∾ m + + + +## `𝕨 ∾ 𝕩`: Join + +Join `𝕨` to `𝕩` along the first axis. + + "abcd" ∾ "EFG" + + a ← 3‿3 ⥊ ↕9 + + c ← 4‿3 ⥊ ↕12 + + a∾c + + diff --git a/help/length_notequal.md b/help/length_notequal.md new file mode 100644 index 00000000..057247c9 --- /dev/null +++ b/help/length_notequal.md @@ -0,0 +1,32 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/length_notequal.html).* + +# Not Equal (`≠`) + +## `≠ 𝕩`: Length + +Length of the first dimension of `𝕩`. + + + ≠ 3 + + ≠ ⟨1, 2, 3⟩ + + ≠ 3‿4‿5⥊0 + + ≠ 1‿4‿5⥊0 + + ≠ 4‿4‿5⥊0 + + + +## `𝕨 ≠ 𝕩`: Not Equal To + +[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion) + + 1 ≠ 3 + + 2‿3‿0 ≠ 3‿1‿0 + + 'a' ≠ 'a' + + diff --git a/help/lessequal.md b/help/lessequal.md new file mode 100644 index 00000000..4d77dbfc --- /dev/null +++ b/help/lessequal.md @@ -0,0 +1,15 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/lessequal.html).* + +# 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 + + 2‿3‿0 ≤ 3‿1‿0 + + diff --git a/help/markfirst_memberof.md b/help/markfirst_memberof.md new file mode 100644 index 00000000..228d6a50 --- /dev/null +++ b/help/markfirst_memberof.md @@ -0,0 +1,29 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/markfirst_memberof.html).* + +# 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 + + a ← 3‿3 ⥊ ↕9 + + ∊ a + + + +## `𝕨 ∊ 𝕩`: Member Of + +Is each element in `𝕨` a major cell of `𝕩`? + + ⟨1⟩ ∊ ↕9 + + a ← 3‿3 ⥊ ↕9 + + ⟨0‿1‿2⟩ ∊ a + + ⟨1‿3 ⥊ 0‿1‿2⟩ ∊ a + + diff --git a/help/merge_great.md b/help/merge_great.md new file mode 100644 index 00000000..c91b3b8b --- /dev/null +++ b/help/merge_great.md @@ -0,0 +1,37 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/merge_great.html).* + +# 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⟩⟩ + + >a + + ≢a + + ≢>a + + + + +## `𝕨 > 𝕩`: Greater Than + +`𝕨` and `𝕩` can both be either numbers or characters. + +[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion) + + 1 > 3 + + 2‿3‿0 > 3‿1‿0 + + 'a' > 'b' + + diff --git a/help/-negate subtract.md b/help/negate_subtract.md index 10403db4..8a70e1bf 100644 --- a/help/-negate subtract.md +++ b/help/negate_subtract.md @@ -1,30 +1,30 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/-negate subtract.html).* +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/negate_subtract.html).* # Minus (`-`) - -`- 𝕩`: Negate - + +## `- 𝕩`: Negate + Additive Inverse of `𝕩`. - + [Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion) + + - 1 - - 1 - ¯1 - - ¯1 - 1 + - ¯1 -`𝕨 - 𝕩`: Subtract + +## `𝕨 - 𝕩`: Subtract + +Subtract `𝕩` from `𝕨`. `𝕨` and `𝕩` can be characters or integers. + +[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion) + + 1 - 2 -Subtract `𝕩` from `𝕨`. `𝕨` and `𝕩` can be characters or numbers. + 1 - 2‿3‿4 -[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion) + 'a' - 4 - 1 - 2 - ¯1 - 1 - 2‿3‿4 - ⟨ ¯1 ¯2 ¯3 ⟩ - 'a' - 4 - ']' - 'b' - 'a' - 1 + 'b' - 'a' + diff --git a/help/¬not span.md b/help/not_span.md index 26349704..7b099699 100644 --- a/help/¬not span.md +++ b/help/not_span.md @@ -1,27 +1,27 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/¬not span.html).* +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/not_span.html).* # Not (`¬`) - -`¬ 𝕩`: Logical Not - + +## `¬ 𝕩`: Logical Not + Logical Not of `𝕩`. - + [Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion) + + ¬ 0 - ¬ 0 - 1 - ¬ 1‿0 - ⟨ 0 1 ⟩ - - -`𝕨 ¬ 𝕩`: Span + ¬ 1‿0 + + +## `𝕨 ¬ 𝕩`: Span + Count of numbers in the inclusive range from `𝕩` to `𝕨`. - + [Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion) + + 3 ¬ 1 - 3 ¬ 1 - 3 - 3‿4 ¬ 0‿2 - ⟨ 4 3 ⟩ + 3‿4 ¬ 0‿2 + diff --git a/help/occcount_progindex.md b/help/occcount_progindex.md new file mode 100644 index 00000000..649869c8 --- /dev/null +++ b/help/occcount_progindex.md @@ -0,0 +1,23 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/occcount_progindex.html).* + +# 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 + + ≍⟜⊒ 2‿7‿1‿8‿1‿7‿1‿8‿2‿8‿4 + + + +## `𝕨 ⊒ 𝕩`: 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" + + "aaabb" ⊒ "ababababab" + + diff --git a/help/over.md b/help/over.md new file mode 100644 index 00000000..d6086037 --- /dev/null +++ b/help/over.md @@ -0,0 +1,29 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/over.html).* + +# Circle (`○`) + +## `𝔽○𝔾 𝕩`: Atop + +Apply `𝔾` to `𝕩`, then apply `𝔽` (`𝔽 𝔾 𝕩`). + +## `𝔽` and `𝔾` must be monadic. + + -○- 5 + + - - 5 + + + +## `𝕨 𝔽○𝔾 𝕩`: Over + +Apply `𝔾` to `𝕨` and `𝕩`, then apply `𝔽` to them (`(𝔾 𝕨) 𝔽 (𝔾 𝕩)`). + +## `𝔽` must be dyadic, `𝔾` must be monadic. + + 1 +○- 2 + + 1 + - 2 + + (- 1) + (- 2) + + diff --git a/help/prefixes_take.md b/help/prefixes_take.md new file mode 100644 index 00000000..636574fa --- /dev/null +++ b/help/prefixes_take.md @@ -0,0 +1,35 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/prefixes_take.html).* + +# Up Arrow (`↑`) + +## `↑ 𝕩`: Prefixes + +Prefixes of array `𝕩` along its first axis. + + ↑ 1‿2‿3‿4 + + a ← 3‿3 ⥊ ↕9 + + ↑ a + + + +## `𝕨 ↑ 𝕩`: 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 + + a ← 4‿4 ⥊ ↕16 + + 3‿3 ↑ a + + 5‿5 ↑ a + + 3‿¯3 ↑ a + + diff --git a/help/range_windows.md b/help/range_windows.md new file mode 100644 index 00000000..d4f82a1c --- /dev/null +++ b/help/range_windows.md @@ -0,0 +1,27 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/range_windows.html).* + +# 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 + + ↕ 4‿5 + + + +## `𝕨 ↕ 𝕩`: Windows + +Overlapping slices of `𝕩` which are of shape `𝕨`. + + 5 ↕ "abcdefg" + + a ← 3‿3⥊↕9 + + 2‿2 ↕ a + + diff --git a/help/⎉rank.md b/help/rank.md index 153f1839..0bbab822 100644 --- a/help/⎉rank.md +++ b/help/rank.md @@ -1,38 +1,20 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⎉rank.html).* +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/rank.html).* # Circled Horizontal Bar With Notch (`⎉`) - -`𝔽⎉𝕘 𝕩`, `𝕨 𝔽⎉𝕘 𝕩`: Rank - + +## `𝔽⎉𝕘 𝕩`, `𝕨 𝔽⎉𝕘 𝕩`: 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" + ⌽⎉2 a - a ← 3‿2‿4⥊"ABCDEFGHIJKLMNOPQRSTUVWXYZ" - ┌─ - ╎"ABCD - EFGH - - ·IJKL - MNOP - - ·QRST - UVWX" - ┘ - ⌽⎉2 a - ┌─ - ╎"EFGH - ABCD - - ·MNOP - IJKL - - ·UVWX - QRST" - ┘ - + diff --git a/help/rank_equal.md b/help/rank_equal.md new file mode 100644 index 00000000..1663df7d --- /dev/null +++ b/help/rank_equal.md @@ -0,0 +1,30 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/rank_equal.html).* + +# Equal (`=`) + +## `= 𝕩`: Rank + +Returns the number of dimensions in `𝕩`. + + + = 0 + + = 3⥊0 + + = 3‿3⥊0 + + 3‿3‿3 ⥊ ⟨⟨0⟩⟩ + + + +## `𝕨 = 𝕩`: Equal To + +[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion) + + 1 = 3 + + 2‿3‿0 = 3‿1‿0 + + 'a' = 'a' + + diff --git a/help/÷reciprocal divide.md b/help/reciprocal_divide.md index d55fb14b..d0630205 100644 --- a/help/÷reciprocal divide.md +++ b/help/reciprocal_divide.md @@ -1,22 +1,26 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/÷reciprocal divide.html).* +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/reciprocal_divide.html).* # Divide (`÷`) - -`÷ 𝕩`: Reciprocal - + +## `÷ 𝕩`: Reciprocal + Gives `1 ÷ 𝕩`. - + [Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion) - - ÷ 5 - 0.2 - - -`𝕨 ÷ 𝕩`: Divide - -`𝕨` divided by `𝕩`. - + + ÷ 5 + + + +## `𝕨 ÷ 𝕩`: Divide + +## `𝕨` divided by `𝕩`. + [Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion) - ExamplesIfAny + 5 ÷ 4 + + 14 ÷ 7 + + diff --git a/help/⍟repeat.md b/help/repeat.md index 9f190991..4a94ac57 100644 --- a/help/⍟repeat.md +++ b/help/repeat.md @@ -1,17 +1,17 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⍟repeat.html).* +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/repeat.html).* # Circle Star (`⍟`) - -`𝔽⍟𝔾 𝕩`, `𝕨 𝔽⍟𝔾 𝕩`: Repeat - + +## `𝔽⍟𝔾 𝕩`, `𝕨 𝔽⍟𝔾 𝕩`: 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 + + 1 +⍟1‿2‿3 4 - 1 +⍟⊢ 4 - 8 - 1 +⍟1‿2‿3 4 - ⟨ 5 6 7 ⟩ - 3 ∾⍟{≠𝕩} ⟨4,5,6⟩ - ⟨ 3 3 3 4 5 6 ⟩ + 3 ∾⍟{≠𝕩} ⟨4,5,6⟩ + diff --git a/help/reverse_rotate.md b/help/reverse_rotate.md new file mode 100644 index 00000000..a7ec430b --- /dev/null +++ b/help/reverse_rotate.md @@ -0,0 +1,27 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/reverse_rotate.html).* + +# Circle Stile (`⌽`) + +## `⌽ 𝕩`: Reverse + +Reverse the first axis of `𝕩`. + + ⌽ 1‿2‿3 + + a ← 3‿3 ⥊ ↕9 + + ⌽ a + + + +## `𝕨 ⌽ 𝕩`: Dyad + +Move the first `𝕨` elements of `𝕩` to its end. Negative `𝕨` reverses the direction of rotation. + + 2 ⌽ 1‿2‿3 + + a ← 3‿3 ⥊ ↕9 + + 2 ⌽ a + + diff --git a/help/scan.md b/help/scan.md new file mode 100644 index 00000000..c2e92f67 --- /dev/null +++ b/help/scan.md @@ -0,0 +1,31 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/scan.html).* + +# Grave (`` ` ``) + +## ``𝔽` 𝕩``: Fold + +Scan over `𝕩` with `𝔽` from left to right, producing intermediate values. + + + +` 1‿2‿3 + + ⟨1, 1+2, (1+2)+3⟩ + + -` 1‿2‿3 + + ⟨1, 1-2, (1-2)-3⟩ + + +## ``𝕨 𝔽` 𝕩``: Scan With initial + +Monadic scan, but use `𝕨` as initial left argument. + + 5 +` 1‿2‿3 + + ⟨5+1, (5+1)+2, ((5+1)+2)+3⟩ + + 5 -` 1‿2‿3 + + ⟨5-1, (5-1)-2, ((5-1)-2)-3⟩ + + diff --git a/help/self_swap.md b/help/self_swap.md new file mode 100644 index 00000000..fdd4dcc8 --- /dev/null +++ b/help/self_swap.md @@ -0,0 +1,23 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/self_swap.html).* + +# Small Tilde (`˜`) + +## `𝔽˜ 𝕩`: Self + +Supplies `𝕩` as a left argument to `𝔽` (`𝕩 𝔽 𝕩`). + + 1 + 1 + + +˜ 1 + + + +## `𝕨 𝔽˜ 𝕩`: Swap + +Swaps the arguments of `𝔽` (`𝕩 𝔽 𝕨`). + + 1 - 2 + + 1 -˜ 2 + + diff --git a/help/shape_notmatch.md b/help/shape_notmatch.md new file mode 100644 index 00000000..663d1d61 --- /dev/null +++ b/help/shape_notmatch.md @@ -0,0 +1,25 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/shape_notmatch.html).* + +# Not Identical To (`≢`) + +## `≢ 𝕩`: Shape + +Length of each dimension of x. + + ≢ 1 + + ≢ 1‿2 + + ≢ 1‿2 ≍ 3‿4 + + + +## `𝕨 ≢ 𝕩`: Not Match + +Does `𝕨` not exactly match `𝕩`? + + 1 ≢ ⟨1⟩ + + ⟨1⟩ ≢ ⟨1⟩ + + diff --git a/help/shiftafter.md b/help/shiftafter.md new file mode 100644 index 00000000..08e42a89 --- /dev/null +++ b/help/shiftafter.md @@ -0,0 +1,27 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/shiftafter.html).* + +# 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 + + » 3‿3 ⥊ 9 + + + +## `𝕨 » 𝕩`: Shift After + +Remove the last `≠𝕨` (length) major cells from `𝕩`, join `𝕨` to the start of `𝕩`. Ranks must match. + + 78 » 1‿2‿3 + + 1‿2 » 1‿2‿3 + + a ← 3‿3 ⥊ 9 + + 1‿2‿3 » a + + diff --git a/help/shiftbefore.md b/help/shiftbefore.md new file mode 100644 index 00000000..ca32833f --- /dev/null +++ b/help/shiftbefore.md @@ -0,0 +1,27 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/shiftbefore.html).* + +# 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‿3 + + « 3‿3 ⥊ 9 + + + +## `𝕨 « 𝕩`: Shift Before + +Remove the first `≠𝕨` (length) major cells from `𝕩`, join `𝕨` to the end of `𝕩`. Ranks must match. + + 8‿5 « 1‿2‿3 + + a ← 3‿3 ⥊ 9 + + 1‿2‿3 « a + + diff --git a/help/×sign multiply.md b/help/sign_multiply.md index ea513dbe..53a87654 100644 --- a/help/×sign multiply.md +++ b/help/sign_multiply.md @@ -1,28 +1,28 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/×sign multiply.html).* +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/sign_multiply.html).* # Times (`×`) - -`× 𝕩`: Sign - + +## `× 𝕩`: 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 `𝕩`. - + + × ¯5‿0‿5‿1 + + + +## `𝕨 × 𝕩`: Multiply + +## `𝕨` multiplied by `𝕩`. + [Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion) + + 1 × 2 - 1 × 2 - 2 - 2 × 2‿3‿4 - ⟨ 4 6 8 ⟩ + 2 × 2‿3‿4 + diff --git a/help/solo_couple.md b/help/solo_couple.md new file mode 100644 index 00000000..ac66e5c2 --- /dev/null +++ b/help/solo_couple.md @@ -0,0 +1,33 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/solo_couple.html).* + +# Tape (`≍`) + +## `≍ 𝕩`: Solo + +Add a dimension to `𝕩`. + + ≍ 1 + + + ≍≍ 1 + + + ≍≍≍ 1 + + + ≍≍ 1‿2‿3‿4 + + + ≍≍≍ 1‿2‿3‿4 + + + +## `𝕨 ≍ 𝕩`: Couple + +Join `𝕨` and `𝕩` along a newly created axis. + + 1 ≍ 3 + + 1‿2 ≍ 2‿3 + + diff --git a/help/sortdown_or.md b/help/sortdown_or.md new file mode 100644 index 00000000..03982acd --- /dev/null +++ b/help/sortdown_or.md @@ -0,0 +1,25 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/sortdown_or.html).* + +# Logical Or (`∨`) + +## `∨ 𝕩`: Sort Down + +Sort array `𝕩` in descending order. + + ∨ 3‿1‿4‿1‿5 + + + +## `𝕨 ∨ 𝕩`: Logical Or + +Logical Or of `𝕨` and `𝕩`. + +[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion) + + 1 ∨ 0 + + 1‿0 ∨ 1‿1 + + 0 ∨ 0 + + diff --git a/help/∧sortup and.md b/help/sortup_and.md index 9b23d4ac..bf727848 100644 --- a/help/∧sortup and.md +++ b/help/sortup_and.md @@ -1,23 +1,23 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/∧sortup and.html).* +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/sortup_and.html).* # Logical And (`∧`) - -`∧ 𝕩`: Sort Up - + +## `∧ 𝕩`: Sort Up + Sort array `𝕩` in ascending order. + + ∧ 3‿1‿4‿1‿5 - ∧ 3‿1‿4‿1‿5 - ⟨ 1 1 3 4 5 ⟩ - - -`𝕨 ∧ 𝕩`: Logical And - + + +## `𝕨 ∧ 𝕩`: Logical And + Logical And of `𝕨` and `𝕩`. - + [Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion) + + 1 ∧ 1 - 1 ∧ 1 - 1 - 1‿0 ∧ 1‿1 - ⟨ 1 0 ⟩ + 1‿0 ∧ 1‿1 + diff --git a/help/squareroot_root.md b/help/squareroot_root.md new file mode 100644 index 00000000..02e4f74d --- /dev/null +++ b/help/squareroot_root.md @@ -0,0 +1,23 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/squareroot_root.html).* + +# Root (`√`) + +## `√ 𝕩`: Square root + +[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion) + + √ 2 + + + +## `𝕨 √ 𝕩`: Root + +## `𝕨`th root of `𝕩`. + +[Pervasive.](https://mlochbaum.github.io/BQN/doc/arithmetic.html#pervasion) + + 2 √ 2 + + 1‿2‿3‿4 √ 4 + + diff --git a/help/suffixes_drop.md b/help/suffixes_drop.md new file mode 100644 index 00000000..10c93520 --- /dev/null +++ b/help/suffixes_drop.md @@ -0,0 +1,34 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/suffixes_drop.html).* + +# Down Arrow (`↓`) + +## `↓ 𝕩`: Suffixes + +Suffixes of array `𝕩` along its first axis. + + ↓ 1‿2‿3‿4 + + a ← 3‿3 ⥊ ↕9 + + ↓ a + + + +## `𝕨 ↓ 𝕩`: 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 + + a ← 4‿4 ⥊ ↕16 + + 3‿3 ↓ a + + 5‿5 ↓ a + + + 3‿¯3 ↓ a + + diff --git a/help/table.md b/help/table.md new file mode 100644 index 00000000..dd190660 --- /dev/null +++ b/help/table.md @@ -0,0 +1,13 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/table.html).* + +# Top Left Corner (`⌜`) + +## `𝕨 𝔽⌜ 𝕩`: Each + +Apply `𝔽` between every possible pair of the elements of the arguments. + + 1‿2‿3‿4 +⌜ 4‿5‿6‿7 + + "abc" ∾⌜ "xyz" + + diff --git a/help/template.md.tmp b/help/template.md.tmp deleted file mode 100644 index 5b994159..00000000 --- a/help/template.md.tmp +++ /dev/null @@ -1,47 +0,0 @@ -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/transpose_dyadtranspose.md b/help/transpose_dyadtranspose.md new file mode 100644 index 00000000..d3db90ab --- /dev/null +++ b/help/transpose_dyadtranspose.md @@ -0,0 +1,27 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/transpose_dyadtranspose.html).* + +# Circle Backslash (`⍉`) + +## `⍉ 𝕩`: Transpose + +Move the first axis of `𝕩` to the end. + + a ← 3‿3 ⥊ ↕9 + + ⍉ a + + b ← 1‿2‿3 ⥊ ↕6 + + ≢⍉ b + + + +## `𝕨 ⍉ 𝕩`: Dyad + +Rearrange the axes of `𝕩` as per the axis indices in `𝕨`. + + ≢ a ← 2‿3‿4‿5‿6 ⥊1 + + ≢ 1‿3‿2‿0‿4 ⍉ a + + diff --git a/help/⌾under.md b/help/under.md index 8a70afe9..0eb86091 100644 --- a/help/⌾under.md +++ b/help/under.md @@ -1,22 +1,22 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⌾under.html).* +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/under.html).* # Circle Jot (`⌾`) - -`𝔽⌾𝔾 𝕩`, `𝕨 𝔽⌾𝔾 𝕩`: Under - + +## `𝔽⌾𝔾 𝕩`, `𝕨 𝔽⌾𝔾 𝕩`: 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) - 9⌾(1⊸⊑) 1‿2‿3 - ⟨ 1 9 3 ⟩ - √⁼ (√1) + (√9) - 16 - 1 +⌾√ 9 - 16 + 1 +⌾√ 9 + diff --git a/help/undo.md b/help/undo.md new file mode 100644 index 00000000..0daa6469 --- /dev/null +++ b/help/undo.md @@ -0,0 +1,22 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/undo.html).* + +# Superscript Equals Sign (`⁼`) + +## `𝔽⁼ 𝕩`, `𝕨 𝔽⁼ 𝕩`: Undo + +Invert the function `𝔽`, or use its defined inverse. Not all functions have inverses. + + + 1 - 2 + + 1 -⁼ 2 + + √ 16 + + √⁼ 4 + + ⋆ 1 + + ⋆⁼ 2.718281828459045 + + diff --git a/help/valences.md b/help/valences.md new file mode 100644 index 00000000..d7ef83b8 --- /dev/null +++ b/help/valences.md @@ -0,0 +1,23 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/valences.html).* + +# Circled Division Slash (`⊘`) + +## `𝔽⊘𝔾 𝕩`: Valences + +Apply `𝔽` to `𝕩`. + + +⊘- 5 + + -⊘+ 5 + + + +## `𝕨 𝔽⊘𝔾 𝕩`: Valences + +Apply `𝔾` to `𝕨` and `𝕩`. + + 4 +⊘- 5 + + 4 -⊘+ 5 + + diff --git a/help/¨each.md b/help/¨each.md deleted file mode 100644 index 1ec3504d..00000000 --- a/help/¨each.md +++ /dev/null @@ -1,17 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/¨each.html).* - -# 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 ⟩ ⟩ - diff --git a/help/«shiftbefore.md b/help/«shiftbefore.md deleted file mode 100644 index ae9ec2ce..00000000 --- a/help/«shiftbefore.md +++ /dev/null @@ -1,39 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/«shiftbefore.html).* - -# 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 - ┘ - diff --git a/help/´fold.md b/help/´fold.md deleted file mode 100644 index 2561bd89..00000000 --- a/help/´fold.md +++ /dev/null @@ -1,30 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/´fold.html).* - -# 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 - diff --git a/help/»shiftafter.md b/help/»shiftafter.md deleted file mode 100644 index 0d0bf6ff..00000000 --- a/help/»shiftafter.md +++ /dev/null @@ -1,39 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/»shiftafter.html).* - -# 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 - ┘ - diff --git a/help/˘cells.md b/help/˘cells.md deleted file mode 100644 index 39a686f2..00000000 --- a/help/˘cells.md +++ /dev/null @@ -1,28 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/˘cells.html).* - -# 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 - ┘ - diff --git a/help/˙constant.md b/help/˙constant.md deleted file mode 100644 index f34e7ca4..00000000 --- a/help/˙constant.md +++ /dev/null @@ -1,13 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/˙constant.html).* - -# Dot Above (`˙`) - -`𝔽˙ 𝕩`, `𝕨 𝔽˙ 𝕩`: Constant - -Returns a function that will always return `𝕗`. - - "hello" (1 ˙) 2 - 1 - "hello" ({𝕨+𝕩} ˙) 2 - (function block) - diff --git a/help/˜self swap.md b/help/˜self swap.md deleted file mode 100644 index dcef5130..00000000 --- a/help/˜self swap.md +++ /dev/null @@ -1,23 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/˜self swap.html).* - -# 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 - diff --git a/help/⁼undo.md b/help/⁼undo.md deleted file mode 100644 index 10b622b3..00000000 --- a/help/⁼undo.md +++ /dev/null @@ -1,22 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⁼undo.html).* - -# 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 - diff --git a/help/↑prefixes take.md b/help/↑prefixes take.md deleted file mode 100644 index 73530b51..00000000 --- a/help/↑prefixes take.md +++ /dev/null @@ -1,64 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/↑prefixes take.html).* - -# 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 - ┘ - diff --git a/help/↓suffixes drop.md b/help/↓suffixes drop.md deleted file mode 100644 index 39648ccd..00000000 --- a/help/↓suffixes drop.md +++ /dev/null @@ -1,53 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/↓suffixes drop.html).* - -# 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 - ┘ - diff --git a/help/↕range windows.md b/help/↕range windows.md deleted file mode 100644 index d052bce0..00000000 --- a/help/↕range windows.md +++ /dev/null @@ -1,53 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/↕range windows.html).* - -# 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 - ┘ - diff --git a/help/∊markfirst memberof.md b/help/∊markfirst memberof.md deleted file mode 100644 index 04d4a940..00000000 --- a/help/∊markfirst memberof.md +++ /dev/null @@ -1,39 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/∊markfirst memberof.html).* - -# 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 ⟩ - diff --git a/help/∘atop.md b/help/∘atop.md deleted file mode 100644 index 9a713560..00000000 --- a/help/∘atop.md +++ /dev/null @@ -1,29 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/∘atop.html).* - -# 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 - diff --git a/help/√squareroot root.md b/help/√squareroot root.md deleted file mode 100644 index b7a30406..00000000 --- a/help/√squareroot root.md +++ /dev/null @@ -1,23 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/√squareroot root.html).* - -# 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 ⟩ - diff --git a/help/∨sortdown or.md b/help/∨sortdown or.md deleted file mode 100644 index 78eebef9..00000000 --- a/help/∨sortdown or.md +++ /dev/null @@ -1,25 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/∨sortdown or.html).* - -# 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 - diff --git a/help/∾join jointo.md b/help/∾join jointo.md deleted file mode 100644 index b69f5a45..00000000 --- a/help/∾join jointo.md +++ /dev/null @@ -1,62 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/∾join jointo.html).* - -# 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 - ┘ - diff --git a/help/≍solo couple.md b/help/≍solo couple.md deleted file mode 100644 index 03b8fe03..00000000 --- a/help/≍solo couple.md +++ /dev/null @@ -1,44 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/≍solo couple.html).* - -# 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 - ┘ - diff --git a/help/≠length notequal.md b/help/≠length notequal.md deleted file mode 100644 index e5696435..00000000 --- a/help/≠length notequal.md +++ /dev/null @@ -1,32 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/≠length notequal.html).* - -# 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 - diff --git a/help/≡depth match.md b/help/≡depth match.md deleted file mode 100644 index 32d8960b..00000000 --- a/help/≡depth match.md +++ /dev/null @@ -1,25 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/≡depth match.html).* - -# 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 - diff --git a/help/≢shape notmatch.md b/help/≢shape notmatch.md deleted file mode 100644 index 826aa2f4..00000000 --- a/help/≢shape notmatch.md +++ /dev/null @@ -1,25 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/≢shape notmatch.html).* - -# 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 - diff --git a/help/≤lessequal.md b/help/≤lessequal.md deleted file mode 100644 index 35e3bbef..00000000 --- a/help/≤lessequal.md +++ /dev/null @@ -1,15 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/≤lessequal.html).* - -# 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 ⟩ - diff --git a/help/≥greatequal.md b/help/≥greatequal.md deleted file mode 100644 index 129478a9..00000000 --- a/help/≥greatequal.md +++ /dev/null @@ -1,15 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/≥greatequal.html).* - -# 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 ⟩ - diff --git a/help/⊏firstcell select.md b/help/⊏firstcell select.md deleted file mode 100644 index e1f41e98..00000000 --- a/help/⊏firstcell select.md +++ /dev/null @@ -1,40 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⊏firstcell select.html).* - -# 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 - ┘ - diff --git a/help/⊐classify indexof.md b/help/⊐classify indexof.md deleted file mode 100644 index b7fe2072..00000000 --- a/help/⊐classify indexof.md +++ /dev/null @@ -1,39 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⊐classify indexof.html).* - -# 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 - ┘ - diff --git a/help/⊑first pick.md b/help/⊑first pick.md deleted file mode 100644 index 8023466c..00000000 --- a/help/⊑first pick.md +++ /dev/null @@ -1,35 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⊑first pick.html).* - -# 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 - diff --git a/help/⊒occcount progindex.md b/help/⊒occcount progindex.md deleted file mode 100644 index 6ac22c80..00000000 --- a/help/⊒occcount progindex.md +++ /dev/null @@ -1,26 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⊒occcount progindex.html).* - -# 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 ⟩ - diff --git a/help/⊔groupindices group.md b/help/⊔groupindices group.md deleted file mode 100644 index 689ed6c1..00000000 --- a/help/⊔groupindices group.md +++ /dev/null @@ -1,34 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⊔groupindices group.html).* - -# 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 ⟩ ⟨⟩ ⟨⟩ ⟨⟩ ⟨⟩ ⟨⟩ ⟨⟩ ⟩ - diff --git a/help/⊘valences.md b/help/⊘valences.md deleted file mode 100644 index d1079210..00000000 --- a/help/⊘valences.md +++ /dev/null @@ -1,23 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⊘valences.html).* - -# Circled Division Slash (`⊘`) - -`𝔽⊘𝔾 𝕩`: Valences - -Apply `𝔽` to `𝕩`. - - +⊘- 5 - 5 - -⊘+ 5 - ¯5 - - -`𝕨 𝔽⊘𝔾 𝕩`: Valences - -Apply `𝔾` to `𝕨` and `𝕩`. - - 4 +⊘- 5 - ¯1 - 4 -⊘+ 5 - 9 - diff --git a/help/⊢identity right.md b/help/⊢identity right.md deleted file mode 100644 index 2edca7c5..00000000 --- a/help/⊢identity right.md +++ /dev/null @@ -1,21 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⊢identity right.html).* - -# Right Tack (`⊢`) - -`⊢ 𝕩`: - -Return `𝕩`. - - ⊢ 5 - 5 - - -`𝕨 ⊢ 𝕩`: Right - -Return `𝕩`. - - 5 ⊢ 8 - 8 - 'a' ⊢ 1‿2‿3 - ⟨ 1 2 3 ⟩ - diff --git a/help/⊣identity left.md b/help/⊣identity left.md deleted file mode 100644 index 2af385a6..00000000 --- a/help/⊣identity left.md +++ /dev/null @@ -1,21 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⊣identity left.html).* - -# Left Tack (`⊣`) - -`⊣ 𝕩`: - -Return `𝕩`. - - ⊣ 5 - 5 - - -`𝕨 ⊣ 𝕩`: Left - -Return `𝕨`. - - 5 ⊣ 8 - 5 - 'a' ⊣ 1‿2‿3 - 'a' - diff --git a/help/⊸before bindleft.md b/help/⊸before bindleft.md deleted file mode 100644 index 0dfe86e5..00000000 --- a/help/⊸before bindleft.md +++ /dev/null @@ -1,43 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⊸before bindleft.html).* - -# 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 - diff --git a/help/⋆exponential power.md b/help/⋆exponential power.md deleted file mode 100644 index 51a16e05..00000000 --- a/help/⋆exponential power.md +++ /dev/null @@ -1,27 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⋆exponential power.html).* - -# 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 ⟩ - diff --git a/help/⋈enlist pair.md b/help/⋈enlist pair.md deleted file mode 100644 index da631346..00000000 --- a/help/⋈enlist pair.md +++ /dev/null @@ -1,38 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⋈enlist pair.html).* - -# 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 - ┘ - ┘ - diff --git a/help/⌜table.md b/help/⌜table.md deleted file mode 100644 index 6d7727fc..00000000 --- a/help/⌜table.md +++ /dev/null @@ -1,22 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⌜table.html).* - -# 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" - ┘ - diff --git a/help/⌽reverse rotate.md b/help/⌽reverse rotate.md deleted file mode 100644 index f451d266..00000000 --- a/help/⌽reverse rotate.md +++ /dev/null @@ -1,43 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⌽reverse rotate.html).* - -# 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 - ┘ - diff --git a/help/⍉transpose dyadtranspose.md b/help/⍉transpose dyadtranspose.md deleted file mode 100644 index b8641803..00000000 --- a/help/⍉transpose dyadtranspose.md +++ /dev/null @@ -1,38 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⍉transpose dyadtranspose.html).* - -# 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 ⟩ - diff --git a/help/⍋gradeup binsup.md b/help/⍋gradeup binsup.md deleted file mode 100644 index c633a5d8..00000000 --- a/help/⍋gradeup binsup.md +++ /dev/null @@ -1,30 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⍋gradeup binsup.html).* - -# 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 ⟩ - diff --git a/help/⍒gradedown binsdown.md b/help/⍒gradedown binsdown.md deleted file mode 100644 index 970fcce9..00000000 --- a/help/⍒gradedown binsdown.md +++ /dev/null @@ -1,31 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⍒gradedown binsdown.html).* - -# 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 ⟩ - diff --git a/help/⍷deduplicate find.md b/help/⍷deduplicate find.md deleted file mode 100644 index 52c560bb..00000000 --- a/help/⍷deduplicate find.md +++ /dev/null @@ -1,58 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⍷deduplicate find.html).* - -# 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 - ┘ - diff --git a/help/⎊catch.md b/help/⎊catch.md deleted file mode 100644 index 9f95659c..00000000 --- a/help/⎊catch.md +++ /dev/null @@ -1,17 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⎊catch.html).* - -# 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 ⟩ - diff --git a/help/○over.md b/help/○over.md deleted file mode 100644 index 0c84d9bc..00000000 --- a/help/○over.md +++ /dev/null @@ -1,29 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/○over.html).* - -# 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 - diff --git a/help/◶choose.md b/help/◶choose.md deleted file mode 100644 index 8fd73b99..00000000 --- a/help/◶choose.md +++ /dev/null @@ -1,19 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/◶choose.html).* - -# 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 - diff --git a/help/⚇depth.md b/help/⚇depth.md deleted file mode 100644 index b680ba4b..00000000 --- a/help/⚇depth.md +++ /dev/null @@ -1,14 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⚇depth.html).* - -# 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 ⟩ ⟩ - diff --git a/help/⟜after bindright.md b/help/⟜after bindright.md deleted file mode 100644 index 00a6de2d..00000000 --- a/help/⟜after bindright.md +++ /dev/null @@ -1,43 +0,0 @@ -*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/help/⟜after bindright.html).* - -# 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 - |
