From 3b6599b12470fe9b1321111d31c34685ffd5db52 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Mon, 24 Jan 2022 18:12:13 -0500 Subject: Github doesn't remove Unicode letters from header slugs apparently --- docs/commentary/problems.html | 2 +- docs/help/2-modifierrightoperand.html | 4 ++-- docs/help/absolutevalue_modulus.html | 4 ++-- docs/help/after_bind.html | 6 +++--- docs/help/assert_assertwithmessage.html | 4 ++-- docs/help/atop.html | 4 ++-- docs/help/before_bind.html | 6 +++--- docs/help/catch.html | 2 +- docs/help/ceiling_maximum.html | 4 ++-- docs/help/cells.html | 2 +- docs/help/choose.html | 2 +- docs/help/classify_indexof.html | 4 ++-- docs/help/conjugate_add.html | 4 ++-- docs/help/constant.html | 2 +- docs/help/currentfunction.html | 4 ++-- docs/help/currentmodifier.html | 4 ++-- docs/help/deduplicate_find.html | 4 ++-- docs/help/depth.html | 2 +- docs/help/depth_match.html | 4 ++-- docs/help/deshape_reshape.html | 4 ++-- docs/help/each.html | 2 +- docs/help/enclose_lessthan.html | 4 ++-- docs/help/enlist_pair.html | 4 ++-- docs/help/exponential_power.html | 4 ++-- docs/help/export.html | 2 +- docs/help/first_pick.html | 4 ++-- docs/help/firstcell_select.html | 4 ++-- docs/help/floor_minimum.html | 4 ++-- docs/help/fold.html | 4 ++-- docs/help/gradedown_binsdown.html | 4 ++-- docs/help/gradeup_binsup.html | 4 ++-- docs/help/greaterthanorequalto.html | 2 +- docs/help/groupindices_group.html | 4 ++-- docs/help/identity_left.html | 4 ++-- docs/help/identity_right.html | 4 ++-- docs/help/indices_replicate.html | 4 ++-- docs/help/insert.html | 4 ++-- docs/help/join_jointo.html | 4 ++-- docs/help/leftargument.html | 4 ++-- docs/help/length_notequals.html | 4 ++-- docs/help/lessthanorequalto.html | 2 +- docs/help/markfirst_memberof.html | 4 ++-- docs/help/merge_greaterthan.html | 4 ++-- docs/help/modifierleftoperand.html | 4 ++-- docs/help/negate_subtract.html | 4 ++-- docs/help/not_span.html | 4 ++-- docs/help/occurrencecount_progressiveindexof.html | 4 ++-- docs/help/over.html | 4 ++-- docs/help/pi.html | 4 ++-- docs/help/prefixes_take.html | 4 ++-- docs/help/range_windows.html | 4 ++-- docs/help/rank.html | 2 +- docs/help/rank_equals.html | 4 ++-- docs/help/reciprocal_divide.html | 4 ++-- docs/help/repeat.html | 2 +- docs/help/reverse_rotate.html | 4 ++-- docs/help/rightargument.html | 4 ++-- docs/help/scan.html | 4 ++-- docs/help/self_swap.html | 4 ++-- docs/help/shape_notmatch.html | 4 ++-- docs/help/shiftafter.html | 4 ++-- docs/help/shiftbefore.html | 4 ++-- docs/help/sign_multiply.html | 4 ++-- docs/help/solo_couple.html | 4 ++-- docs/help/sortdown_or.html | 4 ++-- docs/help/sortup_and.html | 4 ++-- docs/help/squareroot_root.html | 4 ++-- docs/help/suffixes_drop.html | 4 ++-- docs/help/table.html | 2 +- docs/help/transpose_reorderaxes.html | 4 ++-- docs/help/under.html | 2 +- docs/help/undo.html | 2 +- docs/help/valences.html | 4 ++-- md.bqn | 4 ++-- 74 files changed, 135 insertions(+), 135 deletions(-) diff --git a/docs/commentary/problems.html b/docs/commentary/problems.html index 34dd001c..8b9f0955 100644 --- a/docs/commentary/problems.html +++ b/docs/commentary/problems.html @@ -113,7 +113,7 @@

Scan moves along the array so that it uses results as left arguments, which is opposite to the usual right-to-left order of evaluation. But I think this is still better than scanning the array in reverse. You can always use Swap on the operand, or recover the APL scan ordering by doing a Reduce-Each on Prefixes.

Only errors in functions can be caught

The modifier ⎊ allows errors in a function to be caught, but a more natural unit for this is the block (scope, really). However, catching errors shouldn't be common in typical code, in the sense that an application should have only a few instances of ⎊. Ordinary testing and control flow should be preferred instead.

-

Special names other than 𝕣 can't be written as modifiers

+

Special names other than 𝕣 can't be written as modifiers

I decided that it was better to allow 𝕨_m_𝕩 to work with no spaces than to allow _𝕩 to be a modifier, and this rule also helps keep tokenization simple. But to apply 𝕩 as a modifier you have to give it a different name.

Bins is inconsistent with Index of

In Dyalog APL, Interval Index is identical to Index Of if the left argument has no duplicate cells and every right argument cell intolerantly matches a left argument cell. In BQN they're off by oneβ€”Bins is one larger. But all the caveats for the Dyalog relation indicate this might not be so fundamental.

diff --git a/docs/help/2-modifierrightoperand.html b/docs/help/2-modifierrightoperand.html index f7a71bdf..dbe09db1 100644 --- a/docs/help/2-modifierrightoperand.html +++ b/docs/help/2-modifierrightoperand.html @@ -4,8 +4,8 @@ BQN: Mathematical Double-struck G (𝔾) -

Mathematical Double-struck G (𝔾)

-

𝔾: 2-Modifier Right operand

+

Mathematical Double-struck G (𝔾)

+

𝔾: 2-Modifier Right operand

A variable assigned to the right operand of a 2-modifier block. π•˜ can be used to access the right operand as a subject.

↗️
    5 +{π•˜}3 1
 3
diff --git a/docs/help/absolutevalue_modulus.html b/docs/help/absolutevalue_modulus.html
index 40907de8..ff360249 100644
--- a/docs/help/absolutevalue_modulus.html
+++ b/docs/help/absolutevalue_modulus.html
@@ -5,7 +5,7 @@
 
 
 

Pipe (|)

-

| 𝕩: Absolute Value

+

| 𝕩: Absolute Value

Absolute Value of 𝕩.

Pervasive.

↗️
      | Β―2
@@ -14,7 +14,7 @@
       | 1β€Ώ3β€ΏΒ―4β€Ώ3
 ⟨ 1 3 4 3 ⟩
 
-

𝕨 | 𝕩: Modulus

+

𝕨 | 𝕩: Modulus

Remainder of 𝕩 divided by 𝕨.

Pervasive.

↗️
      1 | 3
diff --git a/docs/help/after_bind.html b/docs/help/after_bind.html
index 8c7446de..f14f5386 100644
--- a/docs/help/after_bind.html
+++ b/docs/help/after_bind.html
@@ -5,7 +5,7 @@
 
 
 

Left Multimap (⟜)

-

π”½βŸœπ•˜ 𝕩: Bind

+

π”½βŸœπ•˜ 𝕩: Bind

Supply π•˜ as a right argument to 𝔽 (𝕩 𝔽 π•˜).

π•˜ is a constant, 𝔽 must be dyadic.

↗️
       -⟜3 9
@@ -17,7 +17,7 @@
        9 - 3
 6
 
-

π”½βŸœπ”Ύ 𝕩: After

+

π”½βŸœπ”Ύ 𝕩: After

Apply 𝔾 to 𝕩, and supply it as a right argument to 𝔽 (𝕩 𝔽 (𝔾 𝕩)).

𝔽 must be dyadic, 𝔾 must be monadic.

↗️
       Γ—βŸœ- 9
@@ -29,7 +29,7 @@
        9 Γ— (- 9)
 Β―81
 
-

𝕨 π”½βŸœπ”Ύ 𝕩: Dyadic After

+

𝕨 π”½βŸœπ”Ύ 𝕩: Dyadic After

Apply 𝔾 to 𝕩, and supply it as a right argument to 𝔽 (𝕨 𝔽 (𝔾 𝕩)).

𝔽 must be dyadic, 𝔾 must be monadic.

↗️
       2 Γ—βŸœ- 1
diff --git a/docs/help/assert_assertwithmessage.html b/docs/help/assert_assertwithmessage.html
index 947d33cf..92140c18 100644
--- a/docs/help/assert_assertwithmessage.html
+++ b/docs/help/assert_assertwithmessage.html
@@ -5,7 +5,7 @@
 
 
 

Exclamation Mark (!)

-

! 𝕩: Assert

+

! 𝕩: Assert

Throw an error if 𝕩 is not 1.

↗️
       ! 1
 1
@@ -16,7 +16,7 @@
        ! "hello"
 Error: hello
 
-

𝕨 ! 𝕩: Assert With Message

+

𝕨 ! 𝕩: Assert With Message

Throw an error with message 𝕨 if 𝕩 is not 1.

↗️
       "hi" ! 1
 1
diff --git a/docs/help/atop.html b/docs/help/atop.html
index 62abd9a1..57c7bf3a 100644
--- a/docs/help/atop.html
+++ b/docs/help/atop.html
@@ -5,7 +5,7 @@
 
 
 

Ring Operator (∘)

-

π”½βˆ˜π”Ύ 𝕩: Atop

+

π”½βˆ˜π”Ύ 𝕩: Atop

Apply 𝔾 to 𝕩, then apply 𝔽 (𝔽 𝔾 𝕩).

𝔽 and 𝔾 must be monadic.

↗️
       -∘- 5
@@ -14,7 +14,7 @@
        - - 5
 5
 
-

𝕨 π”½βˆ˜π”Ύ 𝕩: Dyadic Atop

+

𝕨 π”½βˆ˜π”Ύ 𝕩: Dyadic Atop

Apply 𝔾 to 𝕨 and 𝕩, then apply 𝔽 (𝔽 (𝕨 𝔾 𝕩)).

𝔽 must be monadic, and 𝔾 must be dyadic.

↗️
       1 -∘+ 2
diff --git a/docs/help/before_bind.html b/docs/help/before_bind.html
index e04e11b1..3ae101c6 100644
--- a/docs/help/before_bind.html
+++ b/docs/help/before_bind.html
@@ -5,7 +5,7 @@
 
 
 

Multimap (⊸)

-

π•—βŠΈπ”Ύ 𝕩: Bind Left

+

π•—βŠΈπ”Ύ 𝕩: Bind Left

Supply 𝕗 as a left argument to 𝔾 (𝕗 𝔾 𝕩).

𝕗 is a constant, 𝔾 must be dyadic.

↗️
       3⊸- 9
@@ -14,7 +14,7 @@
        3 - 9
 Β―6
 
-

π”½βŠΈπ”Ύ 𝕩: Before

+

π”½βŠΈπ”Ύ 𝕩: Before

Apply 𝔽 to 𝕩, and supply it as a left argument to 𝔾 ((𝔽 𝕩) 𝔾 𝕩).

𝔽 must be monadic, 𝔾 must be dyadic.

↗️
       -⊸+ 9
@@ -26,7 +26,7 @@
        (- 9) + 9
 0
 
-

𝕨 π”½βŠΈπ”Ύ 𝕩: Dyadic Before

+

𝕨 π”½βŠΈπ”Ύ 𝕩: Dyadic Before

Apply 𝔽 to 𝕨, and supply it as a left argument to 𝔾 ((𝔽 𝕨) 𝔾 𝕩).

𝔽 must be monadic, 𝔾 must be dyadic.

↗️
       2 -⊸+ 1
diff --git a/docs/help/catch.html b/docs/help/catch.html
index 446edf64..a5a546fd 100644
--- a/docs/help/catch.html
+++ b/docs/help/catch.html
@@ -5,7 +5,7 @@
 
 
 

Circled Triangle Down (⎊)

-

π”½βŽŠπ”Ύ 𝕩, 𝕨 π”½βŽŠπ”Ύ 𝕩: Catch

+

π”½βŽŠπ”Ύ 𝕩, 𝕨 π”½βŽŠπ”Ύ 𝕩: 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 𝔽.

diff --git a/docs/help/ceiling_maximum.html b/docs/help/ceiling_maximum.html index 9e5fb5cb..2cff2167 100644 --- a/docs/help/ceiling_maximum.html +++ b/docs/help/ceiling_maximum.html @@ -5,13 +5,13 @@

Left Ceiling (⌈)

-

⌈ 𝕩: Ceiling

+

⌈ 𝕩: Ceiling

Round 𝕩 up.

Pervasive.

↗️
      ⌈ 1.2β€ΏΟ€β€Ώ3β€Ώ7.89
 ⟨ 2 4 3 8 ⟩
 
-

𝕨 ⌈ 𝕩: Maximum

+

𝕨 ⌈ 𝕩: Maximum

Maximum of 𝕨 and 𝕩.

Pervasive.

↗️
      1 ⌈ 2
diff --git a/docs/help/cells.html b/docs/help/cells.html
index d21fedff..aa8bd55f 100644
--- a/docs/help/cells.html
+++ b/docs/help/cells.html
@@ -5,7 +5,7 @@
 
 
 

Breve (˘)

-

π”½Λ˜ 𝕩, 𝕨 π”½Λ˜ 𝕩: Cells

+

π”½Λ˜ 𝕩, 𝕨 π”½Λ˜ 𝕩: Cells

Apply 𝔽 to/between the major cells of the arguments. (π”½βŽ‰Β―1)

↗️
       a ← 3β€Ώ3 β₯Š ↕9
 
diff --git a/docs/help/choose.html b/docs/help/choose.html
index 75fbdcfa..96304e0b 100644
--- a/docs/help/choose.html
+++ b/docs/help/choose.html
@@ -5,7 +5,7 @@
 
 
 

Circle with Lower Right Quadrant (β—Ά)

-

π”½β—Άπ•˜ 𝕩, 𝕨 π”½β—Άπ•˜ 𝕩: Choose

+

π”½β—Άπ•˜ 𝕩, 𝕨 π”½β—Άπ•˜ 𝕩: Choose

Apply 𝔽 to the arguments and pick a function from list π•˜. Apply the picked function to the arguments.

↗️
       F ← βŠ’β—Ά+β€Ώ-β€ΏΓ·β€ΏΓ—
 
diff --git a/docs/help/classify_indexof.html b/docs/help/classify_indexof.html
index 15c01b1d..143393be 100644
--- a/docs/help/classify_indexof.html
+++ b/docs/help/classify_indexof.html
@@ -5,7 +5,7 @@
 
 
 

Square Original Of (⊐)

-

⊐ 𝕩: Classify

+

⊐ 𝕩: Classify

First index of each major cell of 𝕩 in 𝕩.

↗️
       ⊐ 5β€Ώ6β€Ώ2β€Ώ2β€Ώ5β€Ώ1
 ⟨ 0 1 2 2 0 3 ⟩
@@ -15,7 +15,7 @@
        ⊐ a
 ⟨ 0 1 0 ⟩
 
-

𝕨 ⊐ 𝕩: Index Of

+

𝕨 ⊐ 𝕩: 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
diff --git a/docs/help/conjugate_add.html b/docs/help/conjugate_add.html
index 38085f5c..c70fd1fb 100644
--- a/docs/help/conjugate_add.html
+++ b/docs/help/conjugate_add.html
@@ -5,14 +5,14 @@
 
 
 

Plus (+)

-

+ 𝕩: Conjugate

+

+ 𝕩: Conjugate

↗️
      + 1
 1
 
       + Β―1
 Β―1
 
-

𝕨 + 𝕩: Add

+

𝕨 + 𝕩: Add

𝕨 added to 𝕩. Either 𝕨 or 𝕩 can be a character, and if so, the other has to be an integer.

Pervasive.

↗️
      1 + 2
diff --git a/docs/help/constant.html b/docs/help/constant.html
index 4e1ad74f..7b0017f2 100644
--- a/docs/help/constant.html
+++ b/docs/help/constant.html
@@ -5,7 +5,7 @@
 
 
 

Dot Above (Λ™)

-

𝔽˙ 𝕩, 𝕨 𝔽˙ 𝕩: Constant

+

𝔽˙ 𝕩, 𝕨 𝔽˙ 𝕩: Constant

Returns a function that will always return 𝕗.

↗️
       "hello" (1 Λ™) 2
 1
diff --git a/docs/help/currentfunction.html b/docs/help/currentfunction.html
index d60bd8a5..8aa11806 100644
--- a/docs/help/currentfunction.html
+++ b/docs/help/currentfunction.html
@@ -4,8 +4,8 @@
   BQN: Mathematical Double-struck S (π•Š)
 
 
-

Mathematical Double-struck S (π•Š)

-

π•Š: Current Function

