basedpl 0.1.34 → 0.1.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/basedpl_wasm.js CHANGED
@@ -233,7 +233,7 @@ function __wbg_get_imports() {
233
233
  __wbg_getRandomValues_436a51d0629d84e1: function() { return handleError(function (arg0, arg1) {
234
234
  globalThis.crypto.getRandomValues(getArrayU8FromWasm0(arg0, arg1));
235
235
  }, arguments); },
236
- __wbg_getRandomValues_fc33165644b9e145: function() { return handleError(function (arg0, arg1) {
236
+ __wbg_getRandomValues_973dabfb0ad1769f: function() { return handleError(function (arg0, arg1) {
237
237
  globalThis.crypto.getRandomValues(getArrayU8FromWasm0(arg0, arg1));
238
238
  }, arguments); },
239
239
  __wbg_getTime_f5a55efff2585d5d: function(arg0) {
@@ -549,7 +549,7 @@ function __wbg_get_imports() {
549
549
  const ret = getObject(arg0).normalize(getStringFromWasm0(arg1, arg2));
550
550
  return addHeapObject(ret);
551
551
  },
552
- __wbg_now_7c246bb37a807593: function() { return handleError(function () {
552
+ __wbg_now_e1044392fce0f3e7: function() { return handleError(function () {
553
553
  const ret = Date.now();
554
554
  return ret;
555
555
  }, arguments); },
Binary file
@@ -85,7 +85,7 @@
85
85
  }
86
86
  },
87
87
  {
88
- "match": "[\\+\\-×÷⌈⌊\\|\\*⍟○π√!∧∨⊼⊽\\~=≠<≤>≥⍳⍈:⍴≢≡,⍪⊂⊃⊆∊∪∩⍋⍒↑↓⌽⊖⍉⊤⊥⍎⍕⌷⌹\\#↕⍭⨸⌻⍸⍷⊢⊣¿]",
88
+ "match": "[\\+\\-×÷⌈⌊\\|\\*⍟○π√!∧∨⊼⊽\\~=≠<≤>≥⍳↦:⍴≢≡,⍪⊂⊃⊆∊∪∩⍋⍒↑↓⌽⊖⍉⊤⊥⍎⍕⌷⌹\\#↕⍭⨸⌻⍸⍷⊢⊣¿]",
89
89
  "name": "support.function.bpl"
90
90
  },
91
91
  {
@@ -93,7 +93,7 @@
93
93
  "name": "keyword.operator.monadic.bpl"
94
94
  },
95
95
  {
96
- "match": "[↣⍤∘⍠⍥↢\\.⍣⇄⊘⌾⍚@⌺]",
96
+ "match": "[↣⍤∘⍠⍥↢\\.⍣⇄⊘@⍚⌺]",
97
97
  "name": "keyword.operator.dyadic.bpl"
98
98
  },
99
99
  {
package/input.js CHANGED
@@ -18,7 +18,7 @@
18
18
  const key = usKey(ev), plain = !ev.altKey && !ev.ctrlKey && !ev.metaKey;
19
19
  // Native Option can hide the alias character; accept its US physical chord too.
20
20
  const action = option && ev.altKey && !ev.ctrlKey && !ev.metaKey
21
- ? layout.alt_aliases[ev.key] ?? layout.option[key] ?? (Object.values(layout.alt_aliases).includes(key) ? key : null) : null;
21
+ ? layout.alt_aliases[ev.key] ?? (Object.values(layout.alt_aliases).includes(key) ? key : layout.option[key]) : null;
22
22
  if (pending) {
23
23
  const state = layout.states[pending], repeated = action?.state === pending;
24
24
  pending = null;
package/layout.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "alt_aliases": {"£": "#"},
3
3
  "unshifted": {"*": "8", "~": "`", "_": "-", "|": "\\", ":": ";"},
4
+ "optional_shift": {"!": "1", "@": "2", "#": "3", "$": "4", "%": "5", "^": "6", "&": "7", "*": "8", "(": "9", "_": "-"},
4
5
  "option": {
5
6
  "`": "⋄",
6
7
  "1": {"state": "diaeresis"},
@@ -13,6 +14,16 @@
13
14
  "9": "∨",
14
15
  "0": "∧",
15
16
  ")": "⍬",
17
+ "!": "¹",
18
+ "@": "²",
19
+ "#": "³",
20
+ "$": "⁴",
21
+ "%": "⁵",
22
+ "^": "⁶",
23
+ "&": "⁷",
24
+ "*": "⁸",
25
+ "(": "⁹",
26
+ "_": "⁻",
16
27
  "-": {"state": "bar"},
17
28
  "=": {"state": "match"},
18
29
  "q": {"state": "quad"},
@@ -35,7 +46,7 @@
35
46
  "h": "←",
36
47
  "j": "↓",
37
48
  "k": {"state": "take"},
38
- "l": "⍈",
49
+ "l": "↦",
39
50
  ";": "⊣",
40
51
  "'": "⊢",
41
52
  "z": "⊂",
@@ -61,7 +72,7 @@
61
72
  "bar": {"terminator": "¯", "keys": {",": "⍪", "\\": "⍀", "/": "⌿", "a": "⍶", "w": "⍹", "7": "⍙", "`": "⍚", "0": "⊼", "9": "⊽", "e": "⍷", "i": "⍸", "z": "⊆"}},
62
73
  "match": {"terminator": "≡", "keys": {"/": "≢"}},
63
74
  "quad": {"terminator": "⎕", "keys": {"t": "⌻", ":": "⍠", "=": "⌸", "u": "⌹", "|": "⌷", "`": "⌺", ";": "⍠", "\\": "⌷"}},
64
- "circle": {"terminator": "○", "keys": {"-": "⊖", "\\": "⍉", "/": "⊘", "*": "⍟", "m": "⊗", "u": "⨸", "t": "⌾", "8": "⍟", "c": "⍝", "b": "⍎", "n": "⍕"}},
75
+ "circle": {"terminator": "○", "keys": {"-": "⊖", "\\": "⍉", "/": "⊘", "*": "⍟", "m": "⊗", "u": "⨸", "8": "⍟", "c": "⍝", "b": "⍎", "n": "⍕"}},
65
76
  "stile": {"terminator": "⍭", "keys": {"7": "⍋", "g": "⍒"}},
66
77
  "take": {"terminator": "↑", "keys": {"j": "↕"}}
67
78
  }
package/lb.js CHANGED
@@ -110,7 +110,7 @@
110
110
  }
111
111
  // Related glyphs stay together; arrows meet at the boundary between menus and plain buttons.
112
112
  const order = [...new Set([
113
- ...'^_¯¨○⎕≡⍭↑↓←⍈↢↣⇄∨∧⍺⍵∆∇⋄∊⍳⊂⊃∩∪⊥⊤⊣⊢×÷⌊⌈≤≥≠√π', ...groups.keys(), ...names.keys()
113
+ ...'^_¯¨○⎕≡⍭↑↓←↦↢↣⇄∨∧⍺⍵∆∇⋄∊⍳⊂⊃∩∪⊥⊤⊣⊢×÷⌊⌈≤≥≠√π', ...groups.keys(), ...names.keys()
114
114
  ])];
115
115
  for (const glyph of [...order.filter(g => groups.has(g)), ...order.filter(g => !groups.has(g))]) {
116
116
  if (!groups.has(glyph) && (variants.has(glyph) || /^[\x20-\x7e]+$/.test(glyph))) continue;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "basedpl",
3
- "version": "0.1.34",
3
+ "version": "0.1.36",
4
4
  "description": "BasedPL, the Based-array Programming Language, is an APL-derived array language, borrowing ideas from J and BQN, with an emphasis on simple, consistent notation.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {