aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2020-09-04 18:11:10 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2020-09-04 18:32:36 -0400
commit399c717259ae8b310a3503d4098acec3b9b65486 (patch)
treef62d0f31fde8829574ec8c4b733d2903e289e597
parent4d61bd6a5546e4ec6687042882afa04ad37bf700 (diff)
Affine characters and newer primitives added to dzaima/BQN
-rwxr-xr-xc.bqn8
-rw-r--r--docs/bqn.js6
-rwxr-xr-xdzref8
-rw-r--r--md.bqn26
-rw-r--r--src/fmt.bqnbin2587 -> 2414 bytes
5 files changed, 23 insertions, 25 deletions
diff --git a/c.bqn b/c.bqn
index 9cfcd206..2d8bcb0f 100755
--- a/c.bqn
+++ b/c.bqn
@@ -1,6 +1,6 @@
#! ./dzref
-nl‿tab←•UCS 10‿9
+nl←@+10
charSet←∾charGroups←⟨
chF←"+-×÷⋆√⌊⌈|¬∧∨<>≠=≤≥≡≢⊣⊢⥊∾≍↑↓↕⌽⍉/⍋⍒⊏⊑⊐⊒∊⍷⊔!" # Function
"˙˜˘¨⌜⁼´˝`" # Modifier
@@ -12,11 +12,11 @@ charSet←∾charGroups←⟨
"·" # nOthing
¯1⊏˘10‿2⥊"𝕊𝕏𝕎𝔽𝔾𝕤𝕩𝕨𝕗𝕘" # Input (𝕣 pending; ℝ not allowed)
"@" # nUll character
- •d # +⟜(↕10)⌾•UCS'0' # Digit
+ '0'+↕10 # Digit
"¯.π∞" # Numeric
- "_"∾˜' '(+∾⊢)⌾•UCS•a # Alphabetic
+ "_"∾˜⥊"aA"+⌜↕na←26 # Alphabetic
1↑"𝕨" # Prefix for input (hack around UTF-16)
- " "∾tab # Whitespace
+ " "∾@+9 # Whitespace
# #'" eliminated during tokenization
bF‿bM‿bC‿bS‿bG‿bB‿bL‿bO‿bI‿bU‿bD‿bN‿bA‿bP‿bW←≍¨˜⟜(+`≠↑0∾⊢)≠¨charGroups
diff --git a/docs/bqn.js b/docs/bqn.js
index 9476b1e2..a5d4e159 100644
--- a/docs/bqn.js
+++ b/docs/bqn.js
@@ -186,9 +186,9 @@ let fmt0 = x =>
(x.glyph||(x.m?"*"+x.m+"-modifier*":"*function*"))
: ""+x;
let fmt1 = run(
- new Uint8Array([15,1,25,21,0,4,22,0,5,11,14,0,47,22,0,6,11,14,0,48,22,0,7,11,14,0,49,22,0,8,11,14,21,0,7,0,23,16,22,0,9,11,14,0,15,0,35,15,2,8,22,0,10,11,14,0,9,0,7,0,44,19,0,39,15,3,8,22,0,11,11,14,15,4,22,0,12,11,14,21,0,11,0,34,21,0,12,8,22,0,13,11,14,15,5,22,0,14,11,14,21,0,14,15,6,3,2,0,37,15,7,8,22,0,15,11,14,0,59,0,17,0,58,17,15,8,15,9,3,2,0,37,0,8,0,9,0,43,19,0,6,0,9,0,8,0,44,19,19,8,3,2,0,37,0,12,0,12,0,43,0,43,3,2,19,8,22,0,16,11,14,15,10,0,36,15,11,8,22,0,17,11,14,15,12,22,0,18,11,14,0,64,0,13,0,16,0,16,19,0,33,0,65,8,3,2,0,37,0,8,0,33,21,0,9,8,8,21,0,5,3,2,0,37,0,41,0,34,0,10,8,8,0,17,9,15,13,21,0,18,3,3,0,37,0,11,0,3,0,44,19,8,22,0,19,11,14,21,0,1,21,0,19,16,0,27,21,0,6,0,34,0,16,8,7,16,0,15,16,0,19,0,40,17,25,21,0,1,0,24,21,1,7,17,22,0,3,11,14,21,0,1,0,21,0,33,21,1,7,0,8,16,0,7,21,0,3,17,8,0,35,0,13,0,26,0,22,7,21,1,8,19,8,21,0,3,17,25,21,0,1,0,12,16,0,19,0,40,17,22,0,3,11,14,0,42,0,28,0,18,7,21,0,3,0,4,0,42,17,0,1,16,17,0,20,0,35,0,32,0,26,0,29,0,2,7,7,7,8,16,0,30,0,40,0,41,3,2,0,38,0,0,8,7,16,0,15,16,22,0,4,11,14,21,0,4,0,23,0,33,0,40,8,0,35,0,43,8,16,22,0,4,12,14,15,14,22,0,5,11,14,21,0,1,0,15,21,0,1,0,12,16,0,23,0,40,17,0,16,21,0,3,0,30,0,2,7,16,17,17,21,0,5,0,18,0,33,0,30,0,0,7,8,3,2,0,37,21,0,3,0,25,0,43,17,0,23,16,8,21,0,4,17,25,21,0,1,0,13,0,42,0,38,0,16,8,0,42,0,38,0,16,8,19,0,50,0,21,21,0,2,17,17,25,0,52,0,16,21,0,1,0,22,16,0,19,0,42,17,0,19,0,40,17,17,0,16,0,51,17,0,17,16,25,21,0,1,0,12,16,0,23,0,40,17,22,0,3,11,14,0,54,21,0,2,0,14,0,3,0,42,19,0,26,0,22,7,0,55,19,0,15,9,21,1,5,3,2,0,37,0,7,0,33,0,45,8,8,16,3,2,0,16,16,0,18,0,42,21,0,3,3,2,17,21,0,1,0,23,0,35,0,56,0,23,0,42,0,1,21,0,2,17,0,4,0,43,17,0,3,0,46,17,17,8,16,0,57,0,18,21,0,3,0,1,16,0,16,0,42,17,17,3,3,0,16,16,25,21,0,1,0,22,16,0,29,0,9,7,0,53,17,0,31,0,1,7,16,0,32,0,0,7,16,0,25,0,44,17,0,23,16,0,6,21,0,1,0,8,16,0,8,0,42,17,17,0,6,21,0,2,0,8,0,42,17,17,25,21,0,1,0,28,0,50,7,16,21,1,12,0,42,17,21,1,15,0,44,17,0,23,0,33,0,43,0,40,3,2,8,0,35,0,60,8,16,25,21,0,1,0,12,16,0,61,0,28,21,1,5,7,0,28,0,63,0,34,0,16,8,7,9,0,16,9,0,23,0,33,0,40,8,0,35,0,62,8,9,3,2,0,37,0,8,0,7,0,42,19,8,16,0,26,0,16,7,0,53,17,0,17,16,25,21,0,1,0,28,0,12,7,16,22,0,3,11,14,21,0,3,0,28,0,23,7,0,42,17,0,15,0,26,0,42,7,0,1,0,9,19,0,39,0,31,0,4,7,8,3,2,0,37,0,9,0,7,0,43,19,8,16,22,0,4,11,14,21,0,3,0,28,0,23,7,16,0,9,0,7,0,43,19,0,39,0,42,0,38,0,31,0,4,7,8,8,16,22,0,5,11,14,21,0,1,0,28,0,18,7,0,42,0,18,21,0,4,0,8,16,0,2,21,0,2,17,0,1,16,17,0,5,21,0,4,17,0,2,21,0,2,17,0,29,0,16,7,21,0,5,17,17,0,9,0,1,0,44,19,0,4,0,43,19,0,39,0,17,8,16,0,44,0,38,0,16,8,16,25,21,0,1,21,1,17,0,42,17,25,21,0,1,0,28,21,1,19,7,16,21,1,17,21,0,2,17,21,1,13,0,44,17,21,1,15,21,0,1,0,9,16,17,25,0,41,0,10,21,0,1,17,22,0,3,11,14,21,0,1,0,9,16,22,0,4,11,14,21,0,1,15,15,15,16,15,17,3,3,0,37,21,0,3,0,15,16,0,30,0,0,7,0,10,0,0,0,7,0,33,0,43,8,19,0,8,19,16,8,16,25,21,0,2,0,0,0,42,17,0,21,16,22,0,3,11,14,0,50,0,15,21,0,1,0,12,16,0,23,0,40,17,17,0,16,21,0,1,17,0,22,21,0,3,0,21,0,33,21,0,3,0,25,16,0,5,16,8,0,35,0,28,0,40,7,8,16,17,25,21,0,1,0,12,16,0,19,0,40,17,22,0,3,11,0,8,16,0,1,16,0,9,0,33,0,43,8,0,39,0,41,8,16,22,0,4,11,14,0,66,22,0,5,11,14,21,0,1,0,21,0,33,0,14,0,9,21,0,5,19,0,0,0,42,19,8,21,2,10,3,2,0,37,0,9,0,8,0,42,19,8,16,22,0,1,12,14,21,0,5,0,18,21,0,3,17,0,15,0,35,0,20,8,16,21,0,4,0,38,0,16,8,21,0,1,17,21,0,4,0,38,0,16,8,21,0,5,0,18,21,0,3,17,17,0,17,16,21,1,4,0,8,0,42,17,0,39,21,2,11,21,2,12,0,42,19,21,2,15,21,1,4,19,8,16,25,21,0,1,21,2,18,21,2,16,3,2,0,37,0,12,0,9,0,43,19,0,30,0,6,7,9,8,16,25,21,0,1,21,2,18,0,40,17,25])
- ,[runtime[0],runtime[1],runtime[2],runtime[6],runtime[7],runtime[9],runtime[11],runtime[12],runtime[14],runtime[15],runtime[16],runtime[18],runtime[19],runtime[20],runtime[21],runtime[22],runtime[23],runtime[24],runtime[25],runtime[26],runtime[28],runtime[30],runtime[33],runtime[34],runtime[35],runtime[37],runtime[42],runtime[43],runtime[44],runtime[45],runtime[47],runtime[48],runtime[49],runtime[52],runtime[53],runtime[54],runtime[55],runtime[56],runtime[57],runtime[59],-1,Infinity,1,0,2,5,4,'\n',str("
- ,[[0,1,0,0],[1,0,3,20],[0,0,285,4],[0,0,338,6],[0,0,504,3],[0,0,534,3],[0,0,564,4],[0,0,688,3],[0,0,748,3],[0,0,787,3],[0,0,853,6],[0,0,1028,3],[0,0,1038,3],[0,0,1072,5],[0,0,1139,4],[0,0,1207,6],[0,0,1374,3],[0,0,1403,3]]
+ new Uint8Array([15,1,25,21,0,4,22,0,5,11,14,15,2,22,0,6,11,14,0,9,0,7,0,46,19,0,38,15,3,8,22,0,7,11,14,15,4,22,0,8,11,14,21,0,7,0,33,21,0,8,8,22,0,9,11,14,15,5,22,0,10,11,14,21,0,10,15,6,3,2,0,36,15,7,8,22,0,11,11,14,0,61,0,17,0,60,17,15,8,15,9,3,2,0,36,0,8,0,9,0,45,19,0,6,0,9,0,8,0,46,19,19,8,3,2,0,36,0,12,0,12,0,45,0,45,3,2,19,8,22,0,12,11,14,15,10,0,35,15,11,8,22,0,13,11,14,15,12,22,0,14,11,14,0,66,0,13,0,16,0,16,19,0,32,0,67,8,3,2,0,36,0,8,0,32,0,39,8,8,21,0,5,3,2,0,36,0,43,0,33,0,10,8,8,0,17,9,15,13,21,0,14,3,3,0,36,0,11,0,3,0,46,19,8,22,0,15,11,14,21,0,1,21,0,15,16,0,26,0,49,0,0,0,39,17,0,33,0,16,8,7,16,0,15,16,0,19,0,42,17,25,0,40,0,0,0,39,17,22,0,3,11,14,0,41,0,0,0,39,17,0,7,21,0,1,17,0,2,0,39,0,1,0,51,17,17,0,0,21,0,3,0,9,21,0,1,17,0,2,21,0,3,0,1,0,50,17,17,17,0,0,21,0,1,17,25,21,0,1,0,12,16,0,19,0,42,17,22,0,3,11,14,0,44,0,27,0,18,7,21,0,3,0,4,0,44,17,0,1,16,17,0,20,0,34,0,31,0,25,0,28,0,2,7,7,7,8,16,0,29,0,42,0,43,3,2,0,37,0,0,8,7,16,0,15,16,22,0,4,11,14,21,0,4,0,23,0,32,0,42,8,0,34,0,45,8,16,22,0,4,12,14,15,14,22,0,5,11,14,21,0,1,0,15,21,0,1,0,12,16,0,23,0,42,17,0,16,21,0,3,0,29,0,2,7,16,17,17,21,0,5,0,18,0,32,0,29,0,0,7,8,3,2,0,36,21,0,3,0,24,0,45,17,0,23,16,8,21,0,4,17,25,21,0,1,0,13,0,44,0,37,0,16,8,0,44,0,37,0,16,8,19,0,52,0,21,21,0,2,17,17,25,0,54,0,16,21,0,1,0,22,16,0,19,0,44,17,0,19,0,42,17,17,0,16,0,53,17,0,17,16,25,21,0,1,0,12,16,0,23,0,42,17,22,0,3,11,14,0,56,21,0,2,0,14,0,3,0,44,19,0,25,0,22,7,0,57,19,0,15,9,21,1,5,3,2,0,36,0,7,0,32,0,47,8,8,16,3,2,0,16,16,0,18,0,44,21,0,3,3,2,17,21,0,1,0,23,0,34,0,58,0,23,0,44,0,1,21,0,2,17,0,4,0,45,17,0,3,0,48,17,17,8,16,0,59,0,18,21,0,3,0,1,16,0,16,0,44,17,17,3,3,0,16,16,25,21,0,1,0,22,16,0,28,0,9,7,0,55,17,0,30,0,1,7,16,0,31,0,0,7,16,0,24,0,46,17,0,23,16,0,6,21,0,1,0,8,16,0,8,0,44,17,17,0,6,21,0,2,0,8,0,44,17,17,25,21,0,1,0,27,0,52,7,16,21,1,8,0,44,17,21,1,11,0,46,17,0,23,0,32,0,45,0,42,3,2,8,0,34,0,62,8,16,25,21,0,1,0,12,16,0,63,0,27,21,1,5,7,0,27,0,65,0,33,0,16,8,7,9,0,16,9,0,23,0,32,0,42,8,0,34,0,64,8,9,3,2,0,36,0,8,0,7,0,44,19,8,16,0,25,0,16,7,0,55,17,0,17,16,25,21,0,1,0,27,0,12,7,16,22,0,3,11,14,21,0,3,0,27,0,23,7,0,44,17,0,15,0,25,0,44,7,0,1,0,9,19,0,38,0,30,0,4,7,8,3,2,0,36,0,9,0,7,0,45,19,8,16,22,0,4,11,14,21,0,3,0,27,0,23,7,16,0,9,0,7,0,45,19,0,38,0,44,0,37,0,30,0,4,7,8,8,16,22,0,5,11,14,21,0,1,0,27,0,18,7,0,44,0,18,21,0,4,0,8,16,0,2,21,0,2,17,0,1,16,17,0,5,21,0,4,17,0,2,21,0,2,17,0,28,0,16,7,21,0,5,17,17,0,9,0,1,0,46,19,0,4,0,45,19,0,38,0,17,8,16,0,46,0,37,0,16,8,16,25,21,0,1,21,1,13,0,44,17,25,21,0,1,0,27,21,1,15,7,16,21,1,13,21,0,2,17,21,1,9,0,46,17,21,1,11,21,0,1,0,9,16,17,25,0,43,0,10,21,0,1,17,22,0,3,11,14,21,0,1,0,9,16,22,0,4,11,14,21,0,1,15,15,15,16,15,17,3,3,0,36,21,0,3,0,15,16,0,29,0,0,7,0,10,0,0,0,7,0,32,0,45,8,19,0,8,19,16,8,16,25,21,0,2,0,0,0,44,17,0,21,16,22,0,3,11,14,0,52,0,15,21,0,1,0,12,16,0,23,0,42,17,17,0,16,21,0,1,17,0,22,21,0,3,0,21,0,32,21,0,3,0,24,16,0,5,16,8,0,34,0,27,0,42,7,8,16,17,25,21,0,1,0,12,16,0,19,0,42,17,22,0,3,11,0,8,16,0,1,16,0,9,0,32,0,45,8,0,38,0,43,8,16,22,0,4,11,14,0,68,22,0,5,11,14,21,0,1,0,21,0,32,0,14,0,9,21,0,5,19,0,0,0,44,19,8,21,2,6,3,2,0,36,0,9,0,8,0,44,19,8,16,22,0,1,12,14,21,0,5,0,18,21,0,3,17,0,15,0,34,0,20,8,16,21,0,4,0,37,0,16,8,21,0,1,17,21,0,4,0,37,0,16,8,21,0,5,0,18,21,0,3,17,17,0,17,16,21,1,4,0,8,0,44,17,0,38,21,2,7,21,2,8,0,44,19,21,2,11,21,1,4,19,8,16,25,21,0,1,21,2,14,21,2,12,3,2,0,36,0,12,0,9,0,45,19,0,29,0,6,7,9,8,16,25,21,0,1,21,2,14,0,42,17,25])
+ ,[runtime[0],runtime[1],runtime[2],runtime[6],runtime[7],runtime[9],runtime[11],runtime[12],runtime[14],runtime[15],runtime[16],runtime[18],runtime[19],runtime[20],runtime[21],runtime[22],runtime[23],runtime[24],runtime[25],runtime[26],runtime[28],runtime[30],runtime[33],runtime[34],runtime[37],runtime[42],runtime[43],runtime[44],runtime[45],runtime[47],runtime[48],runtime[49],runtime[52],runtime[53],runtime[54],runtime[55],runtime[56],runtime[57],runtime[59],'
+ ,[[0,1,0,0],[1,0,3,16],[0,0,251,4],[0,0,316,6],[0,0,482,3],[0,0,512,3],[0,0,542,4],[0,0,666,3],[0,0,726,3],[0,0,765,3],[0,0,831,6],[0,0,1006,3],[0,0,1016,3],[0,0,1050,5],[0,0,1117,4],[0,0,1185,6],[0,0,1352,3],[0,0,1381,3]]
)(a=>str(fmt0(a)));
let fmt = x => fmt1(x).map(c=>c===0?" ":c).join("");
diff --git a/dzref b/dzref
index 9194afa9..f51e4ca1 100755
--- a/dzref
+++ b/dzref
@@ -1,7 +1,6 @@
#!/usr/bin/env dbqn
impl ← "
-˙ ← {𝕩⋄𝕗}
#⌜
# LAYER 4: Operators
@@ -87,7 +86,7 @@ Find←{
𝕨 ≡⎉r (≢𝕨) ↕⎉r 𝕩
}
-⊐ ← !∘0 ⊘ IndexOf
+⊐ ← ⊐ ⊘ IndexOf
∊ ← UniqueMask ⊘ (⊐˜<≠∘⊢)
⍷ ← ∊⊸/ ⊘ Find
@@ -100,8 +99,8 @@ ProgressiveIndexOf ← {𝕨⊐○(≍˘⟜OccurrenceCount𝕨⊸⊐)𝕩}
X←Raw←{F:≤4}
{v:
chrs←⟨
- "!∾↕⌽⊐⊒∊⍷"
- "˙"
+ "∾↕⌽⊐⊒∊⍷"
+ ""
"⚇"
nc ← ≠¨chrs
@@ -123,7 +122,6 @@ X←Raw←{F:≤4}
⍎¨ ⟨
"IsArray ← 0≠≡"
- '!' Mod "{𝕩 ⋄ ≤1}⍟¬"
⟩∾Mod⟜⥊¨ "↕∾⌽⊐"
diff --git a/md.bqn b/md.bqn
index c2e424e1..ae329d4c 100644
--- a/md.bqn
+++ b/md.bqn
@@ -117,7 +117,7 @@ UTF32 ← {
s ← p×52+2+↕3 # Surrogate character boundaries
h ← 1 = c ← (≠s)|s⍋𝕩
h ¬⊸/ (¯1⌽h×p×(2⋆6)+⊢)⊸+ 𝕩 - c⊏0∾s
-}⍟(2=≠"𝕩")∘•UCS
+}⍟(2=≠"𝕩")∘-⟜@
UTF8 ← ∾ (2⋆7) (⊣+(2⋆6){𝕨 ≤◶⟨⥊⊢-2×-⟜𝕗 ⋄ 𝕗(|∾˜(2÷˜⌊⟜𝕨)𝕊⌊∘÷˜)⊢⟩ 𝕩}¨) UTF32
Base64 ← {
b64←"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
@@ -205,7 +205,7 @@ Markdown ← {filename𝕊𝕩:
n × l ∧ s
}
ProcHeading ← {
- tag ← "h" ∾ 𝕨⊏•d # h3 for 3 hashes, etc.
+ tag ← "h" ∾ '0'+𝕨 # h3 for 3 hashes, etc.
𝕩 ↓˜↩ 𝕨+1
trsp ← ∧`⌾⌽ 𝕩=' '
tail ← ∧`⌾⌽ trsp∨𝕩='#' # Mask of trailing hashes
@@ -214,10 +214,10 @@ Markdown ← {filename𝕊𝕩:
# Add an id, containing only a-z, digits, and hyphens
Slugify ← {
𝕩 ↩ '-'¨⌾((𝕩=' ')⊸/) 𝕩 # Replace spaces with dashes
- bounds ← ⥊ +⌜⟜0‿26⌾•UCS "Aa" # Of the upper and lowercase alphabet
+ bounds ← ⥊ "Aa"+⌜0‿26 # Of the upper and lowercase alphabet
# Lowercase alphabetic characters and remove special characters
b ← bounds ⍋ 𝕩
- ((2|b)∨∊⟜("-"∾•d))⊸/ +⟜(32×1=b)⌾•UCS 𝕩
+ ((2|b)∨∊⟜("-"∾'0'+↕10))⊸/ 𝕩+32×1=b
}
extensions { tag ∾↩ " id="∾""""(∾∾⊣) Slugify 𝕩 }⍟⊣ 𝕩
tag Html ProcInline Trim 𝕩
@@ -229,7 +229,7 @@ Markdown ← {filename𝕊𝕩:
"ul" Html lf ∾ JoinLines ("li" Html ProcInline)¨ 𝕨 ↓¨ 𝕩
}
LenListNum ← { # Not used yet
- n ← Lead 𝕩∊•d
+ n ← Lead 1="0:"⍋𝕩
l ← (1≤n) ∧ (9≥n)
' ' = n ↓ 𝕩
t ← n↓(n+2)↑𝕩
@@ -337,7 +337,7 @@ Markdown ← {filename𝕊𝕩:
# Find matched-depth [] and () pairs, then join adjacent ones
brak ← (unused ∧ 𝕩⊸=)¨ 2‿2⥊"[]()"
depth ← (+`-0⌊⊢)∘(-´)˘ brak
- FindPairs ← ⟨⟩‿2 ⥊ 1⊸⊏ /˜ 2⊸⊏ ≠ (¯∞⊸Shl⊸=(∧+⊢)∞⊸Shr⊸=)∘⊏
+ FindPairs ← ∘‿2 ⥊ 1⊸⊏ /˜ 2⊸⊏ ≠ (¯∞⊸Shl⊸=(∧+⊢)∞⊸Shr⊸=)∘⊏
pairs ← depth <∘(FindPairs⍟(0<≠))∘⍉∘(∧(⊏˜≍˘⊢)⟜∾∾˘·/≠¨∘⊢)˘ /¨brak
JoinPairs ← {
e←1+1⊏˘𝕨 ⋄ b←⊏˘𝕩 ⋄ m←(≠b)>i←b⊐e
@@ -436,13 +436,13 @@ TestSections ← {
tests ↩ ((⊑2+⊐⟜':')¨∘⊏ ((-','=¯1⊑⊢)↓↓)¨⎉1 ⊢) tests
testSection ← (1↓¯1↓⊢)¨ 5⊏˘tests
UnEscape ← {
- EscapeChar ← { ("\""tn"⊐𝕩) ⊏ "\"""∾•UCS 9‿10 }
+ EscapeChar ← { ("\""tn"⊐𝕩) ⊏ "\"""∾@+9‿10 }
esc ← IsEscaped 𝕩
(¬1⌽esc) / EscapeChar⌾(esc⊸/) 𝕩
}
RunTest ← {
in‿exp ← UnEscape∘(1↓¯1↓⊢)¨2↑𝕩
- out ← 0 Markdown (•UCS 10) ((⊢-˜¬×+`)∘=⊔⊢) in
+ out ← 0 Markdown (@+10) ((⊢-˜¬×+`)∘=⊔⊢) in
⟨exp≡out,in,exp,out,2⊑𝕩⟩
}
@@ -458,9 +458,9 @@ TestSections ← {
# Characters in identifiers. These are also used in ProcCode to detect
# if a statement is an assignment.
idChars ← ⟨
- •d∾"¯.π∞"
- "𝕣"∾˜' '+⌾•UCS•a
- •a
+ ('0'+↕10)∾"¯.π∞"
+ "𝕣"∾˜'a'+↕26
+ 'A'+↕26
"_"
@@ -468,8 +468,8 @@ idChars ← ⟨
# (include will be all 1s).
GetHighlights ← {
# Characters used by BQN, and the HTML class they are associated with.
- classes‿chars ← <˘ ⍉ ⟨⟩‿2⥊⟨
- 0 , " "∾•UCS 9‿10 # Should never be highlighted
+ classes‿chars ← <˘ ⍉ ∘‿2⥊⟨
+ 0 , " "∾@+9‿10 # Should never be highlighted
"Value" , ¯1⊏˘5‿2⥊"𝕨𝕩𝕗𝕘𝕤"# Hack around UTF-16
"Function" , "+-×÷⋆√⌊⌈|¬∧∨<>≠=≤≥≡≢⊣⊢⥊∾≍↑↓↕⌽⍉/⍋⍒⊏⊑⊐⊒∊⍷⊔!"∾¯1⊏˘5‿2⥊"𝕎𝕏𝔽𝔾𝕊"
"Modifier" , "˙˜˘¨⌜⁼´˝`"
diff --git a/src/fmt.bqn b/src/fmt.bqn
index b9296b66..898f7017 100644
--- a/src/fmt.bqn
+++ b/src/fmt.bqn
Binary files differ