purus 0.10.1 → 0.11.0

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.
@@ -2,6 +2,9 @@ class $PanicError extends Error {}
2
2
  function $panic() {
3
3
  throw new $PanicError();
4
4
  }
5
+ function $bound_check(arr, index) {
6
+ if (index < 0 || index >= arr.length) throw new Error("Index out of bounds");
7
+ }
5
8
  function _M0TPB13StringBuilder(param0) {
6
9
  this.val = param0;
7
10
  }
@@ -16,8 +19,9 @@ function _M0TPC16string10StringView(param0, param1, param2) {
16
19
  const _M0FPB19int__to__string__js = (x, radix) => {
17
20
  return x.toString(radix);
18
21
  };
19
- function $bound_check(arr, index) {
20
- if (index < 0 || index >= arr.length) throw new Error("Index out of bounds");
22
+ function _M0TPB4IterGcE(param0, param1) {
23
+ this.f = param0;
24
+ this.size_hint = param1;
21
25
  }
22
26
  function $makebytes(a, b) {
23
27
  const arr = new Uint8Array(a);
@@ -35,7 +39,6 @@ const _M0MPB7JSArray4push = (arr, val) => { arr.push(val); };
35
39
  function _M0TPB8MutLocalGiE(param0) {
36
40
  this.val = param0;
37
41
  }
38
- const _M0FPB15ryu__to__string = (number) => number.toString();
39
42
  const $bytes_literal$0 = new Uint8Array();
40
43
  function _M0TPB9ArrayViewGsE(param0, param1, param2) {
41
44
  this.buf = param0;
@@ -467,20 +470,23 @@ function _M0DTP48username4core3src5lexer9TokenKind9InterpStr(param0) {
467
470
  this._0 = param0;
468
471
  }
469
472
  _M0DTP48username4core3src5lexer9TokenKind9InterpStr.prototype.$tag = 110;
473
+ function _M0DTP48username4core3src5lexer9TokenKind5Blank() {}
474
+ _M0DTP48username4core3src5lexer9TokenKind5Blank.prototype.$tag = 111;
475
+ const _M0DTP48username4core3src5lexer9TokenKind5Blank__ = new _M0DTP48username4core3src5lexer9TokenKind5Blank();
470
476
  function _M0DTP48username4core3src5lexer9TokenKind7Shebang(param0) {
471
477
  this._0 = param0;
472
478
  }
473
- _M0DTP48username4core3src5lexer9TokenKind7Shebang.prototype.$tag = 111;
479
+ _M0DTP48username4core3src5lexer9TokenKind7Shebang.prototype.$tag = 112;
474
480
  function _M0DTP48username4core3src5lexer9TokenKind7Comment(param0) {
475
481
  this._0 = param0;
476
482
  }
477
- _M0DTP48username4core3src5lexer9TokenKind7Comment.prototype.$tag = 112;
483
+ _M0DTP48username4core3src5lexer9TokenKind7Comment.prototype.$tag = 113;
478
484
  function _M0DTP48username4core3src5lexer9TokenKind12BlockComment(param0) {
479
485
  this._0 = param0;
480
486
  }
481
- _M0DTP48username4core3src5lexer9TokenKind12BlockComment.prototype.$tag = 113;
487
+ _M0DTP48username4core3src5lexer9TokenKind12BlockComment.prototype.$tag = 114;
482
488
  function _M0DTP48username4core3src5lexer9TokenKind3Eof() {}
483
- _M0DTP48username4core3src5lexer9TokenKind3Eof.prototype.$tag = 114;
489
+ _M0DTP48username4core3src5lexer9TokenKind3Eof.prototype.$tag = 115;
484
490
  const _M0DTP48username4core3src5lexer9TokenKind3Eof__ = new _M0DTP48username4core3src5lexer9TokenKind3Eof();
485
491
  function _M0TPB8MutLocalGRPB13StringBuilderE(param0) {
486
492
  this.val = param0;
@@ -1034,15 +1040,66 @@ function _M0TP48username4core3src7codegen9JsCodegen(param0, param1, param2, para
1034
1040
  function _M0TPB8MutLocalGsE(param0) {
1035
1041
  this.val = param0;
1036
1042
  }
1037
- const _M0FPB18brute__force__findN6constrS8462 = 0;
1038
- const _M0FPB28boyer__moore__horspool__findN6constrS8461 = 0;
1043
+ const _M0FP092moonbitlang_2fcore_2fbuiltin_2fStringBuilder_24as_24_40moonbitlang_2fcore_2fbuiltin_2eLogger = { method_0: _M0IPB13StringBuilderPB6Logger13write__string, method_1: _M0IP016_24default__implPB6Logger16write__substringGRPB13StringBuilderE, method_2: _M0IPB13StringBuilderPB6Logger11write__view, method_3: _M0IPB13StringBuilderPB6Logger11write__char, method_4: _M0IP016_24default__implPB6Logger28write__string__interpolationGRPB13StringBuilderE, method_5: _M0IP016_24default__implPB6Logger5writeGRPB13StringBuilderE };
1044
+ const _M0MPB4Iter4nextN6constrS8926GcE = 0;
1045
+ const _M0MPB4Iter4nextN6constrS8927GcE = 0;
1046
+ const _M0MPB4Iter3newN6constrS8934GcE = 0;
1047
+ const _M0FPB18brute__force__findN6constrS8937 = 0;
1048
+ const _M0FPB28boyer__moore__horspool__findN6constrS8936 = 0;
1039
1049
  function _M0FPC15abort5abortGRPB9ArrayViewGsEE(msg) {
1040
1050
  return $panic();
1041
1051
  }
1042
1052
  function _M0FPC15abort5abortGyE(msg) {
1043
1053
  return $panic();
1044
1054
  }
1045
- function _M0MPB13StringBuilder11new_2einner(size_hint) {
1055
+ function _M0MPC15array10FixedArray12unsafe__blitGRPB17UnsafeMaybeUninitGsEE(dst, dst_offset, src, src_offset, len) {
1056
+ if (dst === src && dst_offset < src_offset) {
1057
+ let _tmp = 0;
1058
+ while (true) {
1059
+ const i = _tmp;
1060
+ if (i < len) {
1061
+ const _tmp$2 = dst_offset + i | 0;
1062
+ const _tmp$3 = src_offset + i | 0;
1063
+ $bound_check(src, _tmp$3);
1064
+ $bound_check(dst, _tmp$2);
1065
+ dst[_tmp$2] = src[_tmp$3];
1066
+ _tmp = i + 1 | 0;
1067
+ continue;
1068
+ } else {
1069
+ return;
1070
+ }
1071
+ }
1072
+ } else {
1073
+ let _tmp = len - 1 | 0;
1074
+ while (true) {
1075
+ const i = _tmp;
1076
+ if (i >= 0) {
1077
+ const _tmp$2 = dst_offset + i | 0;
1078
+ const _tmp$3 = src_offset + i | 0;
1079
+ $bound_check(src, _tmp$3);
1080
+ $bound_check(dst, _tmp$2);
1081
+ dst[_tmp$2] = src[_tmp$3];
1082
+ _tmp = i - 1 | 0;
1083
+ continue;
1084
+ } else {
1085
+ return;
1086
+ }
1087
+ }
1088
+ }
1089
+ }
1090
+ function _M0MPB18UninitializedArray12unsafe__blitGsE(dst, dst_offset, src, src_offset, len) {
1091
+ _M0MPC15array10FixedArray12unsafe__blitGRPB17UnsafeMaybeUninitGsEE(dst, dst_offset, src, src_offset, len);
1092
+ }
1093
+ function _M0MPB13StringBuilder13write__objectGsE(self, obj) {
1094
+ _M0IP016_24default__implPB4Show6outputGsE(obj, { self: self, method_table: _M0FP092moonbitlang_2fcore_2fbuiltin_2fStringBuilder_24as_24_40moonbitlang_2fcore_2fbuiltin_2eLogger });
1095
+ }
1096
+ function _M0MPB13StringBuilder13write__objectGiE(self, obj) {
1097
+ _M0IP016_24default__implPB4Show6outputGiE(obj, { self: self, method_table: _M0FP092moonbitlang_2fcore_2fbuiltin_2fStringBuilder_24as_24_40moonbitlang_2fcore_2fbuiltin_2eLogger });
1098
+ }
1099
+ function _M0MPC13int3Int16unsafe__to__char(self) {
1100
+ return self;
1101
+ }
1102
+ function _M0MPB13StringBuilder21StringBuilder_2einner(size_hint) {
1046
1103
  return new _M0TPB13StringBuilder("");
1047
1104
  }
1048
1105
  function _M0MPB13StringBuilder10to__string(self) {
@@ -1081,15 +1138,18 @@ function _M0IPC16uint166UInt16PB7Compare7compare(self, that) {
1081
1138
  function _M0IP016_24default__implPB2Eq10not__equalGRP48username4core3src5lexer9TokenKindE(x, y) {
1082
1139
  return !_M0IP48username4core3src5lexer9TokenKindPB2Eq5equal(x, y);
1083
1140
  }
1084
- function _M0IP016_24default__implPB2Eq10not__equalGsE(x, y) {
1085
- return !(x === y);
1086
- }
1087
1141
  function _M0IP016_24default__implPB7Compare6op__leGkE(x, y) {
1088
1142
  return _M0IPC16uint166UInt16PB7Compare7compare(x, y) <= 0;
1089
1143
  }
1090
1144
  function _M0IP016_24default__implPB7Compare6op__geGkE(x, y) {
1091
1145
  return _M0IPC16uint166UInt16PB7Compare7compare(x, y) >= 0;
1092
1146
  }
1147
+ function _M0IP016_24default__implPB6Logger28write__string__interpolationGRPB13StringBuilderE(self, show) {
1148
+ show.method_table.method_0(show.self, { self: self, method_table: _M0FP092moonbitlang_2fcore_2fbuiltin_2fStringBuilder_24as_24_40moonbitlang_2fcore_2fbuiltin_2eLogger });
1149
+ }
1150
+ function _M0IP016_24default__implPB6Logger5writeGRPB13StringBuilderE(self, show) {
1151
+ show.method_table.method_0(show.self, { self: self, method_table: _M0FP092moonbitlang_2fcore_2fbuiltin_2fStringBuilder_24as_24_40moonbitlang_2fcore_2fbuiltin_2eLogger });
1152
+ }
1093
1153
  function _M0MPC16string6String11sub_2einner(self, start, end) {
1094
1154
  const len = self.length;
1095
1155
  let end$2;
@@ -1128,15 +1188,41 @@ function _M0MPC16string10StringView4data(self) {
1128
1188
  function _M0MPC16string10StringView13start__offset(self) {
1129
1189
  return self.start;
1130
1190
  }
1191
+ function _M0IP016_24default__implPB4Show6outputGsE(self, logger) {
1192
+ logger.method_table.method_0(logger.self, _M0IPC16string6StringPB4Show10to__string(self));
1193
+ }
1194
+ function _M0IP016_24default__implPB4Show6outputGiE(self, logger) {
1195
+ logger.method_table.method_0(logger.self, _M0IPC13int3IntPB4Show10to__string(self));
1196
+ }
1131
1197
  function _M0MPB4Iter4nextGcE(self) {
1132
- const _func = self;
1133
- return _func();
1198
+ const _func = self.f;
1199
+ const result = _func();
1200
+ const _bind = self.size_hint;
1201
+ if (result === -1) {
1202
+ self.size_hint = _M0MPB4Iter4nextN6constrS8927GcE;
1203
+ } else {
1204
+ if (_bind === undefined) {
1205
+ } else {
1206
+ const _Some = _bind;
1207
+ const _n = _Some;
1208
+ self.size_hint = _n > 0 ? _n - 1 | 0 : _M0MPB4Iter4nextN6constrS8926GcE;
1209
+ }
1210
+ }
1211
+ return result;
1134
1212
  }
1135
1213
  function _M0MPC13int3Int18to__string_2einner(self, radix) {
1136
1214
  return _M0FPB19int__to__string__js(self, radix);
1137
1215
  }
1138
- function _M0MPB4Iter3newGcE(f) {
1139
- return f;
1216
+ function _M0MPB4Iter3newGcE(f, size_hint) {
1217
+ let size_hint$2;
1218
+ if (size_hint === undefined) {
1219
+ size_hint$2 = undefined;
1220
+ } else {
1221
+ const _Some = size_hint;
1222
+ const _n = _Some;
1223
+ size_hint$2 = _n > 0 ? _n : _M0MPB4Iter3newN6constrS8934GcE;
1224
+ }
1225
+ return new _M0TPB4IterGcE(f, size_hint$2);
1140
1226
  }
1141
1227
  function _M0MPC16string10StringView12view_2einner(self, start_offset, end_offset) {
1142
1228
  let end_offset$2;
@@ -1161,7 +1247,7 @@ function _M0MPC15array9ArrayView6lengthGyE(self) {
1161
1247
  return self.end - self.start | 0;
1162
1248
  }
1163
1249
  function _M0MPC16string6String11from__array(chars) {
1164
- const buf = _M0MPB13StringBuilder11new_2einner(Math.imul(_M0MPC15array9ArrayView6lengthGcE(chars), 4) | 0);
1250
+ const buf = _M0MPB13StringBuilder21StringBuilder_2einner(Math.imul(_M0MPC15array9ArrayView6lengthGcE(chars), 4) | 0);
1165
1251
  const _bind = chars.end - chars.start | 0;
1166
1252
  let _tmp = 0;
1167
1253
  while (true) {
@@ -1231,7 +1317,7 @@ function _M0FPB28boyer__moore__horspool__find(haystack, needle) {
1231
1317
  return undefined;
1232
1318
  }
1233
1319
  } else {
1234
- return _M0FPB28boyer__moore__horspool__findN6constrS8461;
1320
+ return _M0FPB28boyer__moore__horspool__findN6constrS8936;
1235
1321
  }
1236
1322
  }
1237
1323
  function _M0FPB18brute__force__find(haystack, needle) {
@@ -1273,7 +1359,7 @@ function _M0FPB18brute__force__find(haystack, needle) {
1273
1359
  return undefined;
1274
1360
  }
1275
1361
  } else {
1276
- return _M0FPB18brute__force__findN6constrS8462;
1362
+ return _M0FPB18brute__force__findN6constrS8937;
1277
1363
  }
1278
1364
  }
1279
1365
  function _M0MPC16string10StringView4find(self, str) {
@@ -1440,26 +1526,47 @@ function _M0MPC16string6String4iter(self) {
1440
1526
  } else {
1441
1527
  return -1;
1442
1528
  }
1443
- });
1529
+ }, undefined);
1444
1530
  }
1445
1531
  function _M0MPC16string6String12replace__all(self, old, new_) {
1446
1532
  const len = self.length;
1447
- const buf = _M0MPB13StringBuilder11new_2einner(len);
1533
+ const buf = _M0MPB13StringBuilder21StringBuilder_2einner(len);
1448
1534
  const old_len = _M0MPC16string10StringView6length(old);
1449
1535
  const new$2 = _M0MPC16string10StringView9to__owned(new_);
1450
1536
  if (old_len === 0) {
1451
1537
  _M0IPB13StringBuilderPB6Logger13write__string(buf, new$2);
1452
- const _it = _M0MPC16string6String4iter(self);
1538
+ const _bind = self.length;
1539
+ let _tmp = 0;
1453
1540
  while (true) {
1454
- const _bind = _M0MPB4Iter4nextGcE(_it);
1455
- if (_bind === -1) {
1456
- break;
1457
- } else {
1458
- const _Some = _bind;
1459
- const _c = _Some;
1460
- _M0IPB13StringBuilderPB6Logger11write__char(buf, _c);
1541
+ const _string_index = _tmp;
1542
+ if (_string_index < _bind) {
1543
+ let _decoded_next_string_index;
1544
+ let _decoded_char;
1545
+ _L: {
1546
+ const _bind$2 = self.charCodeAt(_string_index);
1547
+ if (_bind$2 >= 55296 && _bind$2 <= 56319 && (_string_index + 1 | 0) < _bind) {
1548
+ const _bind$3 = self.charCodeAt(_string_index + 1 | 0);
1549
+ if (_bind$3 >= 56320 && _bind$3 <= 57343) {
1550
+ _decoded_next_string_index = _string_index + 2 | 0;
1551
+ _decoded_char = _M0MPC13int3Int16unsafe__to__char((((Math.imul(_bind$2 - 55296 | 0, 1024) | 0) + _bind$3 | 0) - 56320 | 0) + 65536 | 0);
1552
+ break _L;
1553
+ } else {
1554
+ _decoded_next_string_index = _string_index + 1 | 0;
1555
+ _decoded_char = _M0MPC13int3Int16unsafe__to__char(_bind$2);
1556
+ break _L;
1557
+ }
1558
+ } else {
1559
+ _decoded_next_string_index = _string_index + 1 | 0;
1560
+ _decoded_char = _M0MPC13int3Int16unsafe__to__char(_bind$2);
1561
+ break _L;
1562
+ }
1563
+ }
1564
+ _M0IPB13StringBuilderPB6Logger11write__char(buf, _decoded_char);
1461
1565
  _M0IPB13StringBuilderPB6Logger13write__string(buf, new$2);
1566
+ _tmp = _decoded_next_string_index;
1462
1567
  continue;
1568
+ } else {
1569
+ break;
1463
1570
  }
1464
1571
  }
1465
1572
  return _M0MPB13StringBuilder10to__string(buf);
@@ -1508,16 +1615,6 @@ function _M0MPC16string6String9to__array(self) {
1508
1615
  function _M0IPC13int3IntPB4Show10to__string(self) {
1509
1616
  return _M0MPC13int3Int18to__string_2einner(self, 10);
1510
1617
  }
1511
- function _M0MPC15array9ArrayView2atGsE(self, index) {
1512
- if (index >= 0 && index < (self.end - self.start | 0)) {
1513
- const _tmp = self.buf;
1514
- const _tmp$2 = self.start + index | 0;
1515
- $bound_check(_tmp, _tmp$2);
1516
- return _tmp[_tmp$2];
1517
- } else {
1518
- return _M0FPC15abort5abortGRPB9ArrayViewGsEE(`index out of bounds: the len is from 0 to ${_M0IPC13int3IntPB4Show10to__string(self.end - self.start | 0)} but the index is ${_M0IPC13int3IntPB4Show10to__string(index)}`);
1519
- }
1520
- }
1521
1618
  function _M0MPC15array9ArrayView2atGyE(self, index) {
1522
1619
  if (index >= 0 && index < (self.end - self.start | 0)) {
1523
1620
  const _tmp = self.buf;
@@ -1525,59 +1622,22 @@ function _M0MPC15array9ArrayView2atGyE(self, index) {
1525
1622
  $bound_check(_tmp, _tmp$2);
1526
1623
  return _tmp[_tmp$2];
1527
1624
  } else {
1528
- return _M0FPC15abort5abortGyE(`index out of bounds: the len is from 0 to ${_M0IPC13int3IntPB4Show10to__string(self.end - self.start | 0)} but the index is ${_M0IPC13int3IntPB4Show10to__string(index)}`);
1625
+ const _string_builder = _M0MPB13StringBuilder21StringBuilder_2einner(60);
1626
+ _M0IPB13StringBuilderPB6Logger13write__string(_string_builder, "index out of bounds: the len is from 0 to ");
1627
+ _M0MPB13StringBuilder13write__objectGiE(_string_builder, self.end - self.start | 0);
1628
+ _M0IPB13StringBuilderPB6Logger13write__string(_string_builder, " but the index is ");
1629
+ _M0MPB13StringBuilder13write__objectGiE(_string_builder, index);
1630
+ return _M0FPC15abort5abortGyE(_M0MPB13StringBuilder10to__string(_string_builder));
1529
1631
  }
1530
1632
  }
1531
- function _M0MPC15array5Array4makeGsE(len, elem) {
1532
- const arr = new Array(len);
1533
- let _tmp = 0;
1534
- while (true) {
1535
- const i = _tmp;
1536
- if (i < len) {
1537
- arr[i] = elem;
1538
- _tmp = i + 1 | 0;
1539
- continue;
1540
- } else {
1541
- break;
1542
- }
1543
- }
1544
- return arr;
1545
- }
1546
- function _M0MPC15array5Array3setGsE(self, index, value) {
1547
- const len = self.length;
1548
- if (index >= 0 && index < len) {
1549
- $bound_check(self, index);
1550
- self[index] = value;
1551
- return;
1552
- } else {
1553
- $panic();
1554
- return;
1555
- }
1633
+ function _M0MPC15array5Array31unsafe__make__and__blit_2einnerGsE(src, allocate_len, len, src_offset, dst_offset) {
1634
+ const dst = new Array(allocate_len);
1635
+ _M0MPB18UninitializedArray12unsafe__blitGsE(dst, dst_offset, src, src_offset, len);
1636
+ return dst;
1556
1637
  }
1557
1638
  function _M0MPC15array9ArrayView9to__ownedGsE(self) {
1558
1639
  const len = _M0MPC15array9ArrayView6lengthGsE(self);
1559
- if (len === 0) {
1560
- return [];
1561
- } else {
1562
- const arr = _M0MPC15array5Array4makeGsE(len, _M0MPC15array9ArrayView2atGsE(self, 0));
1563
- const _bind = self.end - self.start | 0;
1564
- let _tmp = 0;
1565
- while (true) {
1566
- const i = _tmp;
1567
- if (i < _bind) {
1568
- const v = self.buf[self.start + i | 0];
1569
- _M0MPC15array5Array3setGsE(arr, i, v);
1570
- _tmp = i + 1 | 0;
1571
- continue;
1572
- } else {
1573
- break;
1574
- }
1575
- }
1576
- return arr;
1577
- }
1578
- }
1579
- function _M0MPC16double6Double10to__string(self) {
1580
- return _M0FPB15ryu__to__string(self);
1640
+ return len === 0 ? [] : _M0MPC15array5Array31unsafe__make__and__blit_2einnerGsE(self.buf, len, len, self.start, 0);
1581
1641
  }
1582
1642
  function _M0MPC15bytes5Bytes5makei(length, value) {
1583
1643
  if (length <= 0) {
@@ -1623,6 +1683,9 @@ function _M0MPC15array5Array12view_2einnerGsE(self, start, end) {
1623
1683
  return _M0FPC15abort5abortGRPB9ArrayViewGsEE("View index out of bounds");
1624
1684
  }
1625
1685
  }
1686
+ function _M0MPC15array5Array9is__emptyGRP48username4core3src5lexer5TokenE(self) {
1687
+ return self.length === 0;
1688
+ }
1626
1689
  function _M0MPC15array5Array2atGsE(self, index) {
1627
1690
  const len = self.length;
1628
1691
  if (index >= 0 && index < len) {
@@ -1663,9 +1726,6 @@ function _M0IPC15array5ArrayPB2Eq5equalGsE(self, other) {
1663
1726
  return false;
1664
1727
  }
1665
1728
  }
1666
- function _M0MPC15array5Array9is__emptyGRP48username4core3src5lexer5TokenE(self) {
1667
- return self.length === 0;
1668
- }
1669
1729
  function _M0FP411moonbitlang1x8internal3ffi28mbt__string__to__utf8__bytes(str, is_filename) {
1670
1730
  const res = [];
1671
1731
  const len = str.length;
@@ -1797,7 +1857,11 @@ function _M0FP311moonbitlang1x2fs40read__file__to__string__internal_2einner(path
1797
1857
  }
1798
1858
  return new _M0DTPC16result6ResultGsRP311moonbitlang1x2fs7IOErrorE2Ok(_M0FP411moonbitlang1x8internal3ffi28utf8__bytes__to__mbt__string(bytes));
1799
1859
  } else {
1800
- return new _M0DTPC16result6ResultGsRP311moonbitlang1x2fs7IOErrorE3Err(new _M0DTPC15error5Error40moonbitlang_2fx_2ffs_2eIOError_2eIOError(`Unsupported encoding: ${_M0IPC16string6StringPB4Show10to__string(encoding)}, only utf8 is supported for now`));
1860
+ const _string_builder = _M0MPB13StringBuilder21StringBuilder_2einner(54);
1861
+ _M0IPB13StringBuilderPB6Logger13write__string(_string_builder, "Unsupported encoding: ");
1862
+ _M0MPB13StringBuilder13write__objectGsE(_string_builder, encoding);
1863
+ _M0IPB13StringBuilderPB6Logger13write__string(_string_builder, ", only utf8 is supported for now");
1864
+ return new _M0DTPC16result6ResultGsRP311moonbitlang1x2fs7IOErrorE3Err(new _M0DTPC15error5Error40moonbitlang_2fx_2ffs_2eIOError_2eIOError(_M0MPB13StringBuilder10to__string(_string_builder)));
1801
1865
  }
1802
1866
  }
1803
1867
  function _M0FP311moonbitlang1x2fs32write__bytes__to__file__internal(path, content) {
@@ -1813,7 +1877,11 @@ function _M0FP311moonbitlang1x2fs41write__string__to__file__internal_2einner(pat
1813
1877
  const bytes = _M0FP411moonbitlang1x8internal3ffi28mbt__string__to__utf8__bytes(content, false);
1814
1878
  return _M0FP311moonbitlang1x2fs32write__bytes__to__file__internal(path, bytes);
1815
1879
  } else {
1816
- return new _M0DTPC16result6ResultGuRP311moonbitlang1x2fs7IOErrorE3Err(new _M0DTPC15error5Error40moonbitlang_2fx_2ffs_2eIOError_2eIOError(`Unsupported encoding: ${_M0IPC16string6StringPB4Show10to__string(encoding)}, only utf8 is supported for now`));
1880
+ const _string_builder = _M0MPB13StringBuilder21StringBuilder_2einner(54);
1881
+ _M0IPB13StringBuilderPB6Logger13write__string(_string_builder, "Unsupported encoding: ");
1882
+ _M0MPB13StringBuilder13write__objectGsE(_string_builder, encoding);
1883
+ _M0IPB13StringBuilderPB6Logger13write__string(_string_builder, ", only utf8 is supported for now");
1884
+ return new _M0DTPC16result6ResultGuRP311moonbitlang1x2fs7IOErrorE3Err(new _M0DTPC15error5Error40moonbitlang_2fx_2ffs_2eIOError_2eIOError(_M0MPB13StringBuilder10to__string(_string_builder)));
1817
1885
  }
1818
1886
  }
1819
1887
  function _M0FP311moonbitlang1x2fs30read__file__to__string_2einner(path, encoding) {
@@ -1828,913 +1896,920 @@ function _M0FP511moonbitlang1x3sys8internal3ffi14get__cli__args() {
1828
1896
  function _M0FP311moonbitlang1x3sys14get__cli__args() {
1829
1897
  return _M0FP511moonbitlang1x3sys8internal3ffi14get__cli__args();
1830
1898
  }
1831
- function _M0IP48username4core3src5lexer9TokenKindPB2Eq5equal(_x_104, _x_105) {
1832
- let _x0_128;
1833
- let _y0_129;
1899
+ function _M0IP48username4core3src5lexer9TokenKindPB2Eq5equal(_x_114, _x_115) {
1900
+ let _x0_138;
1901
+ let _y0_139;
1834
1902
  _L: {
1835
- let _x0_126;
1836
- let _y0_127;
1903
+ let _x0_136;
1904
+ let _y0_137;
1837
1905
  _L$2: {
1838
- let _x0_124;
1839
- let _y0_125;
1906
+ let _x0_134;
1907
+ let _y0_135;
1840
1908
  _L$3: {
1841
- let _x0_122;
1842
- let _y0_123;
1909
+ let _x0_132;
1910
+ let _y0_133;
1843
1911
  _L$4: {
1844
- let _x0_120;
1845
- let _y0_121;
1912
+ let _x0_130;
1913
+ let _y0_131;
1846
1914
  _L$5: {
1847
- let _x0_118;
1848
- let _y0_119;
1915
+ let _x0_128;
1916
+ let _y0_129;
1849
1917
  _L$6: {
1850
- let _x1_115;
1851
- let _x0_114;
1852
- let _y0_116;
1853
- let _y1_117;
1918
+ let _x1_125;
1919
+ let _x0_124;
1920
+ let _y0_126;
1921
+ let _y1_127;
1854
1922
  _L$7: {
1855
- let _x0_112;
1856
- let _y0_113;
1923
+ let _x0_122;
1924
+ let _y0_123;
1857
1925
  _L$8: {
1858
- let _x0_110;
1859
- let _y0_111;
1926
+ let _x0_120;
1927
+ let _y0_121;
1860
1928
  _L$9: {
1861
- let _x0_108;
1862
- let _y0_109;
1929
+ let _x0_118;
1930
+ let _y0_119;
1863
1931
  _L$10: {
1864
- let _x0_106;
1865
- let _y0_107;
1932
+ let _x0_116;
1933
+ let _y0_117;
1866
1934
  _L$11: {
1867
- switch (_x_104.$tag) {
1935
+ switch (_x_114.$tag) {
1868
1936
  case 0: {
1869
- const _Int = _x_104;
1870
- const _$42$x0_106 = _Int._0;
1871
- if (_x_105.$tag === 0) {
1872
- const _Int$2 = _x_105;
1873
- const _$42$y0_107 = _Int$2._0;
1874
- _x0_106 = _$42$x0_106;
1875
- _y0_107 = _$42$y0_107;
1937
+ const _Int = _x_114;
1938
+ const _$42$x0_116 = _Int._0;
1939
+ if (_x_115.$tag === 0) {
1940
+ const _Int$2 = _x_115;
1941
+ const _$42$y0_117 = _Int$2._0;
1942
+ _x0_116 = _$42$x0_116;
1943
+ _y0_117 = _$42$y0_117;
1876
1944
  break _L$11;
1877
1945
  } else {
1878
1946
  return false;
1879
1947
  }
1880
1948
  }
1881
1949
  case 1: {
1882
- const _BigInt = _x_104;
1883
- const _$42$x0_108 = _BigInt._0;
1884
- if (_x_105.$tag === 1) {
1885
- const _BigInt$2 = _x_105;
1886
- const _$42$y0_109 = _BigInt$2._0;
1887
- _x0_108 = _$42$x0_108;
1888
- _y0_109 = _$42$y0_109;
1950
+ const _BigInt = _x_114;
1951
+ const _$42$x0_118 = _BigInt._0;
1952
+ if (_x_115.$tag === 1) {
1953
+ const _BigInt$2 = _x_115;
1954
+ const _$42$y0_119 = _BigInt$2._0;
1955
+ _x0_118 = _$42$x0_118;
1956
+ _y0_119 = _$42$y0_119;
1889
1957
  break _L$10;
1890
1958
  } else {
1891
1959
  return false;
1892
1960
  }
1893
1961
  }
1894
1962
  case 2: {
1895
- const _Float = _x_104;
1896
- const _$42$x0_110 = _Float._0;
1897
- if (_x_105.$tag === 2) {
1898
- const _Float$2 = _x_105;
1899
- const _$42$y0_111 = _Float$2._0;
1900
- _x0_110 = _$42$x0_110;
1901
- _y0_111 = _$42$y0_111;
1963
+ const _Float = _x_114;
1964
+ const _$42$x0_120 = _Float._0;
1965
+ if (_x_115.$tag === 2) {
1966
+ const _Float$2 = _x_115;
1967
+ const _$42$y0_121 = _Float$2._0;
1968
+ _x0_120 = _$42$x0_120;
1969
+ _y0_121 = _$42$y0_121;
1902
1970
  break _L$9;
1903
1971
  } else {
1904
1972
  return false;
1905
1973
  }
1906
1974
  }
1907
1975
  case 3: {
1908
- const _Str = _x_104;
1909
- const _$42$x0_112 = _Str._0;
1910
- if (_x_105.$tag === 3) {
1911
- const _Str$2 = _x_105;
1912
- const _$42$y0_113 = _Str$2._0;
1913
- _x0_112 = _$42$x0_112;
1914
- _y0_113 = _$42$y0_113;
1976
+ const _Str = _x_114;
1977
+ const _$42$x0_122 = _Str._0;
1978
+ if (_x_115.$tag === 3) {
1979
+ const _Str$2 = _x_115;
1980
+ const _$42$y0_123 = _Str$2._0;
1981
+ _x0_122 = _$42$x0_122;
1982
+ _y0_123 = _$42$y0_123;
1915
1983
  break _L$8;
1916
1984
  } else {
1917
1985
  return false;
1918
1986
  }
1919
1987
  }
1920
1988
  case 4: {
1921
- const _Regex = _x_104;
1922
- const _$42$x0_114 = _Regex._0;
1923
- const _$42$x1_115 = _Regex._1;
1924
- if (_x_105.$tag === 4) {
1925
- const _Regex$2 = _x_105;
1926
- const _$42$y0_116 = _Regex$2._0;
1927
- const _$42$y1_117 = _Regex$2._1;
1928
- _x1_115 = _$42$x1_115;
1929
- _x0_114 = _$42$x0_114;
1930
- _y0_116 = _$42$y0_116;
1931
- _y1_117 = _$42$y1_117;
1989
+ const _Regex = _x_114;
1990
+ const _$42$x0_124 = _Regex._0;
1991
+ const _$42$x1_125 = _Regex._1;
1992
+ if (_x_115.$tag === 4) {
1993
+ const _Regex$2 = _x_115;
1994
+ const _$42$y0_126 = _Regex$2._0;
1995
+ const _$42$y1_127 = _Regex$2._1;
1996
+ _x1_125 = _$42$x1_125;
1997
+ _x0_124 = _$42$x0_124;
1998
+ _y0_126 = _$42$y0_126;
1999
+ _y1_127 = _$42$y1_127;
1932
2000
  break _L$7;
1933
2001
  } else {
1934
2002
  return false;
1935
2003
  }
1936
2004
  }
1937
2005
  case 5: {
1938
- if (_x_105.$tag === 5) {
2006
+ if (_x_115.$tag === 5) {
1939
2007
  return true;
1940
2008
  } else {
1941
2009
  return false;
1942
2010
  }
1943
2011
  }
1944
2012
  case 6: {
1945
- if (_x_105.$tag === 6) {
2013
+ if (_x_115.$tag === 6) {
1946
2014
  return true;
1947
2015
  } else {
1948
2016
  return false;
1949
2017
  }
1950
2018
  }
1951
2019
  case 7: {
1952
- const _Ident = _x_104;
1953
- const _$42$x0_118 = _Ident._0;
1954
- if (_x_105.$tag === 7) {
1955
- const _Ident$2 = _x_105;
1956
- const _$42$y0_119 = _Ident$2._0;
1957
- _x0_118 = _$42$x0_118;
1958
- _y0_119 = _$42$y0_119;
2020
+ const _Ident = _x_114;
2021
+ const _$42$x0_128 = _Ident._0;
2022
+ if (_x_115.$tag === 7) {
2023
+ const _Ident$2 = _x_115;
2024
+ const _$42$y0_129 = _Ident$2._0;
2025
+ _x0_128 = _$42$x0_128;
2026
+ _y0_129 = _$42$y0_129;
1959
2027
  break _L$6;
1960
2028
  } else {
1961
2029
  return false;
1962
2030
  }
1963
2031
  }
1964
2032
  case 8: {
1965
- if (_x_105.$tag === 8) {
2033
+ if (_x_115.$tag === 8) {
1966
2034
  return true;
1967
2035
  } else {
1968
2036
  return false;
1969
2037
  }
1970
2038
  }
1971
2039
  case 9: {
1972
- if (_x_105.$tag === 9) {
2040
+ if (_x_115.$tag === 9) {
1973
2041
  return true;
1974
2042
  } else {
1975
2043
  return false;
1976
2044
  }
1977
2045
  }
1978
2046
  case 10: {
1979
- if (_x_105.$tag === 10) {
2047
+ if (_x_115.$tag === 10) {
1980
2048
  return true;
1981
2049
  } else {
1982
2050
  return false;
1983
2051
  }
1984
2052
  }
1985
2053
  case 11: {
1986
- if (_x_105.$tag === 11) {
2054
+ if (_x_115.$tag === 11) {
1987
2055
  return true;
1988
2056
  } else {
1989
2057
  return false;
1990
2058
  }
1991
2059
  }
1992
2060
  case 12: {
1993
- if (_x_105.$tag === 12) {
2061
+ if (_x_115.$tag === 12) {
1994
2062
  return true;
1995
2063
  } else {
1996
2064
  return false;
1997
2065
  }
1998
2066
  }
1999
2067
  case 13: {
2000
- if (_x_105.$tag === 13) {
2068
+ if (_x_115.$tag === 13) {
2001
2069
  return true;
2002
2070
  } else {
2003
2071
  return false;
2004
2072
  }
2005
2073
  }
2006
2074
  case 14: {
2007
- if (_x_105.$tag === 14) {
2075
+ if (_x_115.$tag === 14) {
2008
2076
  return true;
2009
2077
  } else {
2010
2078
  return false;
2011
2079
  }
2012
2080
  }
2013
2081
  case 15: {
2014
- if (_x_105.$tag === 15) {
2082
+ if (_x_115.$tag === 15) {
2015
2083
  return true;
2016
2084
  } else {
2017
2085
  return false;
2018
2086
  }
2019
2087
  }
2020
2088
  case 16: {
2021
- if (_x_105.$tag === 16) {
2089
+ if (_x_115.$tag === 16) {
2022
2090
  return true;
2023
2091
  } else {
2024
2092
  return false;
2025
2093
  }
2026
2094
  }
2027
2095
  case 17: {
2028
- if (_x_105.$tag === 17) {
2096
+ if (_x_115.$tag === 17) {
2029
2097
  return true;
2030
2098
  } else {
2031
2099
  return false;
2032
2100
  }
2033
2101
  }
2034
2102
  case 18: {
2035
- if (_x_105.$tag === 18) {
2103
+ if (_x_115.$tag === 18) {
2036
2104
  return true;
2037
2105
  } else {
2038
2106
  return false;
2039
2107
  }
2040
2108
  }
2041
2109
  case 19: {
2042
- if (_x_105.$tag === 19) {
2110
+ if (_x_115.$tag === 19) {
2043
2111
  return true;
2044
2112
  } else {
2045
2113
  return false;
2046
2114
  }
2047
2115
  }
2048
2116
  case 20: {
2049
- if (_x_105.$tag === 20) {
2117
+ if (_x_115.$tag === 20) {
2050
2118
  return true;
2051
2119
  } else {
2052
2120
  return false;
2053
2121
  }
2054
2122
  }
2055
2123
  case 21: {
2056
- if (_x_105.$tag === 21) {
2124
+ if (_x_115.$tag === 21) {
2057
2125
  return true;
2058
2126
  } else {
2059
2127
  return false;
2060
2128
  }
2061
2129
  }
2062
2130
  case 22: {
2063
- if (_x_105.$tag === 22) {
2131
+ if (_x_115.$tag === 22) {
2064
2132
  return true;
2065
2133
  } else {
2066
2134
  return false;
2067
2135
  }
2068
2136
  }
2069
2137
  case 23: {
2070
- if (_x_105.$tag === 23) {
2138
+ if (_x_115.$tag === 23) {
2071
2139
  return true;
2072
2140
  } else {
2073
2141
  return false;
2074
2142
  }
2075
2143
  }
2076
2144
  case 24: {
2077
- if (_x_105.$tag === 24) {
2145
+ if (_x_115.$tag === 24) {
2078
2146
  return true;
2079
2147
  } else {
2080
2148
  return false;
2081
2149
  }
2082
2150
  }
2083
2151
  case 25: {
2084
- if (_x_105.$tag === 25) {
2152
+ if (_x_115.$tag === 25) {
2085
2153
  return true;
2086
2154
  } else {
2087
2155
  return false;
2088
2156
  }
2089
2157
  }
2090
2158
  case 26: {
2091
- if (_x_105.$tag === 26) {
2159
+ if (_x_115.$tag === 26) {
2092
2160
  return true;
2093
2161
  } else {
2094
2162
  return false;
2095
2163
  }
2096
2164
  }
2097
2165
  case 27: {
2098
- if (_x_105.$tag === 27) {
2166
+ if (_x_115.$tag === 27) {
2099
2167
  return true;
2100
2168
  } else {
2101
2169
  return false;
2102
2170
  }
2103
2171
  }
2104
2172
  case 28: {
2105
- if (_x_105.$tag === 28) {
2173
+ if (_x_115.$tag === 28) {
2106
2174
  return true;
2107
2175
  } else {
2108
2176
  return false;
2109
2177
  }
2110
2178
  }
2111
2179
  case 29: {
2112
- if (_x_105.$tag === 29) {
2180
+ if (_x_115.$tag === 29) {
2113
2181
  return true;
2114
2182
  } else {
2115
2183
  return false;
2116
2184
  }
2117
2185
  }
2118
2186
  case 30: {
2119
- if (_x_105.$tag === 30) {
2187
+ if (_x_115.$tag === 30) {
2120
2188
  return true;
2121
2189
  } else {
2122
2190
  return false;
2123
2191
  }
2124
2192
  }
2125
2193
  case 31: {
2126
- if (_x_105.$tag === 31) {
2194
+ if (_x_115.$tag === 31) {
2127
2195
  return true;
2128
2196
  } else {
2129
2197
  return false;
2130
2198
  }
2131
2199
  }
2132
2200
  case 32: {
2133
- if (_x_105.$tag === 32) {
2201
+ if (_x_115.$tag === 32) {
2134
2202
  return true;
2135
2203
  } else {
2136
2204
  return false;
2137
2205
  }
2138
2206
  }
2139
2207
  case 33: {
2140
- if (_x_105.$tag === 33) {
2208
+ if (_x_115.$tag === 33) {
2141
2209
  return true;
2142
2210
  } else {
2143
2211
  return false;
2144
2212
  }
2145
2213
  }
2146
2214
  case 34: {
2147
- if (_x_105.$tag === 34) {
2215
+ if (_x_115.$tag === 34) {
2148
2216
  return true;
2149
2217
  } else {
2150
2218
  return false;
2151
2219
  }
2152
2220
  }
2153
2221
  case 35: {
2154
- if (_x_105.$tag === 35) {
2222
+ if (_x_115.$tag === 35) {
2155
2223
  return true;
2156
2224
  } else {
2157
2225
  return false;
2158
2226
  }
2159
2227
  }
2160
2228
  case 36: {
2161
- if (_x_105.$tag === 36) {
2229
+ if (_x_115.$tag === 36) {
2162
2230
  return true;
2163
2231
  } else {
2164
2232
  return false;
2165
2233
  }
2166
2234
  }
2167
2235
  case 37: {
2168
- if (_x_105.$tag === 37) {
2236
+ if (_x_115.$tag === 37) {
2169
2237
  return true;
2170
2238
  } else {
2171
2239
  return false;
2172
2240
  }
2173
2241
  }
2174
2242
  case 38: {
2175
- if (_x_105.$tag === 38) {
2243
+ if (_x_115.$tag === 38) {
2176
2244
  return true;
2177
2245
  } else {
2178
2246
  return false;
2179
2247
  }
2180
2248
  }
2181
2249
  case 39: {
2182
- if (_x_105.$tag === 39) {
2250
+ if (_x_115.$tag === 39) {
2183
2251
  return true;
2184
2252
  } else {
2185
2253
  return false;
2186
2254
  }
2187
2255
  }
2188
2256
  case 40: {
2189
- if (_x_105.$tag === 40) {
2257
+ if (_x_115.$tag === 40) {
2190
2258
  return true;
2191
2259
  } else {
2192
2260
  return false;
2193
2261
  }
2194
2262
  }
2195
2263
  case 41: {
2196
- if (_x_105.$tag === 41) {
2264
+ if (_x_115.$tag === 41) {
2197
2265
  return true;
2198
2266
  } else {
2199
2267
  return false;
2200
2268
  }
2201
2269
  }
2202
2270
  case 42: {
2203
- if (_x_105.$tag === 42) {
2271
+ if (_x_115.$tag === 42) {
2204
2272
  return true;
2205
2273
  } else {
2206
2274
  return false;
2207
2275
  }
2208
2276
  }
2209
2277
  case 43: {
2210
- if (_x_105.$tag === 43) {
2278
+ if (_x_115.$tag === 43) {
2211
2279
  return true;
2212
2280
  } else {
2213
2281
  return false;
2214
2282
  }
2215
2283
  }
2216
2284
  case 44: {
2217
- if (_x_105.$tag === 44) {
2285
+ if (_x_115.$tag === 44) {
2218
2286
  return true;
2219
2287
  } else {
2220
2288
  return false;
2221
2289
  }
2222
2290
  }
2223
2291
  case 45: {
2224
- if (_x_105.$tag === 45) {
2292
+ if (_x_115.$tag === 45) {
2225
2293
  return true;
2226
2294
  } else {
2227
2295
  return false;
2228
2296
  }
2229
2297
  }
2230
2298
  case 46: {
2231
- if (_x_105.$tag === 46) {
2299
+ if (_x_115.$tag === 46) {
2232
2300
  return true;
2233
2301
  } else {
2234
2302
  return false;
2235
2303
  }
2236
2304
  }
2237
2305
  case 47: {
2238
- if (_x_105.$tag === 47) {
2306
+ if (_x_115.$tag === 47) {
2239
2307
  return true;
2240
2308
  } else {
2241
2309
  return false;
2242
2310
  }
2243
2311
  }
2244
2312
  case 48: {
2245
- if (_x_105.$tag === 48) {
2313
+ if (_x_115.$tag === 48) {
2246
2314
  return true;
2247
2315
  } else {
2248
2316
  return false;
2249
2317
  }
2250
2318
  }
2251
2319
  case 49: {
2252
- if (_x_105.$tag === 49) {
2320
+ if (_x_115.$tag === 49) {
2253
2321
  return true;
2254
2322
  } else {
2255
2323
  return false;
2256
2324
  }
2257
2325
  }
2258
2326
  case 50: {
2259
- if (_x_105.$tag === 50) {
2327
+ if (_x_115.$tag === 50) {
2260
2328
  return true;
2261
2329
  } else {
2262
2330
  return false;
2263
2331
  }
2264
2332
  }
2265
2333
  case 51: {
2266
- if (_x_105.$tag === 51) {
2334
+ if (_x_115.$tag === 51) {
2267
2335
  return true;
2268
2336
  } else {
2269
2337
  return false;
2270
2338
  }
2271
2339
  }
2272
2340
  case 52: {
2273
- if (_x_105.$tag === 52) {
2341
+ if (_x_115.$tag === 52) {
2274
2342
  return true;
2275
2343
  } else {
2276
2344
  return false;
2277
2345
  }
2278
2346
  }
2279
2347
  case 53: {
2280
- if (_x_105.$tag === 53) {
2348
+ if (_x_115.$tag === 53) {
2281
2349
  return true;
2282
2350
  } else {
2283
2351
  return false;
2284
2352
  }
2285
2353
  }
2286
2354
  case 54: {
2287
- if (_x_105.$tag === 54) {
2355
+ if (_x_115.$tag === 54) {
2288
2356
  return true;
2289
2357
  } else {
2290
2358
  return false;
2291
2359
  }
2292
2360
  }
2293
2361
  case 55: {
2294
- if (_x_105.$tag === 55) {
2362
+ if (_x_115.$tag === 55) {
2295
2363
  return true;
2296
2364
  } else {
2297
2365
  return false;
2298
2366
  }
2299
2367
  }
2300
2368
  case 56: {
2301
- if (_x_105.$tag === 56) {
2369
+ if (_x_115.$tag === 56) {
2302
2370
  return true;
2303
2371
  } else {
2304
2372
  return false;
2305
2373
  }
2306
2374
  }
2307
2375
  case 57: {
2308
- if (_x_105.$tag === 57) {
2376
+ if (_x_115.$tag === 57) {
2309
2377
  return true;
2310
2378
  } else {
2311
2379
  return false;
2312
2380
  }
2313
2381
  }
2314
2382
  case 58: {
2315
- if (_x_105.$tag === 58) {
2383
+ if (_x_115.$tag === 58) {
2316
2384
  return true;
2317
2385
  } else {
2318
2386
  return false;
2319
2387
  }
2320
2388
  }
2321
2389
  case 59: {
2322
- if (_x_105.$tag === 59) {
2390
+ if (_x_115.$tag === 59) {
2323
2391
  return true;
2324
2392
  } else {
2325
2393
  return false;
2326
2394
  }
2327
2395
  }
2328
2396
  case 60: {
2329
- if (_x_105.$tag === 60) {
2397
+ if (_x_115.$tag === 60) {
2330
2398
  return true;
2331
2399
  } else {
2332
2400
  return false;
2333
2401
  }
2334
2402
  }
2335
2403
  case 61: {
2336
- if (_x_105.$tag === 61) {
2404
+ if (_x_115.$tag === 61) {
2337
2405
  return true;
2338
2406
  } else {
2339
2407
  return false;
2340
2408
  }
2341
2409
  }
2342
2410
  case 62: {
2343
- if (_x_105.$tag === 62) {
2411
+ if (_x_115.$tag === 62) {
2344
2412
  return true;
2345
2413
  } else {
2346
2414
  return false;
2347
2415
  }
2348
2416
  }
2349
2417
  case 63: {
2350
- if (_x_105.$tag === 63) {
2418
+ if (_x_115.$tag === 63) {
2351
2419
  return true;
2352
2420
  } else {
2353
2421
  return false;
2354
2422
  }
2355
2423
  }
2356
2424
  case 64: {
2357
- if (_x_105.$tag === 64) {
2425
+ if (_x_115.$tag === 64) {
2358
2426
  return true;
2359
2427
  } else {
2360
2428
  return false;
2361
2429
  }
2362
2430
  }
2363
2431
  case 65: {
2364
- if (_x_105.$tag === 65) {
2432
+ if (_x_115.$tag === 65) {
2365
2433
  return true;
2366
2434
  } else {
2367
2435
  return false;
2368
2436
  }
2369
2437
  }
2370
2438
  case 66: {
2371
- if (_x_105.$tag === 66) {
2439
+ if (_x_115.$tag === 66) {
2372
2440
  return true;
2373
2441
  } else {
2374
2442
  return false;
2375
2443
  }
2376
2444
  }
2377
2445
  case 67: {
2378
- if (_x_105.$tag === 67) {
2446
+ if (_x_115.$tag === 67) {
2379
2447
  return true;
2380
2448
  } else {
2381
2449
  return false;
2382
2450
  }
2383
2451
  }
2384
2452
  case 68: {
2385
- if (_x_105.$tag === 68) {
2453
+ if (_x_115.$tag === 68) {
2386
2454
  return true;
2387
2455
  } else {
2388
2456
  return false;
2389
2457
  }
2390
2458
  }
2391
2459
  case 69: {
2392
- if (_x_105.$tag === 69) {
2460
+ if (_x_115.$tag === 69) {
2393
2461
  return true;
2394
2462
  } else {
2395
2463
  return false;
2396
2464
  }
2397
2465
  }
2398
2466
  case 70: {
2399
- if (_x_105.$tag === 70) {
2467
+ if (_x_115.$tag === 70) {
2400
2468
  return true;
2401
2469
  } else {
2402
2470
  return false;
2403
2471
  }
2404
2472
  }
2405
2473
  case 71: {
2406
- if (_x_105.$tag === 71) {
2474
+ if (_x_115.$tag === 71) {
2407
2475
  return true;
2408
2476
  } else {
2409
2477
  return false;
2410
2478
  }
2411
2479
  }
2412
2480
  case 72: {
2413
- if (_x_105.$tag === 72) {
2481
+ if (_x_115.$tag === 72) {
2414
2482
  return true;
2415
2483
  } else {
2416
2484
  return false;
2417
2485
  }
2418
2486
  }
2419
2487
  case 73: {
2420
- if (_x_105.$tag === 73) {
2488
+ if (_x_115.$tag === 73) {
2421
2489
  return true;
2422
2490
  } else {
2423
2491
  return false;
2424
2492
  }
2425
2493
  }
2426
2494
  case 74: {
2427
- if (_x_105.$tag === 74) {
2495
+ if (_x_115.$tag === 74) {
2428
2496
  return true;
2429
2497
  } else {
2430
2498
  return false;
2431
2499
  }
2432
2500
  }
2433
2501
  case 75: {
2434
- if (_x_105.$tag === 75) {
2502
+ if (_x_115.$tag === 75) {
2435
2503
  return true;
2436
2504
  } else {
2437
2505
  return false;
2438
2506
  }
2439
2507
  }
2440
2508
  case 76: {
2441
- if (_x_105.$tag === 76) {
2509
+ if (_x_115.$tag === 76) {
2442
2510
  return true;
2443
2511
  } else {
2444
2512
  return false;
2445
2513
  }
2446
2514
  }
2447
2515
  case 77: {
2448
- if (_x_105.$tag === 77) {
2516
+ if (_x_115.$tag === 77) {
2449
2517
  return true;
2450
2518
  } else {
2451
2519
  return false;
2452
2520
  }
2453
2521
  }
2454
2522
  case 78: {
2455
- if (_x_105.$tag === 78) {
2523
+ if (_x_115.$tag === 78) {
2456
2524
  return true;
2457
2525
  } else {
2458
2526
  return false;
2459
2527
  }
2460
2528
  }
2461
2529
  case 79: {
2462
- if (_x_105.$tag === 79) {
2530
+ if (_x_115.$tag === 79) {
2463
2531
  return true;
2464
2532
  } else {
2465
2533
  return false;
2466
2534
  }
2467
2535
  }
2468
2536
  case 80: {
2469
- if (_x_105.$tag === 80) {
2537
+ if (_x_115.$tag === 80) {
2470
2538
  return true;
2471
2539
  } else {
2472
2540
  return false;
2473
2541
  }
2474
2542
  }
2475
2543
  case 81: {
2476
- if (_x_105.$tag === 81) {
2544
+ if (_x_115.$tag === 81) {
2477
2545
  return true;
2478
2546
  } else {
2479
2547
  return false;
2480
2548
  }
2481
2549
  }
2482
2550
  case 82: {
2483
- if (_x_105.$tag === 82) {
2551
+ if (_x_115.$tag === 82) {
2484
2552
  return true;
2485
2553
  } else {
2486
2554
  return false;
2487
2555
  }
2488
2556
  }
2489
2557
  case 83: {
2490
- if (_x_105.$tag === 83) {
2558
+ if (_x_115.$tag === 83) {
2491
2559
  return true;
2492
2560
  } else {
2493
2561
  return false;
2494
2562
  }
2495
2563
  }
2496
2564
  case 84: {
2497
- if (_x_105.$tag === 84) {
2565
+ if (_x_115.$tag === 84) {
2498
2566
  return true;
2499
2567
  } else {
2500
2568
  return false;
2501
2569
  }
2502
2570
  }
2503
2571
  case 85: {
2504
- if (_x_105.$tag === 85) {
2572
+ if (_x_115.$tag === 85) {
2505
2573
  return true;
2506
2574
  } else {
2507
2575
  return false;
2508
2576
  }
2509
2577
  }
2510
2578
  case 86: {
2511
- if (_x_105.$tag === 86) {
2579
+ if (_x_115.$tag === 86) {
2512
2580
  return true;
2513
2581
  } else {
2514
2582
  return false;
2515
2583
  }
2516
2584
  }
2517
2585
  case 87: {
2518
- if (_x_105.$tag === 87) {
2586
+ if (_x_115.$tag === 87) {
2519
2587
  return true;
2520
2588
  } else {
2521
2589
  return false;
2522
2590
  }
2523
2591
  }
2524
2592
  case 88: {
2525
- if (_x_105.$tag === 88) {
2593
+ if (_x_115.$tag === 88) {
2526
2594
  return true;
2527
2595
  } else {
2528
2596
  return false;
2529
2597
  }
2530
2598
  }
2531
2599
  case 89: {
2532
- if (_x_105.$tag === 89) {
2600
+ if (_x_115.$tag === 89) {
2533
2601
  return true;
2534
2602
  } else {
2535
2603
  return false;
2536
2604
  }
2537
2605
  }
2538
2606
  case 90: {
2539
- if (_x_105.$tag === 90) {
2607
+ if (_x_115.$tag === 90) {
2540
2608
  return true;
2541
2609
  } else {
2542
2610
  return false;
2543
2611
  }
2544
2612
  }
2545
2613
  case 91: {
2546
- if (_x_105.$tag === 91) {
2614
+ if (_x_115.$tag === 91) {
2547
2615
  return true;
2548
2616
  } else {
2549
2617
  return false;
2550
2618
  }
2551
2619
  }
2552
2620
  case 92: {
2553
- if (_x_105.$tag === 92) {
2621
+ if (_x_115.$tag === 92) {
2554
2622
  return true;
2555
2623
  } else {
2556
2624
  return false;
2557
2625
  }
2558
2626
  }
2559
2627
  case 93: {
2560
- if (_x_105.$tag === 93) {
2628
+ if (_x_115.$tag === 93) {
2561
2629
  return true;
2562
2630
  } else {
2563
2631
  return false;
2564
2632
  }
2565
2633
  }
2566
2634
  case 94: {
2567
- if (_x_105.$tag === 94) {
2635
+ if (_x_115.$tag === 94) {
2568
2636
  return true;
2569
2637
  } else {
2570
2638
  return false;
2571
2639
  }
2572
2640
  }
2573
2641
  case 95: {
2574
- if (_x_105.$tag === 95) {
2642
+ if (_x_115.$tag === 95) {
2575
2643
  return true;
2576
2644
  } else {
2577
2645
  return false;
2578
2646
  }
2579
2647
  }
2580
2648
  case 96: {
2581
- if (_x_105.$tag === 96) {
2649
+ if (_x_115.$tag === 96) {
2582
2650
  return true;
2583
2651
  } else {
2584
2652
  return false;
2585
2653
  }
2586
2654
  }
2587
2655
  case 97: {
2588
- if (_x_105.$tag === 97) {
2656
+ if (_x_115.$tag === 97) {
2589
2657
  return true;
2590
2658
  } else {
2591
2659
  return false;
2592
2660
  }
2593
2661
  }
2594
2662
  case 98: {
2595
- if (_x_105.$tag === 98) {
2663
+ if (_x_115.$tag === 98) {
2596
2664
  return true;
2597
2665
  } else {
2598
2666
  return false;
2599
2667
  }
2600
2668
  }
2601
2669
  case 99: {
2602
- if (_x_105.$tag === 99) {
2670
+ if (_x_115.$tag === 99) {
2603
2671
  return true;
2604
2672
  } else {
2605
2673
  return false;
2606
2674
  }
2607
2675
  }
2608
2676
  case 100: {
2609
- if (_x_105.$tag === 100) {
2677
+ if (_x_115.$tag === 100) {
2610
2678
  return true;
2611
2679
  } else {
2612
2680
  return false;
2613
2681
  }
2614
2682
  }
2615
2683
  case 101: {
2616
- if (_x_105.$tag === 101) {
2684
+ if (_x_115.$tag === 101) {
2617
2685
  return true;
2618
2686
  } else {
2619
2687
  return false;
2620
2688
  }
2621
2689
  }
2622
2690
  case 102: {
2623
- if (_x_105.$tag === 102) {
2691
+ if (_x_115.$tag === 102) {
2624
2692
  return true;
2625
2693
  } else {
2626
2694
  return false;
2627
2695
  }
2628
2696
  }
2629
2697
  case 103: {
2630
- if (_x_105.$tag === 103) {
2698
+ if (_x_115.$tag === 103) {
2631
2699
  return true;
2632
2700
  } else {
2633
2701
  return false;
2634
2702
  }
2635
2703
  }
2636
2704
  case 104: {
2637
- if (_x_105.$tag === 104) {
2705
+ if (_x_115.$tag === 104) {
2638
2706
  return true;
2639
2707
  } else {
2640
2708
  return false;
2641
2709
  }
2642
2710
  }
2643
2711
  case 105: {
2644
- if (_x_105.$tag === 105) {
2712
+ if (_x_115.$tag === 105) {
2645
2713
  return true;
2646
2714
  } else {
2647
2715
  return false;
2648
2716
  }
2649
2717
  }
2650
2718
  case 106: {
2651
- if (_x_105.$tag === 106) {
2719
+ if (_x_115.$tag === 106) {
2652
2720
  return true;
2653
2721
  } else {
2654
2722
  return false;
2655
2723
  }
2656
2724
  }
2657
2725
  case 107: {
2658
- if (_x_105.$tag === 107) {
2726
+ if (_x_115.$tag === 107) {
2659
2727
  return true;
2660
2728
  } else {
2661
2729
  return false;
2662
2730
  }
2663
2731
  }
2664
2732
  case 108: {
2665
- if (_x_105.$tag === 108) {
2733
+ if (_x_115.$tag === 108) {
2666
2734
  return true;
2667
2735
  } else {
2668
2736
  return false;
2669
2737
  }
2670
2738
  }
2671
2739
  case 109: {
2672
- const _Indent = _x_104;
2673
- const _$42$x0_120 = _Indent._0;
2674
- if (_x_105.$tag === 109) {
2675
- const _Indent$2 = _x_105;
2676
- const _$42$y0_121 = _Indent$2._0;
2677
- _x0_120 = _$42$x0_120;
2678
- _y0_121 = _$42$y0_121;
2740
+ const _Indent = _x_114;
2741
+ const _$42$x0_130 = _Indent._0;
2742
+ if (_x_115.$tag === 109) {
2743
+ const _Indent$2 = _x_115;
2744
+ const _$42$y0_131 = _Indent$2._0;
2745
+ _x0_130 = _$42$x0_130;
2746
+ _y0_131 = _$42$y0_131;
2679
2747
  break _L$5;
2680
2748
  } else {
2681
2749
  return false;
2682
2750
  }
2683
2751
  }
2684
2752
  case 110: {
2685
- const _InterpStr = _x_104;
2686
- const _$42$x0_122 = _InterpStr._0;
2687
- if (_x_105.$tag === 110) {
2688
- const _InterpStr$2 = _x_105;
2689
- const _$42$y0_123 = _InterpStr$2._0;
2690
- _x0_122 = _$42$x0_122;
2691
- _y0_123 = _$42$y0_123;
2753
+ const _InterpStr = _x_114;
2754
+ const _$42$x0_132 = _InterpStr._0;
2755
+ if (_x_115.$tag === 110) {
2756
+ const _InterpStr$2 = _x_115;
2757
+ const _$42$y0_133 = _InterpStr$2._0;
2758
+ _x0_132 = _$42$x0_132;
2759
+ _y0_133 = _$42$y0_133;
2692
2760
  break _L$4;
2693
2761
  } else {
2694
2762
  return false;
2695
2763
  }
2696
2764
  }
2697
2765
  case 111: {
2698
- const _Shebang = _x_104;
2699
- const _$42$x0_124 = _Shebang._0;
2700
- if (_x_105.$tag === 111) {
2701
- const _Shebang$2 = _x_105;
2702
- const _$42$y0_125 = _Shebang$2._0;
2703
- _x0_124 = _$42$x0_124;
2704
- _y0_125 = _$42$y0_125;
2705
- break _L$3;
2766
+ if (_x_115.$tag === 111) {
2767
+ return true;
2706
2768
  } else {
2707
2769
  return false;
2708
2770
  }
2709
2771
  }
2710
2772
  case 112: {
2711
- const _Comment = _x_104;
2712
- const _$42$x0_126 = _Comment._0;
2713
- if (_x_105.$tag === 112) {
2714
- const _Comment$2 = _x_105;
2715
- const _$42$y0_127 = _Comment$2._0;
2716
- _x0_126 = _$42$x0_126;
2717
- _y0_127 = _$42$y0_127;
2718
- break _L$2;
2773
+ const _Shebang = _x_114;
2774
+ const _$42$x0_134 = _Shebang._0;
2775
+ if (_x_115.$tag === 112) {
2776
+ const _Shebang$2 = _x_115;
2777
+ const _$42$y0_135 = _Shebang$2._0;
2778
+ _x0_134 = _$42$x0_134;
2779
+ _y0_135 = _$42$y0_135;
2780
+ break _L$3;
2719
2781
  } else {
2720
2782
  return false;
2721
2783
  }
2722
2784
  }
2723
2785
  case 113: {
2724
- const _BlockComment = _x_104;
2725
- const _$42$x0_128 = _BlockComment._0;
2726
- if (_x_105.$tag === 113) {
2727
- const _BlockComment$2 = _x_105;
2728
- const _$42$y0_129 = _BlockComment$2._0;
2729
- _x0_128 = _$42$x0_128;
2730
- _y0_129 = _$42$y0_129;
2786
+ const _Comment = _x_114;
2787
+ const _$42$x0_136 = _Comment._0;
2788
+ if (_x_115.$tag === 113) {
2789
+ const _Comment$2 = _x_115;
2790
+ const _$42$y0_137 = _Comment$2._0;
2791
+ _x0_136 = _$42$x0_136;
2792
+ _y0_137 = _$42$y0_137;
2793
+ break _L$2;
2794
+ } else {
2795
+ return false;
2796
+ }
2797
+ }
2798
+ case 114: {
2799
+ const _BlockComment = _x_114;
2800
+ const _$42$x0_138 = _BlockComment._0;
2801
+ if (_x_115.$tag === 114) {
2802
+ const _BlockComment$2 = _x_115;
2803
+ const _$42$y0_139 = _BlockComment$2._0;
2804
+ _x0_138 = _$42$x0_138;
2805
+ _y0_139 = _$42$y0_139;
2731
2806
  break _L;
2732
2807
  } else {
2733
2808
  return false;
2734
2809
  }
2735
2810
  }
2736
2811
  default: {
2737
- if (_x_105.$tag === 114) {
2812
+ if (_x_115.$tag === 115) {
2738
2813
  return true;
2739
2814
  } else {
2740
2815
  return false;
@@ -2742,27 +2817,27 @@ function _M0IP48username4core3src5lexer9TokenKindPB2Eq5equal(_x_104, _x_105) {
2742
2817
  }
2743
2818
  }
2744
2819
  }
2745
- return _x0_106 === _y0_107;
2820
+ return _x0_116 === _y0_117;
2746
2821
  }
2747
- return _x0_108 === _y0_109;
2822
+ return _x0_118 === _y0_119;
2748
2823
  }
2749
- return _x0_110 === _y0_111;
2824
+ return _x0_120 === _y0_121;
2750
2825
  }
2751
- return _x0_112 === _y0_113;
2826
+ return _x0_122 === _y0_123;
2752
2827
  }
2753
- return _x0_114 === _y0_116 && _x1_115 === _y1_117;
2828
+ return _x0_124 === _y0_126 && _x1_125 === _y1_127;
2754
2829
  }
2755
- return _x0_118 === _y0_119;
2830
+ return _x0_128 === _y0_129;
2756
2831
  }
2757
- return _x0_120 === _y0_121;
2832
+ return _x0_130 === _y0_131;
2758
2833
  }
2759
- return _M0IPC15array5ArrayPB2Eq5equalGsE(_x0_122, _y0_123);
2834
+ return _M0IPC15array5ArrayPB2Eq5equalGsE(_x0_132, _y0_133);
2760
2835
  }
2761
- return _x0_124 === _y0_125;
2836
+ return _x0_134 === _y0_135;
2762
2837
  }
2763
- return _x0_126 === _y0_127;
2838
+ return _x0_136 === _y0_137;
2764
2839
  }
2765
- return _x0_128 === _y0_129;
2840
+ return _x0_138 === _y0_139;
2766
2841
  }
2767
2842
  function _M0MP48username4core3src5lexer5Lexer3new(source) {
2768
2843
  const chars = _M0MPC16string6String9to__array(source);
@@ -2906,7 +2981,7 @@ function _M0MP48username4core3src5lexer5Lexer20scan__block__comment(self) {
2906
2981
  _M0MP48username4core3src5lexer5Lexer7advance(self);
2907
2982
  _M0MP48username4core3src5lexer5Lexer7advance(self);
2908
2983
  _M0MP48username4core3src5lexer5Lexer7advance(self);
2909
- const buf = _M0MPB13StringBuilder11new_2einner(0);
2984
+ const buf = _M0MPB13StringBuilder21StringBuilder_2einner(0);
2910
2985
  while (true) {
2911
2986
  if (self.pos < self.chars.length) {
2912
2987
  if (_M0MP48username4core3src5lexer5Lexer4peek(self) === 45 && (_M0MP48username4core3src5lexer5Lexer8peek__at(self, 1) === 45 && _M0MP48username4core3src5lexer5Lexer8peek__at(self, 2) === 45)) {
@@ -2926,7 +3001,7 @@ function _M0MP48username4core3src5lexer5Lexer20scan__block__comment(self) {
2926
3001
  function _M0MP48username4core3src5lexer5Lexer11scan__ident(self) {
2927
3002
  const line = self.line;
2928
3003
  const col = self.col;
2929
- const buf = _M0MPB13StringBuilder11new_2einner(0);
3004
+ const buf = _M0MPB13StringBuilder21StringBuilder_2einner(0);
2930
3005
  _M0IPB13StringBuilderPB6Logger11write__char(buf, _M0MP48username4core3src5lexer5Lexer7advance(self));
2931
3006
  while (true) {
2932
3007
  if (self.pos < self.chars.length && _M0FP48username4core3src5lexer15is__ident__char(_M0MP48username4core3src5lexer5Lexer4peek(self))) {
@@ -3319,6 +3394,10 @@ function _M0MP48username4core3src5lexer5Lexer11scan__ident(self) {
3319
3394
  kind = _M0DTP48username4core3src5lexer9TokenKind5Set____;
3320
3395
  break;
3321
3396
  }
3397
+ case "blank": {
3398
+ kind = _M0DTP48username4core3src5lexer9TokenKind5Blank__;
3399
+ break;
3400
+ }
3322
3401
  default: {
3323
3402
  kind = new _M0DTP48username4core3src5lexer9TokenKind5Ident(word);
3324
3403
  }
@@ -3330,7 +3409,7 @@ function _M0MP48username4core3src5lexer5Lexer19scan__line__comment(self) {
3330
3409
  const col = self.col;
3331
3410
  _M0MP48username4core3src5lexer5Lexer7advance(self);
3332
3411
  _M0MP48username4core3src5lexer5Lexer7advance(self);
3333
- const buf = _M0MPB13StringBuilder11new_2einner(0);
3412
+ const buf = _M0MPB13StringBuilder21StringBuilder_2einner(0);
3334
3413
  while (true) {
3335
3414
  if (self.pos < self.chars.length && _M0MP48username4core3src5lexer5Lexer4peek(self) !== 10) {
3336
3415
  _M0IPB13StringBuilderPB6Logger11write__char(buf, _M0MP48username4core3src5lexer5Lexer7advance(self));
@@ -3424,7 +3503,7 @@ function _M0MP48username4core3src5lexer5Lexer12scan__number(self) {
3424
3503
  _M0MP48username4core3src5lexer5Lexer4emit(self, new _M0DTP48username4core3src5lexer9TokenKind3Int(value.val), line, col);
3425
3504
  return undefined;
3426
3505
  }
3427
- const buf = _M0MPB13StringBuilder11new_2einner(0);
3506
+ const buf = _M0MPB13StringBuilder21StringBuilder_2einner(0);
3428
3507
  if (negative) {
3429
3508
  _M0IPB13StringBuilderPB6Logger11write__char(buf, 45);
3430
3509
  }
@@ -3465,7 +3544,7 @@ function _M0MP48username4core3src5lexer5Lexer11scan__regex(self) {
3465
3544
  const line = self.line;
3466
3545
  const col = self.col;
3467
3546
  _M0MP48username4core3src5lexer5Lexer7advance(self);
3468
- const pattern = _M0MPB13StringBuilder11new_2einner(0);
3547
+ const pattern = _M0MPB13StringBuilder21StringBuilder_2einner(0);
3469
3548
  while (true) {
3470
3549
  if (self.pos < self.chars.length && _M0MP48username4core3src5lexer5Lexer4peek(self) !== 47) {
3471
3550
  if (_M0MP48username4core3src5lexer5Lexer4peek(self) === 92) {
@@ -3484,7 +3563,7 @@ function _M0MP48username4core3src5lexer5Lexer11scan__regex(self) {
3484
3563
  if (self.pos < self.chars.length) {
3485
3564
  _M0MP48username4core3src5lexer5Lexer7advance(self);
3486
3565
  }
3487
- const flags = _M0MPB13StringBuilder11new_2einner(0);
3566
+ const flags = _M0MPB13StringBuilder21StringBuilder_2einner(0);
3488
3567
  while (true) {
3489
3568
  if (self.pos < self.chars.length) {
3490
3569
  const ch = _M0MP48username4core3src5lexer5Lexer4peek(self);
@@ -3503,7 +3582,7 @@ function _M0MP48username4core3src5lexer5Lexer11scan__regex(self) {
3503
3582
  function _M0MP48username4core3src5lexer5Lexer13scan__shebang(self) {
3504
3583
  const line = self.line;
3505
3584
  const col = self.col;
3506
- const buf = _M0MPB13StringBuilder11new_2einner(0);
3585
+ const buf = _M0MPB13StringBuilder21StringBuilder_2einner(0);
3507
3586
  while (true) {
3508
3587
  if (self.pos < self.chars.length && _M0MP48username4core3src5lexer5Lexer4peek(self) !== 10) {
3509
3588
  _M0IPB13StringBuilderPB6Logger11write__char(buf, _M0MP48username4core3src5lexer5Lexer7advance(self));
@@ -3528,7 +3607,7 @@ function _M0MP48username4core3src5lexer5Lexer12scan__string(self) {
3528
3607
  _M0MP48username4core3src5lexer5Lexer7advance(self);
3529
3608
  _M0MP48username4core3src5lexer5Lexer7advance(self);
3530
3609
  const segments = [];
3531
- const buf = new _M0TPB8MutLocalGRPB13StringBuilderE(_M0MPB13StringBuilder11new_2einner(0));
3610
+ const buf = new _M0TPB8MutLocalGRPB13StringBuilderE(_M0MPB13StringBuilder21StringBuilder_2einner(0));
3532
3611
  const has_interp = new _M0TPB8MutLocalGbE(false);
3533
3612
  while (true) {
3534
3613
  if (self.pos < self.chars.length) {
@@ -3576,9 +3655,109 @@ function _M0MP48username4core3src5lexer5Lexer12scan__string(self) {
3576
3655
  if (_M0MP48username4core3src5lexer5Lexer4peek(self) === 91) {
3577
3656
  has_interp.val = true;
3578
3657
  _M0MPC15array5Array4pushGRP48username4core3src5lexer5TokenE(segments, _M0MPB13StringBuilder10to__string(buf.val));
3579
- buf.val = _M0MPB13StringBuilder11new_2einner(0);
3658
+ buf.val = _M0MPB13StringBuilder21StringBuilder_2einner(0);
3659
+ _M0MP48username4core3src5lexer5Lexer7advance(self);
3660
+ const expr_buf = _M0MPB13StringBuilder21StringBuilder_2einner(0);
3661
+ const depth = new _M0TPB8MutLocalGiE(1);
3662
+ while (true) {
3663
+ if (self.pos < self.chars.length && depth.val > 0) {
3664
+ const ch = _M0MP48username4core3src5lexer5Lexer4peek(self);
3665
+ if (ch === 91) {
3666
+ depth.val = depth.val + 1 | 0;
3667
+ }
3668
+ if (ch === 93) {
3669
+ depth.val = depth.val - 1 | 0;
3670
+ if (depth.val === 0) {
3671
+ _M0MP48username4core3src5lexer5Lexer7advance(self);
3672
+ break;
3673
+ }
3674
+ }
3675
+ _M0IPB13StringBuilderPB6Logger11write__char(expr_buf, _M0MP48username4core3src5lexer5Lexer7advance(self));
3676
+ continue;
3677
+ } else {
3678
+ break;
3679
+ }
3680
+ }
3681
+ _M0MPC15array5Array4pushGRP48username4core3src5lexer5TokenE(segments, _M0MPB13StringBuilder10to__string(expr_buf));
3682
+ continue;
3683
+ }
3684
+ _M0IPB13StringBuilderPB6Logger11write__char(buf.val, _M0MP48username4core3src5lexer5Lexer7advance(self));
3685
+ continue;
3686
+ } else {
3687
+ break;
3688
+ }
3689
+ }
3690
+ if (has_interp.val) {
3691
+ _M0MPC15array5Array4pushGRP48username4core3src5lexer5TokenE(segments, _M0MPB13StringBuilder10to__string(buf.val));
3692
+ _M0MP48username4core3src5lexer5Lexer4emit(self, new _M0DTP48username4core3src5lexer9TokenKind9InterpStr(segments), line, col);
3693
+ return;
3694
+ } else {
3695
+ _M0MP48username4core3src5lexer5Lexer4emit(self, new _M0DTP48username4core3src5lexer9TokenKind3Str(_M0MPB13StringBuilder10to__string(buf.val)), line, col);
3696
+ return;
3697
+ }
3698
+ }
3699
+ function _M0MP48username4core3src5lexer5Lexer21scan__string__bracket(self) {
3700
+ const line = self.line;
3701
+ const col = self.col;
3702
+ _M0MP48username4core3src5lexer5Lexer7advance(self);
3703
+ _M0MP48username4core3src5lexer5Lexer7advance(self);
3704
+ _M0MP48username4core3src5lexer5Lexer7advance(self);
3705
+ const segments = [];
3706
+ const buf = new _M0TPB8MutLocalGRPB13StringBuilderE(_M0MPB13StringBuilder21StringBuilder_2einner(0));
3707
+ const has_interp = new _M0TPB8MutLocalGbE(false);
3708
+ while (true) {
3709
+ if (self.pos < self.chars.length) {
3710
+ if (_M0MP48username4core3src5lexer5Lexer4peek(self) === 59 && (_M0MP48username4core3src5lexer5Lexer8peek__at(self, 1) === 47 && _M0MP48username4core3src5lexer5Lexer8peek__at(self, 2) === 47)) {
3711
+ _M0MP48username4core3src5lexer5Lexer7advance(self);
3712
+ _M0MP48username4core3src5lexer5Lexer7advance(self);
3713
+ _M0MP48username4core3src5lexer5Lexer7advance(self);
3714
+ break;
3715
+ }
3716
+ if (_M0MP48username4core3src5lexer5Lexer4peek(self) === 92) {
3717
+ _M0MP48username4core3src5lexer5Lexer7advance(self);
3718
+ const esc = _M0MP48username4core3src5lexer5Lexer7advance(self);
3719
+ switch (esc) {
3720
+ case 110: {
3721
+ _M0IPB13StringBuilderPB6Logger11write__char(buf.val, 10);
3722
+ break;
3723
+ }
3724
+ case 116: {
3725
+ _M0IPB13StringBuilderPB6Logger11write__char(buf.val, 9);
3726
+ break;
3727
+ }
3728
+ case 92: {
3729
+ _M0IPB13StringBuilderPB6Logger11write__char(buf.val, 92);
3730
+ break;
3731
+ }
3732
+ case 47: {
3733
+ _M0IPB13StringBuilderPB6Logger11write__char(buf.val, 47);
3734
+ break;
3735
+ }
3736
+ case 91: {
3737
+ _M0IPB13StringBuilderPB6Logger11write__char(buf.val, 91);
3738
+ break;
3739
+ }
3740
+ case 93: {
3741
+ _M0IPB13StringBuilderPB6Logger11write__char(buf.val, 93);
3742
+ break;
3743
+ }
3744
+ case 59: {
3745
+ _M0IPB13StringBuilderPB6Logger11write__char(buf.val, 59);
3746
+ break;
3747
+ }
3748
+ default: {
3749
+ _M0IPB13StringBuilderPB6Logger11write__char(buf.val, 92);
3750
+ _M0IPB13StringBuilderPB6Logger11write__char(buf.val, esc);
3751
+ }
3752
+ }
3753
+ continue;
3754
+ }
3755
+ if (_M0MP48username4core3src5lexer5Lexer4peek(self) === 91) {
3756
+ has_interp.val = true;
3757
+ _M0MPC15array5Array4pushGRP48username4core3src5lexer5TokenE(segments, _M0MPB13StringBuilder10to__string(buf.val));
3758
+ buf.val = _M0MPB13StringBuilder21StringBuilder_2einner(0);
3580
3759
  _M0MP48username4core3src5lexer5Lexer7advance(self);
3581
- const expr_buf = _M0MPB13StringBuilder11new_2einner(0);
3760
+ const expr_buf = _M0MPB13StringBuilder21StringBuilder_2einner(0);
3582
3761
  const depth = new _M0TPB8MutLocalGiE(1);
3583
3762
  while (true) {
3584
3763
  if (self.pos < self.chars.length && depth.val > 0) {
@@ -3649,6 +3828,10 @@ function _M0MP48username4core3src5lexer5Lexer8tokenize(self) {
3649
3828
  _M0MP48username4core3src5lexer5Lexer12scan__string(self);
3650
3829
  continue;
3651
3830
  }
3831
+ if (ch === 47 && (_M0MP48username4core3src5lexer5Lexer8peek__at(self, 1) === 47 && _M0MP48username4core3src5lexer5Lexer8peek__at(self, 2) === 59)) {
3832
+ _M0MP48username4core3src5lexer5Lexer21scan__string__bracket(self);
3833
+ continue;
3834
+ }
3652
3835
  if (ch === 47 && _M0MP48username4core3src5lexer5Lexer8peek__at(self, 1) !== 47) {
3653
3836
  _M0MP48username4core3src5lexer5Lexer11scan__regex(self);
3654
3837
  continue;
@@ -3760,10 +3943,10 @@ function _M0MP48username4core3src6parser6Parser17skip__bracket__ws(self) {
3760
3943
  case 109: {
3761
3944
  break _L$2;
3762
3945
  }
3763
- case 112: {
3946
+ case 113: {
3764
3947
  break _L$2;
3765
3948
  }
3766
- case 113: {
3949
+ case 114: {
3767
3950
  break _L$2;
3768
3951
  }
3769
3952
  default: {
@@ -3791,10 +3974,10 @@ function _M0MP48username4core3src6parser6Parser21is__computed__bracket(self) {
3791
3974
  case 109: {
3792
3975
  break _L;
3793
3976
  }
3794
- case 112: {
3977
+ case 113: {
3795
3978
  break _L;
3796
3979
  }
3797
- case 113: {
3980
+ case 114: {
3798
3981
  break _L;
3799
3982
  }
3800
3983
  case 106: {
@@ -3908,66 +4091,82 @@ function _M0MP48username4core3src6parser6Parser3new(tokens) {
3908
4091
  }
3909
4092
  function _M0MP48username4core3src6parser6Parser18parse__param__list(self) {
3910
4093
  const params = [];
3911
- while (true) {
4094
+ _L: while (true) {
3912
4095
  if (self.pos < self.tokens.length) {
3913
4096
  let s;
3914
- _L: {
3915
- const _bind = _M0MP48username4core3src6parser6Parser4peek(self);
3916
- if (_bind.$tag === 7) {
3917
- const _Ident = _bind;
3918
- const _s = _Ident._0;
3919
- s = _s;
3920
- break _L;
3921
- } else {
3922
- break;
4097
+ _L$2: {
4098
+ _L$3: {
4099
+ const _bind = _M0MP48username4core3src6parser6Parser4peek(self);
4100
+ switch (_bind.$tag) {
4101
+ case 111: {
4102
+ self.pos = self.pos + 1 | 0;
4103
+ _M0MPC15array5Array4pushGRP48username4core3src5lexer5TokenE(params, "blank");
4104
+ if (_M0IP48username4core3src5lexer9TokenKindPB2Eq5equal(_M0MP48username4core3src6parser6Parser4peek(self), _M0DTP48username4core3src5lexer9TokenKind9Semicolon__)) {
4105
+ self.pos = self.pos + 1 | 0;
4106
+ } else {
4107
+ break _L;
4108
+ }
4109
+ break;
4110
+ }
4111
+ case 7: {
4112
+ const _Ident = _bind;
4113
+ const _s = _Ident._0;
4114
+ s = _s;
4115
+ break _L$3;
4116
+ }
4117
+ default: {
4118
+ break _L;
4119
+ }
4120
+ }
4121
+ break _L$2;
3923
4122
  }
3924
- }
3925
- self.pos = self.pos + 1 | 0;
3926
- _M0MPC15array5Array4pushGRP48username4core3src5lexer5TokenE(params, s);
3927
- if (_M0IP48username4core3src5lexer9TokenKindPB2Eq5equal(_M0MP48username4core3src6parser6Parser4peek(self), _M0DTP48username4core3src5lexer9TokenKind2Of__)) {
3928
4123
  self.pos = self.pos + 1 | 0;
3929
- while (true) {
3930
- if (self.pos < self.tokens.length) {
3931
- _L$2: {
3932
- _L$3: {
3933
- const _bind = _M0MP48username4core3src6parser6Parser4peek(self);
3934
- switch (_bind.$tag) {
3935
- case 102: {
3936
- break _L$3;
3937
- }
3938
- case 108: {
3939
- break _L$3;
3940
- }
3941
- case 114: {
3942
- break _L$3;
3943
- }
3944
- case 39: {
3945
- break _L$3;
3946
- }
3947
- case 61: {
3948
- break _L$3;
3949
- }
3950
- case 7: {
3951
- break _L$3;
3952
- }
3953
- default: {
3954
- self.pos = self.pos + 1 | 0;
4124
+ _M0MPC15array5Array4pushGRP48username4core3src5lexer5TokenE(params, s);
4125
+ if (_M0IP48username4core3src5lexer9TokenKindPB2Eq5equal(_M0MP48username4core3src6parser6Parser4peek(self), _M0DTP48username4core3src5lexer9TokenKind2Of__)) {
4126
+ self.pos = self.pos + 1 | 0;
4127
+ while (true) {
4128
+ if (self.pos < self.tokens.length) {
4129
+ _L$4: {
4130
+ _L$5: {
4131
+ const _bind = _M0MP48username4core3src6parser6Parser4peek(self);
4132
+ switch (_bind.$tag) {
4133
+ case 102: {
4134
+ break _L$5;
4135
+ }
4136
+ case 108: {
4137
+ break _L$5;
4138
+ }
4139
+ case 115: {
4140
+ break _L$5;
4141
+ }
4142
+ case 39: {
4143
+ break _L$5;
4144
+ }
4145
+ case 61: {
4146
+ break _L$5;
4147
+ }
4148
+ case 7: {
4149
+ break _L$5;
4150
+ }
4151
+ default: {
4152
+ self.pos = self.pos + 1 | 0;
4153
+ }
3955
4154
  }
4155
+ break _L$4;
3956
4156
  }
3957
- break _L$2;
4157
+ break;
3958
4158
  }
4159
+ continue;
4160
+ } else {
3959
4161
  break;
3960
4162
  }
3961
- continue;
3962
- } else {
3963
- break;
3964
4163
  }
3965
4164
  }
3966
- }
3967
- if (_M0IP48username4core3src5lexer9TokenKindPB2Eq5equal(_M0MP48username4core3src6parser6Parser4peek(self), _M0DTP48username4core3src5lexer9TokenKind9Semicolon__)) {
3968
- self.pos = self.pos + 1 | 0;
3969
- } else {
3970
- break;
4165
+ if (_M0IP48username4core3src5lexer9TokenKindPB2Eq5equal(_M0MP48username4core3src6parser6Parser4peek(self), _M0DTP48username4core3src5lexer9TokenKind9Semicolon__)) {
4166
+ self.pos = self.pos + 1 | 0;
4167
+ } else {
4168
+ break;
4169
+ }
3971
4170
  }
3972
4171
  continue;
3973
4172
  } else {
@@ -3989,10 +4188,10 @@ function _M0MP48username4core3src6parser6Parser27skip__newlines__and__indent(sel
3989
4188
  case 108: {
3990
4189
  break _L$4;
3991
4190
  }
3992
- case 112: {
4191
+ case 113: {
3993
4192
  break _L$4;
3994
4193
  }
3995
- case 113: {
4194
+ case 114: {
3996
4195
  break _L$4;
3997
4196
  }
3998
4197
  case 109: {
@@ -4032,7 +4231,7 @@ function _M0MP48username4core3src6parser6Parser22skip__type__annotation(self) {
4032
4231
  case 108: {
4033
4232
  break _L$2;
4034
4233
  }
4035
- case 114: {
4234
+ case 115: {
4036
4235
  break _L$2;
4037
4236
  }
4038
4237
  default: {
@@ -4144,6 +4343,10 @@ function _M0MP48username4core3src6parser6Parser21parse__match__pattern(self) {
4144
4343
  case 93: {
4145
4344
  break _L$2;
4146
4345
  }
4346
+ case 111: {
4347
+ self.pos = self.pos + 1 | 0;
4348
+ return new _M0DTP48username4core3src6parser12MatchPattern7BindPat("blank");
4349
+ }
4147
4350
  case 7: {
4148
4351
  const _Ident = _bind;
4149
4352
  const _s$2 = _Ident._0;
@@ -4615,7 +4818,7 @@ function _M0MP48username4core3src6parser6Parser12parse__unary(self) {
4615
4818
  case 108: {
4616
4819
  break _L;
4617
4820
  }
4618
- case 114: {
4821
+ case 115: {
4619
4822
  break _L;
4620
4823
  }
4621
4824
  case 109: {
@@ -5130,10 +5333,10 @@ function _M0MP48username4core3src6parser6Parser11parse__stmt(self) {
5130
5333
  _L$2: {
5131
5334
  const _bind = _M0MP48username4core3src6parser6Parser4peek(self);
5132
5335
  switch (_bind.$tag) {
5133
- case 112: {
5336
+ case 113: {
5134
5337
  break _L$2;
5135
5338
  }
5136
- case 113: {
5339
+ case 114: {
5137
5340
  break _L$2;
5138
5341
  }
5139
5342
  case 109: {
@@ -5197,7 +5400,7 @@ function _M0MP48username4core3src6parser6Parser11parse__stmt(self) {
5197
5400
  case 108: {
5198
5401
  break _L$3;
5199
5402
  }
5200
- case 114: {
5403
+ case 115: {
5201
5404
  break _L$3;
5202
5405
  }
5203
5406
  case 109: {
@@ -6561,6 +6764,9 @@ function _M0MP48username4core3src6parser6Parser5parse(self) {
6561
6764
  }
6562
6765
  return stmts;
6563
6766
  }
6767
+ function _M0FP48username4core3src7codegen9is__blank(name) {
6768
+ return name === "blank" || name === "_";
6769
+ }
6564
6770
  function _M0FP48username4core3src7codegen18is__alpha__codegen(c) {
6565
6771
  return c >= 97 && c <= 122 || c >= 65 && c <= 90;
6566
6772
  }
@@ -6659,7 +6865,7 @@ function _M0FP48username4core3src7codegen9js__binop(op) {
6659
6865
  }
6660
6866
  }
6661
6867
  function _M0FP48username4core3src7codegen15js__escape__str(s) {
6662
- const buf = _M0MPB13StringBuilder11new_2einner(0);
6868
+ const buf = _M0MPB13StringBuilder21StringBuilder_2einner(0);
6663
6869
  const chars = _M0MPC16string6String9to__array(s);
6664
6870
  const _bind = chars.length;
6665
6871
  let _tmp = 0;
@@ -6701,7 +6907,7 @@ function _M0FP48username4core3src7codegen15js__escape__str(s) {
6701
6907
  return _M0MPB13StringBuilder10to__string(buf);
6702
6908
  }
6703
6909
  function _M0FP48username4core3src7codegen20js__escape__template(s) {
6704
- const buf = _M0MPB13StringBuilder11new_2einner(0);
6910
+ const buf = _M0MPB13StringBuilder21StringBuilder_2einner(0);
6705
6911
  const chars = _M0MPC16string6String9to__array(s);
6706
6912
  const _bind = chars.length;
6707
6913
  let _tmp = 0;
@@ -6743,6 +6949,36 @@ function _M0FP48username4core3src7codegen9js__ident(name) {
6743
6949
  function _M0MP48username4core3src7codegen9JsCodegen5write(self, s) {
6744
6950
  _M0IPB13StringBuilderPB6Logger13write__string(self.buf, s);
6745
6951
  }
6952
+ function _M0MP48username4core3src7codegen9JsCodegen11gen__params(self, params) {
6953
+ const blank_count = new _M0TPB8MutLocalGiE(0);
6954
+ const first = new _M0TPB8MutLocalGbE(true);
6955
+ const _bind = params.length;
6956
+ let _tmp = 0;
6957
+ while (true) {
6958
+ const _ = _tmp;
6959
+ if (_ < _bind) {
6960
+ const p = params[_];
6961
+ if (!first.val) {
6962
+ _M0MP48username4core3src7codegen9JsCodegen5write(self, ", ");
6963
+ }
6964
+ if (p === "blank") {
6965
+ if (blank_count.val === 0) {
6966
+ _M0MP48username4core3src7codegen9JsCodegen5write(self, "_");
6967
+ } else {
6968
+ _M0MP48username4core3src7codegen9JsCodegen5write(self, `_${_M0MPC13int3Int18to__string_2einner(blank_count.val, 10)}`);
6969
+ }
6970
+ blank_count.val = blank_count.val + 1 | 0;
6971
+ } else {
6972
+ _M0MP48username4core3src7codegen9JsCodegen5write(self, _M0FP48username4core3src7codegen9js__ident(p));
6973
+ }
6974
+ first.val = false;
6975
+ _tmp = _ + 1 | 0;
6976
+ continue;
6977
+ } else {
6978
+ return;
6979
+ }
6980
+ }
6981
+ }
6746
6982
  function _M0FP48username4core3src7codegen17compound__op__str(op) {
6747
6983
  switch (op) {
6748
6984
  case 0: {
@@ -7831,7 +8067,7 @@ function _M0MP48username4core3src7codegen9JsCodegen9gen__expr(self, expr) {
7831
8067
  _M0MP48username4core3src7codegen9JsCodegen5write(self$2, "n");
7832
8068
  return;
7833
8069
  }
7834
- _M0MP48username4core3src7codegen9JsCodegen5write(self$2, _M0MPC16double6Double10to__string(f));
8070
+ _M0MP48username4core3src7codegen9JsCodegen5write(self$2, String(f));
7835
8071
  return;
7836
8072
  }
7837
8073
  _M0MP48username4core3src7codegen9JsCodegen5write(self$2, "\"");
@@ -8059,34 +8295,17 @@ function _M0MP48username4core3src7codegen9JsCodegen9gen__expr(self, expr) {
8059
8295
  continue;
8060
8296
  }
8061
8297
  _M0MP48username4core3src7codegen9JsCodegen5write(self$2, "(");
8062
- const first = new _M0TPB8MutLocalGbE(true);
8063
- const _bind = params$4.length;
8298
+ _M0MP48username4core3src7codegen9JsCodegen11gen__params(self$2, params$4);
8299
+ _M0MP48username4core3src7codegen9JsCodegen5write(self$2, ") => {\n");
8300
+ self$2.indent_level = self$2.indent_level + 1 | 0;
8301
+ const _bind = body$2.length;
8064
8302
  let _tmp$3 = 0;
8065
8303
  while (true) {
8066
8304
  const _ = _tmp$3;
8067
8305
  if (_ < _bind) {
8068
- const p = params$4[_];
8069
- if (!first.val) {
8070
- _M0MP48username4core3src7codegen9JsCodegen5write(self$2, ", ");
8071
- }
8072
- _M0MP48username4core3src7codegen9JsCodegen5write(self$2, _M0FP48username4core3src7codegen9js__ident(p));
8073
- first.val = false;
8074
- _tmp$3 = _ + 1 | 0;
8075
- continue;
8076
- } else {
8077
- break;
8078
- }
8079
- }
8080
- _M0MP48username4core3src7codegen9JsCodegen5write(self$2, ") => {\n");
8081
- self$2.indent_level = self$2.indent_level + 1 | 0;
8082
- const _bind$2 = body$2.length;
8083
- let _tmp$4 = 0;
8084
- while (true) {
8085
- const _ = _tmp$4;
8086
- if (_ < _bind$2) {
8087
8306
  const s = body$2[_];
8088
8307
  _M0MP48username4core3src7codegen9JsCodegen9gen__stmt(self$2, s);
8089
- _tmp$4 = _ + 1 | 0;
8308
+ _tmp$3 = _ + 1 | 0;
8090
8309
  continue;
8091
8310
  } else {
8092
8311
  break;
@@ -8098,24 +8317,7 @@ function _M0MP48username4core3src7codegen9JsCodegen9gen__expr(self, expr) {
8098
8317
  return;
8099
8318
  }
8100
8319
  _M0MP48username4core3src7codegen9JsCodegen5write(self$2, "(");
8101
- const first = new _M0TPB8MutLocalGbE(true);
8102
- const _bind = params$3.length;
8103
- let _tmp$3 = 0;
8104
- while (true) {
8105
- const _ = _tmp$3;
8106
- if (_ < _bind) {
8107
- const p = params$3[_];
8108
- if (!first.val) {
8109
- _M0MP48username4core3src7codegen9JsCodegen5write(self$2, ", ");
8110
- }
8111
- _M0MP48username4core3src7codegen9JsCodegen5write(self$2, _M0FP48username4core3src7codegen9js__ident(p));
8112
- first.val = false;
8113
- _tmp$3 = _ + 1 | 0;
8114
- continue;
8115
- } else {
8116
- break;
8117
- }
8118
- }
8320
+ _M0MP48username4core3src7codegen9JsCodegen11gen__params(self$2, params$3);
8119
8321
  _M0MP48username4core3src7codegen9JsCodegen5write(self$2, ") => ");
8120
8322
  _tmp$2 = body_expr$2;
8121
8323
  continue;
@@ -8356,7 +8558,7 @@ function _M0MP48username4core3src7codegen9JsCodegen9gen__expr(self, expr) {
8356
8558
  const _bind$2 = arm.cond;
8357
8559
  if (_bind$2 === undefined) {
8358
8560
  } else {
8359
- if (_M0IP016_24default__implPB2Eq10not__equalGsE(name, "_")) {
8561
+ if (!_M0FP48username4core3src7codegen9is__blank(name)) {
8360
8562
  _M0MP48username4core3src7codegen9JsCodegen13write__indent(self$2);
8361
8563
  _M0MP48username4core3src7codegen9JsCodegen5write(self$2, "const ");
8362
8564
  _M0MP48username4core3src7codegen9JsCodegen5write(self$2, _M0FP48username4core3src7codegen9js__ident(name));
@@ -8420,7 +8622,7 @@ function _M0MP48username4core3src7codegen9JsCodegen9gen__expr(self, expr) {
8420
8622
  _M0MP48username4core3src7codegen9JsCodegen5write(self$2, ") {\n");
8421
8623
  break _L$15;
8422
8624
  }
8423
- if (name === "_") {
8625
+ if (_M0FP48username4core3src7codegen9is__blank(name)) {
8424
8626
  let c;
8425
8627
  _L$17: {
8426
8628
  _L$18: {
@@ -8592,34 +8794,17 @@ function _M0MP48username4core3src7codegen9JsCodegen9gen__expr(self, expr) {
8592
8794
  return;
8593
8795
  }
8594
8796
  _M0MP48username4core3src7codegen9JsCodegen5write(self$2, "async (");
8595
- const first = new _M0TPB8MutLocalGbE(true);
8596
- const _bind = params$2.length;
8797
+ _M0MP48username4core3src7codegen9JsCodegen11gen__params(self$2, params$2);
8798
+ _M0MP48username4core3src7codegen9JsCodegen5write(self$2, ") => {\n");
8799
+ self$2.indent_level = self$2.indent_level + 1 | 0;
8800
+ const _bind = body.length;
8597
8801
  let _tmp$3 = 0;
8598
8802
  while (true) {
8599
8803
  const _ = _tmp$3;
8600
8804
  if (_ < _bind) {
8601
- const p = params$2[_];
8602
- if (!first.val) {
8603
- _M0MP48username4core3src7codegen9JsCodegen5write(self$2, ", ");
8604
- }
8605
- _M0MP48username4core3src7codegen9JsCodegen5write(self$2, _M0FP48username4core3src7codegen9js__ident(p));
8606
- first.val = false;
8607
- _tmp$3 = _ + 1 | 0;
8608
- continue;
8609
- } else {
8610
- break;
8611
- }
8612
- }
8613
- _M0MP48username4core3src7codegen9JsCodegen5write(self$2, ") => {\n");
8614
- self$2.indent_level = self$2.indent_level + 1 | 0;
8615
- const _bind$2 = body.length;
8616
- let _tmp$4 = 0;
8617
- while (true) {
8618
- const _ = _tmp$4;
8619
- if (_ < _bind$2) {
8620
8805
  const s = body[_];
8621
8806
  _M0MP48username4core3src7codegen9JsCodegen9gen__stmt(self$2, s);
8622
- _tmp$4 = _ + 1 | 0;
8807
+ _tmp$3 = _ + 1 | 0;
8623
8808
  continue;
8624
8809
  } else {
8625
8810
  break;
@@ -8631,24 +8816,7 @@ function _M0MP48username4core3src7codegen9JsCodegen9gen__expr(self, expr) {
8631
8816
  return;
8632
8817
  }
8633
8818
  _M0MP48username4core3src7codegen9JsCodegen5write(self$2, "async (");
8634
- const first = new _M0TPB8MutLocalGbE(true);
8635
- const _bind = params.length;
8636
- let _tmp$3 = 0;
8637
- while (true) {
8638
- const _ = _tmp$3;
8639
- if (_ < _bind) {
8640
- const p = params[_];
8641
- if (!first.val) {
8642
- _M0MP48username4core3src7codegen9JsCodegen5write(self$2, ", ");
8643
- }
8644
- _M0MP48username4core3src7codegen9JsCodegen5write(self$2, _M0FP48username4core3src7codegen9js__ident(p));
8645
- first.val = false;
8646
- _tmp$3 = _ + 1 | 0;
8647
- continue;
8648
- } else {
8649
- break;
8650
- }
8651
- }
8819
+ _M0MP48username4core3src7codegen9JsCodegen11gen__params(self$2, params);
8652
8820
  _M0MP48username4core3src7codegen9JsCodegen5write(self$2, ") => ");
8653
8821
  _tmp$2 = body_expr;
8654
8822
  continue;
@@ -9916,24 +10084,7 @@ function _M0MP48username4core3src7codegen9JsCodegen16gen__class__decl(self, decl
9916
10084
  }
9917
10085
  _M0MP48username4core3src7codegen9JsCodegen13write__indent(self);
9918
10086
  _M0MP48username4core3src7codegen9JsCodegen5write(self, "constructor(");
9919
- const first = new _M0TPB8MutLocalGbE(true);
9920
- const _bind$5 = params$2.length;
9921
- let _tmp$3 = 0;
9922
- while (true) {
9923
- const _$2 = _tmp$3;
9924
- if (_$2 < _bind$5) {
9925
- const p$2 = params$2[_$2];
9926
- if (!first.val) {
9927
- _M0MP48username4core3src7codegen9JsCodegen5write(self, ", ");
9928
- }
9929
- _M0MP48username4core3src7codegen9JsCodegen5write(self, _M0FP48username4core3src7codegen9js__ident(p$2));
9930
- first.val = false;
9931
- _tmp$3 = _$2 + 1 | 0;
9932
- continue;
9933
- } else {
9934
- break;
9935
- }
9936
- }
10087
+ _M0MP48username4core3src7codegen9JsCodegen11gen__params(self, params$2);
9937
10088
  _M0MP48username4core3src7codegen9JsCodegen5write(self, ") ");
9938
10089
  _M0MP48username4core3src7codegen9JsCodegen16gen__class__body(self, body$4);
9939
10090
  }
@@ -9948,24 +10099,7 @@ function _M0MP48username4core3src7codegen9JsCodegen16gen__class__decl(self, decl
9948
10099
  }
9949
10100
  _M0MP48username4core3src7codegen9JsCodegen5write(self, _M0FP48username4core3src7codegen9js__ident(name$3));
9950
10101
  _M0MP48username4core3src7codegen9JsCodegen5write(self, "(");
9951
- const first = new _M0TPB8MutLocalGbE(true);
9952
- const _bind$5 = params.length;
9953
- let _tmp$3 = 0;
9954
- while (true) {
9955
- const _$2 = _tmp$3;
9956
- if (_$2 < _bind$5) {
9957
- const p$2 = params[_$2];
9958
- if (!first.val) {
9959
- _M0MP48username4core3src7codegen9JsCodegen5write(self, ", ");
9960
- }
9961
- _M0MP48username4core3src7codegen9JsCodegen5write(self, _M0FP48username4core3src7codegen9js__ident(p$2));
9962
- first.val = false;
9963
- _tmp$3 = _$2 + 1 | 0;
9964
- continue;
9965
- } else {
9966
- break;
9967
- }
9968
- }
10102
+ _M0MP48username4core3src7codegen9JsCodegen11gen__params(self, params);
9969
10103
  _M0MP48username4core3src7codegen9JsCodegen5write(self, ") ");
9970
10104
  _M0MP48username4core3src7codegen9JsCodegen16gen__class__body(self, body$3);
9971
10105
  }
@@ -10080,25 +10214,7 @@ function _M0MP48username4core3src7codegen9JsCodegen13gen__fn__decl(self, decl) {
10080
10214
  _M0MP48username4core3src7codegen9JsCodegen5write(self, _M0FP48username4core3src7codegen9js__ident(n));
10081
10215
  }
10082
10216
  _M0MP48username4core3src7codegen9JsCodegen5write(self, "(");
10083
- const first = new _M0TPB8MutLocalGbE(true);
10084
- const _bind = decl.params;
10085
- const _bind$2 = _bind.length;
10086
- let _tmp = 0;
10087
- while (true) {
10088
- const _ = _tmp;
10089
- if (_ < _bind$2) {
10090
- const p = _bind[_];
10091
- if (!first.val) {
10092
- _M0MP48username4core3src7codegen9JsCodegen5write(self, ", ");
10093
- }
10094
- _M0MP48username4core3src7codegen9JsCodegen5write(self, _M0FP48username4core3src7codegen9js__ident(p));
10095
- first.val = false;
10096
- _tmp = _ + 1 | 0;
10097
- continue;
10098
- } else {
10099
- break;
10100
- }
10101
- }
10217
+ _M0MP48username4core3src7codegen9JsCodegen11gen__params(self, decl.params);
10102
10218
  _M0MP48username4core3src7codegen9JsCodegen5write(self, ") ");
10103
10219
  let stmts;
10104
10220
  _L$2: {
@@ -10106,22 +10222,22 @@ function _M0MP48username4core3src7codegen9JsCodegen13gen__fn__decl(self, decl) {
10106
10222
  _L$3: {
10107
10223
  let expr$2;
10108
10224
  _L$4: {
10109
- const _bind$3 = decl.body;
10110
- switch (_bind$3.$tag) {
10225
+ const _bind = decl.body;
10226
+ switch (_bind.$tag) {
10111
10227
  case 1: {
10112
- const _ToExpr = _bind$3;
10228
+ const _ToExpr = _bind;
10113
10229
  const _expr = _ToExpr._0;
10114
10230
  expr$2 = _expr;
10115
10231
  break _L$4;
10116
10232
  }
10117
10233
  case 2: {
10118
- const _ToReturnExpr = _bind$3;
10234
+ const _ToReturnExpr = _bind;
10119
10235
  const _expr$2 = _ToReturnExpr._0;
10120
10236
  expr = _expr$2;
10121
10237
  break _L$3;
10122
10238
  }
10123
10239
  default: {
10124
- const _Block = _bind$3;
10240
+ const _Block = _bind;
10125
10241
  const _stmts = _Block._0;
10126
10242
  stmts = _stmts;
10127
10243
  break _L$2;
@@ -10140,14 +10256,14 @@ function _M0MP48username4core3src7codegen9JsCodegen13gen__fn__decl(self, decl) {
10140
10256
  }
10141
10257
  _M0MP48username4core3src7codegen9JsCodegen5write(self, "{\n");
10142
10258
  self.indent_level = self.indent_level + 1 | 0;
10143
- const _bind$3 = stmts.length;
10144
- let _tmp$2 = 0;
10259
+ const _bind = stmts.length;
10260
+ let _tmp = 0;
10145
10261
  while (true) {
10146
- const _ = _tmp$2;
10147
- if (_ < _bind$3) {
10262
+ const _ = _tmp;
10263
+ if (_ < _bind) {
10148
10264
  const s = stmts[_];
10149
10265
  _M0MP48username4core3src7codegen9JsCodegen9gen__stmt(self, s);
10150
- _tmp$2 = _ + 1 | 0;
10266
+ _tmp = _ + 1 | 0;
10151
10267
  continue;
10152
10268
  } else {
10153
10269
  break;
@@ -10690,7 +10806,7 @@ function _M0MP48username4core3src7codegen9JsCodegen10gen__match(self, subject, a
10690
10806
  const _bind$2 = arm.cond;
10691
10807
  if (_bind$2 === undefined) {
10692
10808
  } else {
10693
- if (_M0IP016_24default__implPB2Eq10not__equalGsE(name, "_")) {
10809
+ if (!_M0FP48username4core3src7codegen9is__blank(name)) {
10694
10810
  has_bind_guard.val = true;
10695
10811
  }
10696
10812
  }
@@ -10726,7 +10842,7 @@ function _M0MP48username4core3src7codegen9JsCodegen10gen__match(self, subject, a
10726
10842
  const _bind$3 = arm.cond;
10727
10843
  if (_bind$3 === undefined) {
10728
10844
  } else {
10729
- if (_M0IP016_24default__implPB2Eq10not__equalGsE(name, "_")) {
10845
+ if (!_M0FP48username4core3src7codegen9is__blank(name)) {
10730
10846
  _M0MP48username4core3src7codegen9JsCodegen13write__indent(self);
10731
10847
  _M0MP48username4core3src7codegen9JsCodegen5write(self, "const ");
10732
10848
  _M0MP48username4core3src7codegen9JsCodegen5write(self, _M0FP48username4core3src7codegen9js__ident(name));
@@ -10795,7 +10911,7 @@ function _M0MP48username4core3src7codegen9JsCodegen10gen__match(self, subject, a
10795
10911
  _M0MP48username4core3src7codegen9JsCodegen5write(self, ") {\n");
10796
10912
  break _L;
10797
10913
  }
10798
- if (name === "_") {
10914
+ if (_M0FP48username4core3src7codegen9is__blank(name)) {
10799
10915
  let c;
10800
10916
  _L$3: {
10801
10917
  _L$4: {
@@ -11094,7 +11210,7 @@ function _M0MP48username4core3src7codegen9JsCodegen17gen__stmt__inline(self, stm
11094
11210
  }
11095
11211
  }
11096
11212
  function _M0MP48username4core3src7codegen9JsCodegen11new_2einner(cjs) {
11097
- return new _M0TP48username4core3src7codegen9JsCodegen(_M0MPB13StringBuilder11new_2einner(0), 0, [], [], cjs);
11213
+ return new _M0TP48username4core3src7codegen9JsCodegen(_M0MPB13StringBuilder21StringBuilder_2einner(0), 0, [], [], cjs);
11098
11214
  }
11099
11215
  function _M0MP48username4core3src7codegen9JsCodegen16generate_2einner(self, stmts, header, shebang, strict) {
11100
11216
  if (shebang.length > 0) {
@@ -11201,7 +11317,7 @@ function _M0FP58username4core3src3cmd4main10cmd__build(args) {
11201
11317
  _L$2: {
11202
11318
  _L$3: {
11203
11319
  const _bind = _M0MPC15array5Array2atGsE(tokens, 0).kind;
11204
- if (_bind.$tag === 111) {
11320
+ if (_bind.$tag === 112) {
11205
11321
  const _Shebang = _bind;
11206
11322
  const _s = _Shebang._0;
11207
11323
  s = _s;
@@ -11231,7 +11347,7 @@ function _M0FP58username4core3src3cmd4main10cmd__build(args) {
11231
11347
  }
11232
11348
  }
11233
11349
  const stmts = _M0MP48username4core3src6parser6Parser5parse(_M0MP48username4core3src6parser6Parser3new(filtered));
11234
- const header = no_header.val ? "" : "// Generated by Purus 0.10.1";
11350
+ const header = no_header.val ? "" : "// Generated by Purus 0.11.0";
11235
11351
  const js = _M0MP48username4core3src7codegen9JsCodegen16generate_2einner(_M0MP48username4core3src7codegen9JsCodegen11new_2einner(cjs.val), stmts, header, shebang.val, strict.val);
11236
11352
  if (to_stdout.val) {
11237
11353
  _M0FPB7printlnGsE(js);
@@ -11242,7 +11358,7 @@ function _M0FP58username4core3src3cmd4main10cmd__build(args) {
11242
11358
  const _bind = ".cpurus";
11243
11359
  if (_M0MPC16string6String11has__suffix(_tmp, new _M0TPC16string10StringView(_bind, 0, _bind.length))) {
11244
11360
  const chars = _M0MPC16string6String9to__array(file.val);
11245
- const buf = _M0MPB13StringBuilder11new_2einner(0);
11361
+ const buf = _M0MPB13StringBuilder21StringBuilder_2einner(0);
11246
11362
  const i$2 = new _M0TPB8MutLocalGiE(0);
11247
11363
  while (true) {
11248
11364
  if (i$2.val < (chars.length - 7 | 0)) {
@@ -11259,7 +11375,7 @@ function _M0FP58username4core3src3cmd4main10cmd__build(args) {
11259
11375
  const _bind$2 = ".mpurus";
11260
11376
  if (_M0MPC16string6String11has__suffix(_tmp$2, new _M0TPC16string10StringView(_bind$2, 0, _bind$2.length))) {
11261
11377
  const chars = _M0MPC16string6String9to__array(file.val);
11262
- const buf = _M0MPB13StringBuilder11new_2einner(0);
11378
+ const buf = _M0MPB13StringBuilder21StringBuilder_2einner(0);
11263
11379
  const i$2 = new _M0TPB8MutLocalGiE(0);
11264
11380
  while (true) {
11265
11381
  if (i$2.val < (chars.length - 7 | 0)) {
@@ -11276,7 +11392,7 @@ function _M0FP58username4core3src3cmd4main10cmd__build(args) {
11276
11392
  const _bind$3 = ".purus";
11277
11393
  if (_M0MPC16string6String11has__suffix(_tmp$3, new _M0TPC16string10StringView(_bind$3, 0, _bind$3.length))) {
11278
11394
  const chars = _M0MPC16string6String9to__array(file.val);
11279
- const buf = _M0MPB13StringBuilder11new_2einner(0);
11395
+ const buf = _M0MPB13StringBuilder21StringBuilder_2einner(0);
11280
11396
  const i$2 = new _M0TPB8MutLocalGiE(0);
11281
11397
  while (true) {
11282
11398
  if (i$2.val < (chars.length - 6 | 0)) {