+

Mathematical Double-struck S (π•Š)

+

π•Š: Current Function

A variable assigned to the current function block. 𝕀 can be used to access the current function block as a subject.

π•Š can be used for recursion.

↗️
    F ← {π•Š 0: 1; 𝕩 Γ— π•Š 𝕩-1} # Factorial
diff --git a/docs/help/currentmodifier.html b/docs/help/currentmodifier.html
index 3fdf1a98..1ee9782b 100644
--- a/docs/help/currentmodifier.html
+++ b/docs/help/currentmodifier.html
@@ -4,8 +4,8 @@
   BQN: Mathematical Double-struck R (𝕣)
 
 
-

Mathematical Double-struck R (𝕣)

-

𝕣: Current Modifier

+

Mathematical Double-struck R (𝕣)

+

𝕣: Current Modifier

A variable assigned to the current modifier block. Underscores must be added to the beginning and/or end (_𝕣, _𝕣_) to use the modifier with the correct role.

↗️
    +{π•£βŠ£π•©} 4
 (1-modifier block)
diff --git a/docs/help/deduplicate_find.html b/docs/help/deduplicate_find.html
index 5c05059c..cefe3b8f 100644
--- a/docs/help/deduplicate_find.html
+++ b/docs/help/deduplicate_find.html
@@ -5,7 +5,7 @@
 
 
 

Epsilon Underbar (⍷)

-

⍷ 𝕩: Deduplicate

+

⍷ 𝕩: Deduplicate

Unique major cells of 𝕩.

↗️
       ⍷ 4β€Ώ5β€Ώ6β€Ώ6β€Ώ4β€Ώ7β€Ώ5
 ⟨ 4 5 6 7 ⟩
@@ -18,7 +18,7 @@
   3 4 5  
         β”˜
 
-

𝕨 ⍷ 𝕩: Find

+

𝕨 ⍷ 𝕩: 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"
diff --git a/docs/help/depth.html b/docs/help/depth.html
index 6412a932..5824fc71 100644
--- a/docs/help/depth.html
+++ b/docs/help/depth.html
@@ -5,7 +5,7 @@
 
 
 

Circle With Two Dots (βš‡)

-

π”½βš‡π•˜ 𝕩, 𝕨 π”½βš‡π•˜ 𝕩: Depth

+

π”½βš‡π•˜ 𝕩, 𝕨 π”½βš‡π•˜ 𝕩: Depth

Apply 𝔽 to the cells of the arguments at depth given in π•˜.

↗️
       1βŠΈβ†“βš‡1 ⟨⟨1,2,3⟩, ⟨4,5,6⟩⟩
 ⟨ ⟨ 2 3 ⟩ ⟨ 5 6 ⟩ ⟩
diff --git a/docs/help/depth_match.html b/docs/help/depth_match.html
index 37d3d07f..5087c84f 100644
--- a/docs/help/depth_match.html
+++ b/docs/help/depth_match.html
@@ -5,7 +5,7 @@
 
 
 

Identical To (≑)

-

≑ 𝕩: Depth

+

≑ 𝕩: Depth

Highest level of nesting in 𝕩.

↗️
      ≑ 2β€Ώ3β€Ώ4
 1
@@ -16,7 +16,7 @@
       ≑ 9
 0
 
-

𝕨 ≑ 𝕩: Match

+

𝕨 ≑ 𝕩: Match

Does 𝕨 exactly match 𝕩?

↗️
      1 ≑ ⟨1⟩
 0
diff --git a/docs/help/deshape_reshape.html b/docs/help/deshape_reshape.html
index 5e9e22cb..7c6896b1 100644
--- a/docs/help/deshape_reshape.html
+++ b/docs/help/deshape_reshape.html
@@ -5,7 +5,7 @@
 
 
 

Barb (β₯Š)

-

β₯Š 𝕩: Deshape

+

β₯Š 𝕩: Deshape

Put all elements of 𝕩 in a rank 1 array, converting to array if necessary.

↗️
          β₯Š 1
 ⟨ 1 ⟩
@@ -13,7 +13,7 @@
           β₯Š 1β€Ώ2 ≍ 3β€Ώ4
 ⟨ 1 2 3 4 ⟩
 
-

𝕨 β₯Š 𝕩: Reshape

+

𝕨 β₯Š 𝕩: 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: