@calcit/procs 0.5.0-a9 → 0.5.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,9 +2,9 @@ import { overwriteHashGenerator, valueHash, mergeValueHash } from "@calcit/terna
2
2
  import { overwriteComparator } from "@calcit/ternary-tree";
3
3
  import { overwriteMapComparator } from "./js-map";
4
4
  import { CalcitRecord, fieldsEqual } from "./js-record";
5
- import { CalcitMap } from "./js-map";
5
+ import { CalcitMap, CalcitSliceMap } from "./js-map";
6
6
  import "./js-primes";
7
- import { CalcitList } from "./js-list";
7
+ import { CalcitList, CalcitSliceList } from "./js-list";
8
8
  import { CalcitSet, overwriteSetComparator } from "./js-set";
9
9
  import { CalcitTuple } from "./js-tuple";
10
10
  // we have to inject cache in a dirty way in some cases
@@ -51,10 +51,10 @@ export class CalcitRecur {
51
51
  }
52
52
  }
53
53
  export let isNestedCalcitData = (x) => {
54
- if (x instanceof CalcitList) {
54
+ if (x instanceof CalcitList || x instanceof CalcitSliceList) {
55
55
  return x.len() > 0;
56
56
  }
57
- if (x instanceof CalcitMap) {
57
+ if (x instanceof CalcitMap || x instanceof CalcitSliceMap) {
58
58
  return x.len() > 0;
59
59
  }
60
60
  if (x instanceof CalcitRecord) {
@@ -66,10 +66,10 @@ export let isNestedCalcitData = (x) => {
66
66
  return false;
67
67
  };
68
68
  export let tipNestedCalcitData = (x) => {
69
- if (x instanceof CalcitList) {
69
+ if (x instanceof CalcitList || x instanceof CalcitSliceList) {
70
70
  return "'[]...";
71
71
  }
72
- if (x instanceof CalcitMap) {
72
+ if (x instanceof CalcitMap || x instanceof CalcitSliceMap) {
73
73
  return "'{}...";
74
74
  }
75
75
  if (x instanceof CalcitRecord) {
@@ -120,9 +120,9 @@ export function findInFields(xs, y) {
120
120
  return pos;
121
121
  }
122
122
  }
123
- if (y == xs[lower])
123
+ if (y === xs[lower])
124
124
  return lower;
125
- if (y == xs[upper])
125
+ if (y === xs[upper])
126
126
  return upper;
127
127
  return -1;
128
128
  }
@@ -148,7 +148,7 @@ export let castKwd = (x) => {
148
148
  if (x instanceof CalcitSymbol) {
149
149
  return kwd(x.value);
150
150
  }
151
- throw new Error("Cannot cast thst to keyword");
151
+ throw new Error(`Cannot cast this to keyword: ${x}`);
152
152
  };
153
153
  export var refsRegistry = new Map();
154
154
  let defaultHash_nil = valueHash("nil:");
@@ -229,6 +229,16 @@ let hashFunction = (x) => {
229
229
  }
230
230
  return base;
231
231
  }
232
+ if (x instanceof CalcitSliceList) {
233
+ let base = defaultHash_list;
234
+ // low-level code for perf
235
+ for (let idx = x.start; idx < x.end; idx++) {
236
+ let item = x.value[idx];
237
+ base = mergeValueHash(base, hashFunction(item));
238
+ }
239
+ x.cachedHash = base;
240
+ return base;
241
+ }
232
242
  if (x instanceof CalcitList) {
233
243
  let base = defaultHash_list;
234
244
  for (let item of x.items()) {
@@ -237,6 +247,15 @@ let hashFunction = (x) => {
237
247
  x.cachedHash = base;
238
248
  return base;
239
249
  }
250
+ if (x instanceof CalcitSliceMap) {
251
+ let base = defaultHash_map;
252
+ for (let [k, v] of x.pairs()) {
253
+ base = mergeValueHash(base, hashFunction(k));
254
+ base = mergeValueHash(base, hashFunction(v));
255
+ }
256
+ x.cachedHash = base;
257
+ return base;
258
+ }
240
259
  if (x instanceof CalcitMap) {
241
260
  let base = defaultHash_map;
242
261
  for (let [k, v] of x.pairs()) {
@@ -300,10 +319,10 @@ export let toString = (x, escaped) => {
300
319
  if (x instanceof CalcitKeyword) {
301
320
  return x.toString();
302
321
  }
303
- if (x instanceof CalcitList) {
322
+ if (x instanceof CalcitList || x instanceof CalcitSliceList) {
304
323
  return x.toString();
305
324
  }
306
- if (x instanceof CalcitMap) {
325
+ if (x instanceof CalcitMap || x instanceof CalcitSliceMap) {
307
326
  return x.toString();
308
327
  }
309
328
  if (x instanceof CalcitSet) {
@@ -349,14 +368,14 @@ export let to_js_data = (x, addColon = false) => {
349
368
  }
350
369
  return Symbol(x.value);
351
370
  }
352
- if (x instanceof CalcitList) {
371
+ if (x instanceof CalcitList || x instanceof CalcitSliceList) {
353
372
  var result = [];
354
373
  for (let item of x.items()) {
355
374
  result.push(to_js_data(item, addColon));
356
375
  }
357
376
  return result;
358
377
  }
359
- if (x instanceof CalcitMap) {
378
+ if (x instanceof CalcitMap || x instanceof CalcitSliceMap) {
360
379
  let result = {};
361
380
  for (let [k, v] of x.pairs()) {
362
381
  var key = to_js_data(k, addColon);
@@ -390,7 +409,7 @@ export let _$n_map_$o_get = function (xs, k) {
390
409
  if (arguments.length !== 2) {
391
410
  throw new Error("map &get takes 2 arguments");
392
411
  }
393
- if (xs instanceof CalcitMap)
412
+ if (xs instanceof CalcitMap || xs instanceof CalcitSliceMap)
394
413
  return xs.get(k);
395
414
  throw new Error("Does not support `&get` on this type");
396
415
  };
@@ -434,8 +453,8 @@ export let _$n__$e_ = (x, y) => {
434
453
  }
435
454
  return false;
436
455
  }
437
- if (x instanceof CalcitList) {
438
- if (y instanceof CalcitList) {
456
+ if (x instanceof CalcitList || x instanceof CalcitSliceList) {
457
+ if (y instanceof CalcitList || y instanceof CalcitSliceList) {
439
458
  if (x.len() !== y.len()) {
440
459
  return false;
441
460
  }
@@ -451,8 +470,8 @@ export let _$n__$e_ = (x, y) => {
451
470
  }
452
471
  return false;
453
472
  }
454
- if (x instanceof CalcitMap) {
455
- if (y instanceof CalcitMap) {
473
+ if (x instanceof CalcitMap || x instanceof CalcitSliceMap) {
474
+ if (y instanceof CalcitMap || y instanceof CalcitSliceMap) {
456
475
  if (x.len() !== y.len()) {
457
476
  return false;
458
477
  }
@@ -1,7 +1,7 @@
1
1
  var _a;
2
2
  // CALCIT VERSION
3
- export const calcit_version = "0.5.0-a9";
4
- import { initTernaryTreeMap } from "@calcit/ternary-tree";
3
+ export const calcit_version = "0.5.0";
4
+ import "@calcit/ternary-tree";
5
5
  import { parse } from "@cirru/parser.ts";
6
6
  import { writeCirruCode } from "@cirru/writer.ts";
7
7
  import "./js-primes";
@@ -16,8 +16,8 @@ export * from "./js-primes";
16
16
  export * from "./js-tuple";
17
17
  export * from "./custom-formatter";
18
18
  export * from "./js-cirru";
19
- import { CalcitList, foldl } from "./js-list";
20
- import { CalcitMap } from "./js-map";
19
+ import { CalcitList, CalcitSliceList, foldl } from "./js-list";
20
+ import { CalcitMap, CalcitSliceMap } from "./js-map";
21
21
  import { CalcitSet } from "./js-set";
22
22
  import { CalcitTuple } from "./js-tuple";
23
23
  import { to_calcit_data, extract_cirru_edn } from "./js-cirru";
@@ -32,10 +32,10 @@ export let type_of = (x) => {
32
32
  if (x instanceof CalcitKeyword) {
33
33
  return kwd("keyword");
34
34
  }
35
- if (x instanceof CalcitList) {
35
+ if (x instanceof CalcitList || x instanceof CalcitSliceList) {
36
36
  return kwd("list");
37
37
  }
38
- if (x instanceof CalcitMap) {
38
+ if (x instanceof CalcitMap || x instanceof CalcitSliceMap) {
39
39
  return kwd("map");
40
40
  }
41
41
  if (x == null) {
@@ -76,7 +76,7 @@ export let print = (...xs) => {
76
76
  console.log(xs.map((x) => toString(x, false)).join(" "));
77
77
  };
78
78
  export function _$n_list_$o_count(x) {
79
- if (x instanceof CalcitList)
79
+ if (x instanceof CalcitList || x instanceof CalcitSliceList)
80
80
  return x.len();
81
81
  throw new Error(`expected a list ${x}`);
82
82
  }
@@ -86,7 +86,7 @@ export function _$n_str_$o_count(x) {
86
86
  throw new Error(`expected a string ${x}`);
87
87
  }
88
88
  export function _$n_map_$o_count(x) {
89
- if (x instanceof CalcitMap)
89
+ if (x instanceof CalcitMap || x instanceof CalcitSliceMap)
90
90
  return x.len();
91
91
  throw new Error(`expected a map ${x}`);
92
92
  }
@@ -101,17 +101,17 @@ export function _$n_set_$o_count(x) {
101
101
  throw new Error(`expected a set ${x}`);
102
102
  }
103
103
  export let _$L_ = (...xs) => {
104
- return new CalcitList(xs);
104
+ return new CalcitSliceList(xs);
105
105
  };
106
106
  // single quote as alias for list
107
107
  export let _SQUO_ = (...xs) => {
108
- return new CalcitList(xs);
108
+ return new CalcitSliceList(xs);
109
109
  };
110
110
  export let _$n__$M_ = (...xs) => {
111
111
  if (xs.length % 2 !== 0) {
112
112
  throw new Error("&map expects even number of arguments");
113
113
  }
114
- return new CalcitMap(xs);
114
+ return new CalcitSliceMap(xs);
115
115
  };
116
116
  export let defatom = (path, x) => {
117
117
  let v = new CalcitRef(x, path);
@@ -151,7 +151,7 @@ export let _$n_str_$o_contains_$q_ = (xs, x) => {
151
151
  throw new Error("string `contains?` expected a string");
152
152
  };
153
153
  export let _$n_list_$o_contains_$q_ = (xs, x) => {
154
- if (xs instanceof CalcitList) {
154
+ if (xs instanceof CalcitList || xs instanceof CalcitSliceList) {
155
155
  if (typeof x != "number") {
156
156
  throw new Error("Expected number index for detecting");
157
157
  }
@@ -164,7 +164,7 @@ export let _$n_list_$o_contains_$q_ = (xs, x) => {
164
164
  throw new Error("list `contains?` expected a list");
165
165
  };
166
166
  export let _$n_map_$o_contains_$q_ = (xs, x) => {
167
- if (xs instanceof CalcitMap)
167
+ if (xs instanceof CalcitMap || xs instanceof CalcitSliceMap)
168
168
  return xs.contains(x);
169
169
  throw new Error("map `contains?` expected a map");
170
170
  };
@@ -183,7 +183,7 @@ export let _$n_str_$o_includes_$q_ = (xs, x) => {
183
183
  throw new Error("string includes? expected a string");
184
184
  };
185
185
  export let _$n_list_$o_includes_$q_ = (xs, x) => {
186
- if (xs instanceof CalcitList) {
186
+ if (xs instanceof CalcitList || xs instanceof CalcitSliceList) {
187
187
  let size = xs.len();
188
188
  for (let v of xs.items()) {
189
189
  if (_$n__$e_(v, x)) {
@@ -195,7 +195,7 @@ export let _$n_list_$o_includes_$q_ = (xs, x) => {
195
195
  throw new Error("list includes? expected a list");
196
196
  };
197
197
  export let _$n_map_$o_includes_$q_ = (xs, x) => {
198
- if (xs instanceof CalcitMap) {
198
+ if (xs instanceof CalcitMap || xs instanceof CalcitSliceMap) {
199
199
  for (let [k, v] of xs.pairs()) {
200
200
  if (_$n__$e_(v, x)) {
201
201
  return true;
@@ -225,7 +225,7 @@ export let _$n_list_$o_nth = function (xs, k) {
225
225
  throw new Error("nth takes 2 arguments");
226
226
  if (typeof k !== "number")
227
227
  throw new Error("Expected number index for a list");
228
- if (xs instanceof CalcitList)
228
+ if (xs instanceof CalcitList || xs instanceof CalcitSliceList)
229
229
  return xs.get(k);
230
230
  throw new Error("Does not support `nth` on this type");
231
231
  };
@@ -249,7 +249,7 @@ export let _$n_record_$o_get = function (xs, k) {
249
249
  export let _$n_list_$o_assoc = function (xs, k, v) {
250
250
  if (arguments.length !== 3)
251
251
  throw new Error("assoc takes 3 arguments");
252
- if (xs instanceof CalcitList) {
252
+ if (xs instanceof CalcitList || xs instanceof CalcitSliceList) {
253
253
  if (typeof k !== "number") {
254
254
  throw new Error("Expected number index for lists");
255
255
  }
@@ -273,7 +273,7 @@ export let _$n_map_$o_assoc = function (xs, ...args) {
273
273
  throw new Error("assoc takes at least 3 arguments");
274
274
  if (args.length % 2 !== 0)
275
275
  throw new Error("assoc expected odd arguments");
276
- if (xs instanceof CalcitMap)
276
+ if (xs instanceof CalcitMap || xs instanceof CalcitSliceMap)
277
277
  return xs.assoc(...args);
278
278
  throw new Error("map `assoc` expected a map");
279
279
  };
@@ -288,7 +288,7 @@ export let _$n_list_$o_assoc_before = function (xs, k, v) {
288
288
  if (arguments.length !== 3) {
289
289
  throw new Error("assoc takes 3 arguments");
290
290
  }
291
- if (xs instanceof CalcitList) {
291
+ if (xs instanceof CalcitList || xs instanceof CalcitSliceList) {
292
292
  if (typeof k !== "number") {
293
293
  throw new Error("Expected number index for lists");
294
294
  }
@@ -300,7 +300,7 @@ export let _$n_list_$o_assoc_after = function (xs, k, v) {
300
300
  if (arguments.length !== 3) {
301
301
  throw new Error("assoc takes 3 arguments");
302
302
  }
303
- if (xs instanceof CalcitList) {
303
+ if (xs instanceof CalcitList || xs instanceof CalcitSliceList) {
304
304
  if (typeof k !== "number") {
305
305
  throw new Error("Expected number index for lists");
306
306
  }
@@ -311,7 +311,7 @@ export let _$n_list_$o_assoc_after = function (xs, k, v) {
311
311
  export let _$n_list_$o_dissoc = function (xs, k) {
312
312
  if (arguments.length !== 2)
313
313
  throw new Error("dissoc takes 2 arguments");
314
- if (xs instanceof CalcitList) {
314
+ if (xs instanceof CalcitList || xs instanceof CalcitSliceList) {
315
315
  if (typeof k !== "number")
316
316
  throw new Error("Expected number index for lists");
317
317
  return xs.dissoc(k);
@@ -321,7 +321,7 @@ export let _$n_list_$o_dissoc = function (xs, k) {
321
321
  export let _$n_map_$o_dissoc = function (xs, ...args) {
322
322
  if (args.length < 1)
323
323
  throw new Error("dissoc takes at least 2 arguments");
324
- if (xs instanceof CalcitMap) {
324
+ if (xs instanceof CalcitMap || xs instanceof CalcitSliceMap) {
325
325
  return xs.dissoc(...args);
326
326
  }
327
327
  throw new Error("`dissoc` expected a map");
@@ -355,7 +355,7 @@ export let remove_watch = (a, k) => {
355
355
  return null;
356
356
  };
357
357
  export let range = (n, m, m2) => {
358
- var result = new CalcitList([]);
358
+ var result = new CalcitSliceList([]);
359
359
  if (m2 != null) {
360
360
  console.warn("TODO range with 3 arguments"); // TODO
361
361
  }
@@ -376,17 +376,17 @@ export let range = (n, m, m2) => {
376
376
  return result;
377
377
  };
378
378
  export function _$n_list_$o_empty_$q_(xs) {
379
- if (xs instanceof CalcitList)
379
+ if (xs instanceof CalcitList || xs instanceof CalcitSliceList)
380
380
  return xs.isEmpty();
381
381
  throw new Error(`expected a list ${xs}`);
382
382
  }
383
383
  export function _$n_str_$o_empty_$q_(xs) {
384
- if (typeof xs == "string")
385
- return xs.length == 0;
384
+ if (typeof xs === "string")
385
+ return xs.length === 0;
386
386
  throw new Error(`expected a string ${xs}`);
387
387
  }
388
388
  export function _$n_map_$o_empty_$q_(xs) {
389
- if (xs instanceof CalcitMap)
389
+ if (xs instanceof CalcitMap || xs instanceof CalcitSliceMap)
390
390
  return xs.isEmpty();
391
391
  throw new Error(`expected a list ${xs}`);
392
392
  }
@@ -396,7 +396,7 @@ export function _$n_set_$o_empty_$q_(xs) {
396
396
  throw new Error(`expected a list ${xs}`);
397
397
  }
398
398
  export let _$n_list_$o_first = (xs) => {
399
- if (xs instanceof CalcitList) {
399
+ if (xs instanceof CalcitList || xs instanceof CalcitSliceList) {
400
400
  if (xs.isEmpty()) {
401
401
  return null;
402
402
  }
@@ -413,11 +413,11 @@ export let _$n_str_$o_first = (xs) => {
413
413
  throw new Error("Expected a string");
414
414
  };
415
415
  export let _$n_map_$o_first = (xs) => {
416
- if (xs instanceof CalcitMap) {
416
+ if (xs instanceof CalcitMap || xs instanceof CalcitSliceMap) {
417
417
  // TODO order may not be stable enough
418
418
  let ys = xs.pairs();
419
419
  if (ys.length > 0) {
420
- return new CalcitList(ys[0]);
420
+ return new CalcitSliceList(ys[0]);
421
421
  }
422
422
  else {
423
423
  return null;
@@ -444,7 +444,7 @@ export let timeout_call = (duration, f) => {
444
444
  return null;
445
445
  };
446
446
  export let _$n_list_$o_rest = (xs) => {
447
- if (xs instanceof CalcitList) {
447
+ if (xs instanceof CalcitList || xs instanceof CalcitSliceList) {
448
448
  if (xs.len() === 0) {
449
449
  return null;
450
450
  }
@@ -466,13 +466,13 @@ export let _$n_set_$o_rest = (xs) => {
466
466
  throw new Error("Expect a set");
467
467
  };
468
468
  export let _$n_map_$o_rest = (xs) => {
469
- if (xs instanceof CalcitMap) {
469
+ if (xs instanceof CalcitMap || xs instanceof CalcitSliceMap) {
470
470
  if (xs.len() > 0) {
471
471
  let k0 = xs.pairs()[0][0];
472
472
  return xs.dissoc(k0);
473
473
  }
474
474
  else {
475
- return new CalcitMap(initTernaryTreeMap([]));
475
+ return new CalcitSliceMap([]);
476
476
  }
477
477
  }
478
478
  console.error(xs);
@@ -488,19 +488,19 @@ export let not = (x) => {
488
488
  return !x;
489
489
  };
490
490
  export let prepend = (xs, v) => {
491
- if (!(xs instanceof CalcitList)) {
491
+ if (!(xs instanceof CalcitList || xs instanceof CalcitSliceList)) {
492
492
  throw new Error("Expected array");
493
493
  }
494
494
  return xs.prepend(v);
495
495
  };
496
496
  export let append = (xs, v) => {
497
- if (!(xs instanceof CalcitList)) {
497
+ if (!(xs instanceof CalcitList || xs instanceof CalcitSliceList)) {
498
498
  throw new Error("Expected array");
499
499
  }
500
500
  return xs.append(v);
501
501
  };
502
502
  export let last = (xs) => {
503
- if (xs instanceof CalcitList) {
503
+ if (xs instanceof CalcitList || xs instanceof CalcitSliceList) {
504
504
  if (xs.isEmpty()) {
505
505
  return null;
506
506
  }
@@ -513,7 +513,7 @@ export let last = (xs) => {
513
513
  throw new Error("Data not ready for last");
514
514
  };
515
515
  export let butlast = (xs) => {
516
- if (xs instanceof CalcitList) {
516
+ if (xs instanceof CalcitList || xs instanceof CalcitSliceList) {
517
517
  if (xs.len() === 0) {
518
518
  return null;
519
519
  }
@@ -555,7 +555,7 @@ export let _$n_list_$o_slice = (xs, from, to) => {
555
555
  to = size;
556
556
  }
557
557
  else if (to <= from) {
558
- return new CalcitList([]);
558
+ return new CalcitSliceList([]);
559
559
  }
560
560
  else if (to > size) {
561
561
  to = size;
@@ -563,12 +563,12 @@ export let _$n_list_$o_slice = (xs, from, to) => {
563
563
  return xs.slice(from, to);
564
564
  };
565
565
  export let _$n_list_$o_concat = (...lists) => {
566
- let result = new CalcitList([]);
566
+ let result = new CalcitSliceList([]);
567
567
  for (let item of lists) {
568
568
  if (item == null) {
569
569
  continue;
570
570
  }
571
- if (item instanceof CalcitList) {
571
+ if (item instanceof CalcitList || item instanceof CalcitSliceList) {
572
572
  if (result.isEmpty()) {
573
573
  result = item;
574
574
  }
@@ -608,7 +608,7 @@ export let _$n_number_$o_rem = (a, b) => {
608
608
  return a % b;
609
609
  };
610
610
  export let round_$q_ = (a) => {
611
- return a == Math.round(a);
611
+ return a === Math.round(a);
612
612
  };
613
613
  export let _$n_str_$o_concat = (a, b) => {
614
614
  let buffer = "";
@@ -624,9 +624,9 @@ export let sort = (xs, f) => {
624
624
  if (xs == null) {
625
625
  return null;
626
626
  }
627
- if (xs instanceof CalcitList) {
627
+ if (xs instanceof CalcitList || xs instanceof CalcitSliceList) {
628
628
  let ys = xs.toArray();
629
- return new CalcitList(ys.sort(f));
629
+ return new CalcitSliceList(ys.sort(f));
630
630
  }
631
631
  throw new Error("Expected list");
632
632
  };
@@ -640,8 +640,8 @@ export let _$n_merge = (a, b) => {
640
640
  if (b == null) {
641
641
  return a;
642
642
  }
643
- if (a instanceof CalcitMap) {
644
- if (b instanceof CalcitMap) {
643
+ if (a instanceof CalcitMap || a instanceof CalcitSliceMap) {
644
+ if (b instanceof CalcitMap || b instanceof CalcitSliceMap) {
645
645
  return a.merge(b);
646
646
  }
647
647
  else {
@@ -649,7 +649,7 @@ export let _$n_merge = (a, b) => {
649
649
  }
650
650
  }
651
651
  if (a instanceof CalcitRecord) {
652
- if (b instanceof CalcitMap) {
652
+ if (b instanceof CalcitMap || b instanceof CalcitSliceMap) {
653
653
  let values = [];
654
654
  for (let item of a.values) {
655
655
  values.push(item);
@@ -682,26 +682,26 @@ export let _$n_merge_non_nil = (a, b) => {
682
682
  if (b == null) {
683
683
  return a;
684
684
  }
685
- if (!(a instanceof CalcitMap)) {
685
+ if (!(a instanceof CalcitMap || a instanceof CalcitSliceMap)) {
686
686
  throw new Error("Expected map");
687
687
  }
688
- if (!(b instanceof CalcitMap)) {
688
+ if (!(b instanceof CalcitMap || b instanceof CalcitSliceMap)) {
689
689
  throw new Error("Expected map");
690
690
  }
691
691
  return a.mergeSkip(b, null);
692
692
  };
693
693
  export let to_pairs = (xs) => {
694
- if (xs instanceof CalcitMap) {
694
+ if (xs instanceof CalcitMap || xs instanceof CalcitSliceMap) {
695
695
  let result = [];
696
696
  for (let [k, v] of xs.pairs()) {
697
- result.push(new CalcitList([k, v]));
697
+ result.push(new CalcitSliceList([k, v]));
698
698
  }
699
699
  return new CalcitSet(result);
700
700
  }
701
701
  else if (xs instanceof CalcitRecord) {
702
702
  let arr_result = [];
703
703
  for (let idx = 0; idx < xs.fields.length; idx++) {
704
- arr_result.push(new CalcitList([xs.fields[idx], xs.values[idx]]));
704
+ arr_result.push(new CalcitSliceList([xs.fields[idx], xs.values[idx]]));
705
705
  }
706
706
  return new CalcitSet(arr_result);
707
707
  }
@@ -785,10 +785,10 @@ export let _$n_str_$o_replace = (x, y, z) => {
785
785
  return result;
786
786
  };
787
787
  export let split = (xs, x) => {
788
- return new CalcitList(xs.split(x));
788
+ return new CalcitSliceList(xs.split(x));
789
789
  };
790
790
  export let split_lines = (xs) => {
791
- return new CalcitList(xs.split("\n"));
791
+ return new CalcitSliceList(xs.split("\n"));
792
792
  };
793
793
  export let _$n_str_$o_slice = (xs, m, n) => {
794
794
  if (n <= m) {
@@ -811,13 +811,13 @@ export let trim = (x, c) => {
811
811
  var buffer = x;
812
812
  var size = buffer.length;
813
813
  var idx = 0;
814
- while (idx < size && buffer[idx] == c) {
814
+ while (idx < size && buffer[idx] === c) {
815
815
  idx = idx + 1;
816
816
  }
817
817
  buffer = buffer.substring(idx);
818
818
  var size = buffer.length;
819
819
  var idx = size;
820
- while (idx > 1 && buffer[idx - 1] == c) {
820
+ while (idx > 1 && buffer[idx - 1] === c) {
821
821
  idx = idx - 1;
822
822
  }
823
823
  buffer = buffer.substring(0, idx);
@@ -840,7 +840,7 @@ export let char_from_code = (n) => {
840
840
  return String.fromCharCode(n);
841
841
  };
842
842
  export let _$n_set_$o_to_list = (x) => {
843
- return new CalcitList(x.values());
843
+ return new CalcitSliceList(x.values());
844
844
  };
845
845
  export let aget = (x, name) => {
846
846
  return x[name];
@@ -964,13 +964,13 @@ export let _$n_str_$o_compare = (x, y) => {
964
964
  return 0;
965
965
  };
966
966
  export let arrayToList = (xs) => {
967
- return new CalcitList(xs !== null && xs !== void 0 ? xs : []);
967
+ return new CalcitSliceList(xs !== null && xs !== void 0 ? xs : []);
968
968
  };
969
969
  export let listToArray = (xs) => {
970
970
  if (xs == null) {
971
971
  return null;
972
972
  }
973
- if (xs instanceof CalcitList) {
973
+ if (xs instanceof CalcitList || xs instanceof CalcitSliceList) {
974
974
  return xs.toArray();
975
975
  }
976
976
  else {
@@ -993,10 +993,10 @@ export let keyword_$q_ = (x) => {
993
993
  return x instanceof CalcitKeyword;
994
994
  };
995
995
  export let map_$q_ = (x) => {
996
- return x instanceof CalcitMap;
996
+ return x instanceof CalcitSliceMap || x instanceof CalcitMap;
997
997
  };
998
998
  export let list_$q_ = (x) => {
999
- return x instanceof CalcitList;
999
+ return x instanceof CalcitSliceList || x instanceof CalcitList;
1000
1000
  };
1001
1001
  export let set_$q_ = (x) => {
1002
1002
  return x instanceof CalcitSet;
@@ -1052,7 +1052,7 @@ export let format_to_lisp = (x) => {
1052
1052
  else if (x instanceof CalcitSymbol) {
1053
1053
  return x.value;
1054
1054
  }
1055
- else if (x instanceof CalcitList) {
1055
+ else if (x instanceof CalcitList || x instanceof CalcitSliceList) {
1056
1056
  let chunk = "(";
1057
1057
  for (let item of x.items()) {
1058
1058
  if (chunk != "(") {
@@ -1082,7 +1082,7 @@ export let transform_code_to_cirru = (x) => {
1082
1082
  else if (x instanceof CalcitSymbol) {
1083
1083
  return x.value;
1084
1084
  }
1085
- else if (x instanceof CalcitList) {
1085
+ else if (x instanceof CalcitList || x instanceof CalcitSliceList) {
1086
1086
  let xs = [];
1087
1087
  for (let item of x.items()) {
1088
1088
  xs.push(transform_code_to_cirru(item));
@@ -1166,13 +1166,13 @@ export function invoke_method(p) {
1166
1166
  else if (obj instanceof CalcitSet) {
1167
1167
  klass = calcit_builtin_classes.set;
1168
1168
  }
1169
- else if (obj instanceof CalcitList) {
1169
+ else if (obj instanceof CalcitList || obj instanceof CalcitSliceList) {
1170
1170
  klass = calcit_builtin_classes.list;
1171
1171
  }
1172
1172
  else if (obj instanceof CalcitRecord) {
1173
1173
  klass = calcit_builtin_classes.record;
1174
1174
  }
1175
- else if (obj instanceof CalcitMap) {
1175
+ else if (obj instanceof CalcitMap || obj instanceof CalcitSliceMap) {
1176
1176
  klass = calcit_builtin_classes.map;
1177
1177
  }
1178
1178
  else {
@@ -1195,12 +1195,12 @@ export function invoke_method(p) {
1195
1195
  };
1196
1196
  }
1197
1197
  export let _$n_map_$o_to_list = (m) => {
1198
- if (m instanceof CalcitMap) {
1198
+ if (m instanceof CalcitMap || m instanceof CalcitSliceMap) {
1199
1199
  let ys = [];
1200
1200
  for (let pair of m.pairs()) {
1201
- ys.push(new CalcitList(pair));
1201
+ ys.push(new CalcitSliceList(pair));
1202
1202
  }
1203
- return new CalcitList(ys);
1203
+ return new CalcitSliceList(ys);
1204
1204
  }
1205
1205
  else {
1206
1206
  throw new Error("&map:to-list expected a Map");
@@ -1244,11 +1244,11 @@ let typeAsInt = (x) => {
1244
1244
  return PseudoTypeIndex.tuple;
1245
1245
  if (x instanceof CalcitRecur)
1246
1246
  return PseudoTypeIndex.recur;
1247
- if (x instanceof CalcitList)
1247
+ if (x instanceof CalcitList || x instanceof CalcitSliceList)
1248
1248
  return PseudoTypeIndex.list;
1249
1249
  if (x instanceof CalcitSet)
1250
1250
  return PseudoTypeIndex.set;
1251
- if (x instanceof CalcitMap)
1251
+ if (x instanceof CalcitMap || x instanceof CalcitSliceMap)
1252
1252
  return PseudoTypeIndex.map;
1253
1253
  if (x instanceof CalcitRecord)
1254
1254
  return PseudoTypeIndex.record;
@@ -1307,7 +1307,7 @@ export let _$n_compare = (a, b) => {
1307
1307
  }
1308
1308
  };
1309
1309
  export let _$n_map_$o_diff_new = (a, b) => {
1310
- if (a instanceof CalcitMap && b instanceof CalcitMap) {
1310
+ if ((a instanceof CalcitMap || a instanceof CalcitSliceMap) && (b instanceof CalcitMap || b instanceof CalcitSliceMap)) {
1311
1311
  return a.diffNew(b);
1312
1312
  }
1313
1313
  else {
@@ -1315,7 +1315,7 @@ export let _$n_map_$o_diff_new = (a, b) => {
1315
1315
  }
1316
1316
  };
1317
1317
  export let _$n_map_$o_diff_keys = (a, b) => {
1318
- if (a instanceof CalcitMap && b instanceof CalcitMap) {
1318
+ if ((a instanceof CalcitMap || a instanceof CalcitSliceMap) && (b instanceof CalcitMap || b instanceof CalcitSliceMap)) {
1319
1319
  return a.diffKeys(b);
1320
1320
  }
1321
1321
  else {
@@ -1323,7 +1323,7 @@ export let _$n_map_$o_diff_keys = (a, b) => {
1323
1323
  }
1324
1324
  };
1325
1325
  export let _$n_map_$o_common_keys = (a, b) => {
1326
- if (a instanceof CalcitMap && b instanceof CalcitMap) {
1326
+ if ((a instanceof CalcitMap || a instanceof CalcitSliceMap) && (b instanceof CalcitMap || b instanceof CalcitSliceMap)) {
1327
1327
  return a.commonKeys(b);
1328
1328
  }
1329
1329
  else {
@@ -1355,7 +1355,7 @@ export let _$n_list_$o_distinct = (xs) => {
1355
1355
  }
1356
1356
  result.push(data[idx]);
1357
1357
  }
1358
- return new CalcitList(result);
1358
+ return new CalcitSliceList(result);
1359
1359
  };
1360
1360
  export let _$n_get_os = () => {
1361
1361
  return kwd("js-engine");