@explorable-viz/fluid 0.8.0 → 0.8.2

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.
@@ -122,6 +122,23 @@ var arrayMap = function(f) {
122
122
  // output-es/Data.Functor/index.js
123
123
  var functorArray = { map: arrayMap };
124
124
 
125
+ // output-es/Control.Apply/foreign.js
126
+ var arrayApply = function(fs) {
127
+ return function(xs) {
128
+ var l = fs.length;
129
+ var k = xs.length;
130
+ var result = new Array(l * k);
131
+ var n = 0;
132
+ for (var i = 0; i < l; i++) {
133
+ var f = fs[i];
134
+ for (var j = 0; j < k; j++) {
135
+ result[n++] = f(xs[j]);
136
+ }
137
+ }
138
+ return result;
139
+ };
140
+ };
141
+
125
142
  // output-es/Control.Apply/index.js
126
143
  var identity = (x) => x;
127
144
 
@@ -289,15 +306,7 @@ var applyMaybe = {
289
306
  },
290
307
  Functor0: () => functorMaybe
291
308
  };
292
- var altMaybe = {
293
- alt: (v) => (v1) => {
294
- if (v.tag === "Nothing") {
295
- return v1;
296
- }
297
- return v;
298
- },
299
- Functor0: () => functorMaybe
300
- };
309
+ var applicativeMaybe = { pure: Just, Apply0: () => applyMaybe };
301
310
 
302
311
  // output-es/Data.Either/index.js
303
312
  var $Either = (tag, _1) => ({ tag, _1 });
@@ -603,6 +612,12 @@ var lookup = (dictFoldable) => {
603
612
  return Nothing;
604
613
  });
605
614
  };
615
+ var find = (dictFoldable) => (p) => dictFoldable.foldl((v) => (v1) => {
616
+ if (v.tag === "Nothing" && p(v1)) {
617
+ return $Maybe("Just", v1);
618
+ }
619
+ return v;
620
+ })(Nothing);
606
621
 
607
622
  // output-es/Data.Eq/foreign.js
608
623
  var refEq = function(r1) {
@@ -1010,6 +1025,7 @@ var groupBy = (op) => (xs) => {
1010
1025
  })();
1011
1026
  return result;
1012
1027
  };
1028
+ var foldM = (dictMonad) => (f) => (b) => unconsImpl((v) => dictMonad.Applicative0().pure(b))((a) => (as) => dictMonad.Bind1().bind(f(b)(a))((b$p) => foldM(dictMonad)(f)(b$p)(as)));
1013
1029
  var findIndex = /* @__PURE__ */ findIndexImpl(Just)(Nothing);
1014
1030
  var notElem = (dictEq) => (a) => (arr) => {
1015
1031
  const $0 = findIndex((v) => dictEq.eq(v)(a))(arr);
@@ -1256,7 +1272,7 @@ var foldableNonEmptyList = {
1256
1272
  foldr: (f) => (b) => (v) => f(v._1)(foldableList.foldr(f)(b)(v._2))
1257
1273
  };
1258
1274
  var showList = (dictShow) => {
1259
- const show4 = dictShow.show;
1275
+ const show5 = dictShow.show;
1260
1276
  return {
1261
1277
  show: (v) => {
1262
1278
  if (v.tag === "Nil") {
@@ -1280,7 +1296,7 @@ var showList = (dictShow) => {
1280
1296
  }
1281
1297
  return go$r;
1282
1298
  };
1283
- return "(" + go({ init: true, acc: "" })(listMap(show4)(v)).acc + " : Nil)";
1299
+ return "(" + go({ init: true, acc: "" })(listMap(show5)(v)).acc + " : Nil)";
1284
1300
  }
1285
1301
  };
1286
1302
  };
@@ -1558,19 +1574,6 @@ var stripPrefix = (v) => (str) => {
1558
1574
  return Nothing;
1559
1575
  };
1560
1576
  var indexOf = /* @__PURE__ */ _indexOf(Just)(Nothing);
1561
- var contains = (pat) => {
1562
- const $0 = indexOf(pat);
1563
- return (x) => {
1564
- const $1 = $0(x);
1565
- if ($1.tag === "Nothing") {
1566
- return false;
1567
- }
1568
- if ($1.tag === "Just") {
1569
- return true;
1570
- }
1571
- fail();
1572
- };
1573
- };
1574
1577
  var charAt2 = /* @__PURE__ */ _charAt(Just)(Nothing);
1575
1578
 
1576
1579
  // output-es/Data.String.Common/foreign.js
@@ -3098,6 +3101,16 @@ var groupBy2 = (v) => (v1) => {
3098
3101
  }
3099
3102
  fail();
3100
3103
  };
3104
+ var foldM2 = (dictMonad) => (v) => (v1) => (v2) => {
3105
+ if (v2.tag === "Nil") {
3106
+ return dictMonad.Applicative0().pure(v1);
3107
+ }
3108
+ if (v2.tag === "Cons") {
3109
+ const $0 = v2._2;
3110
+ return dictMonad.Bind1().bind(v(v1)(v2._1))((b$p) => foldM2(dictMonad)(v)(b$p)($0));
3111
+ }
3112
+ fail();
3113
+ };
3101
3114
  var drop3 = (drop$a0$copy) => (drop$a1$copy) => {
3102
3115
  let drop$a0 = drop$a0$copy, drop$a1 = drop$a1$copy, drop$c = true, drop$r;
3103
3116
  while (drop$c) {
@@ -3331,7 +3344,10 @@ var replicate2 = (dictUnfoldable) => (n) => (v) => dictUnfoldable.unfoldr((i) =>
3331
3344
  var $KickUp = (_1, _2, _3, _4) => ({ tag: "KickUp", _1, _2, _3, _4 });
3332
3345
  var $$$Map = (tag, _1, _2, _3, _4, _5, _6, _7) => ({ tag, _1, _2, _3, _4, _5, _6, _7 });
3333
3346
  var $TreeContext = (tag, _1, _2, _3, _4, _5, _6) => ({ tag, _1, _2, _3, _4, _5, _6 });
3347
+ var identity9 = (x) => x;
3334
3348
  var Leaf2 = /* @__PURE__ */ $$$Map("Leaf");
3349
+ var Two = (value0) => (value1) => (value2) => (value3) => $$$Map("Two", value0, value1, value2, value3);
3350
+ var Three = (value0) => (value1) => (value2) => (value3) => (value4) => (value5) => (value6) => $$$Map("Three", value0, value1, value2, value3, value4, value5, value6);
3335
3351
  var size = (v) => {
3336
3352
  if (v.tag === "Leaf") {
3337
3353
  return 0;
@@ -3450,6 +3466,20 @@ var lookup2 = (dictOrd) => (k) => {
3450
3466
  };
3451
3467
  return go;
3452
3468
  };
3469
+ var functorMap = {
3470
+ map: (v) => (v1) => {
3471
+ if (v1.tag === "Leaf") {
3472
+ return Leaf2;
3473
+ }
3474
+ if (v1.tag === "Two") {
3475
+ return $$$Map("Two", functorMap.map(v)(v1._1), v1._2, v(v1._3), functorMap.map(v)(v1._4));
3476
+ }
3477
+ if (v1.tag === "Three") {
3478
+ return $$$Map("Three", functorMap.map(v)(v1._1), v1._2, v(v1._3), functorMap.map(v)(v1._4), v1._5, v(v1._6), functorMap.map(v)(v1._7));
3479
+ }
3480
+ fail();
3481
+ }
3482
+ };
3453
3483
  var fromZipper = (fromZipper$a0$copy) => (fromZipper$a1$copy) => (fromZipper$a2$copy) => {
3454
3484
  let fromZipper$a0 = fromZipper$a0$copy, fromZipper$a1 = fromZipper$a1$copy, fromZipper$a2 = fromZipper$a2$copy, fromZipper$c = true, fromZipper$r;
3455
3485
  while (fromZipper$c) {
@@ -4236,6 +4266,27 @@ var foldableWithIndexMap = {
4236
4266
  },
4237
4267
  Foldable0: () => foldableMap
4238
4268
  };
4269
+ var traversableMap = {
4270
+ traverse: (dictApplicative) => {
4271
+ const Apply0 = dictApplicative.Apply0();
4272
+ const $0 = Apply0.Functor0();
4273
+ return (v) => (v1) => {
4274
+ if (v1.tag === "Leaf") {
4275
+ return dictApplicative.pure(Leaf2);
4276
+ }
4277
+ if (v1.tag === "Two") {
4278
+ return Apply0.apply(Apply0.apply(Apply0.apply($0.map(Two)(traversableMap.traverse(dictApplicative)(v)(v1._1)))(dictApplicative.pure(v1._2)))(v(v1._3)))(traversableMap.traverse(dictApplicative)(v)(v1._4));
4279
+ }
4280
+ if (v1.tag === "Three") {
4281
+ return Apply0.apply(Apply0.apply(Apply0.apply(Apply0.apply(Apply0.apply(Apply0.apply($0.map(Three)(traversableMap.traverse(dictApplicative)(v)(v1._1)))(dictApplicative.pure(v1._2)))(v(v1._3)))(traversableMap.traverse(dictApplicative)(v)(v1._4)))(dictApplicative.pure(v1._5)))(v(v1._6)))(traversableMap.traverse(dictApplicative)(v)(v1._7));
4282
+ }
4283
+ fail();
4284
+ };
4285
+ },
4286
+ sequence: (dictApplicative) => traversableMap.traverse(dictApplicative)(identity9),
4287
+ Functor0: () => functorMap,
4288
+ Foldable1: () => foldableMap
4289
+ };
4239
4290
  var findMin = /* @__PURE__ */ (() => {
4240
4291
  const go = (go$a0$copy) => (go$a1$copy) => {
4241
4292
  let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
@@ -4268,10 +4319,10 @@ var eqMap = (dictEq) => (dictEq1) => {
4268
4319
  };
4269
4320
  var fromFoldable = (dictOrd) => (dictFoldable) => dictFoldable.foldl((m) => (v) => insert(dictOrd)(v._1)(v._2)(m))(Leaf2);
4270
4321
  var filterWithKey = (dictOrd) => {
4271
- const fromFoldable112 = fromFoldable(dictOrd)(foldableList2);
4322
+ const fromFoldable111 = fromFoldable(dictOrd)(foldableList2);
4272
4323
  return (predicate) => {
4273
4324
  const $0 = filter2((v) => predicate(v._1)(v._2));
4274
- return (x) => fromFoldable112($0(toUnfoldable3(unfoldableList2)(x)));
4325
+ return (x) => fromFoldable111($0(toUnfoldable3(unfoldableList2)(x)));
4275
4326
  };
4276
4327
  };
4277
4328
  var $$delete = (dictOrd) => (k) => (m) => {
@@ -9679,7 +9730,7 @@ var keys = Object.keys || toArrayWithKey(function(k) {
9679
9730
  });
9680
9731
 
9681
9732
  // output-es/Foreign.Object/index.js
9682
- var identity9 = (x) => x;
9733
+ var identity10 = (x) => x;
9683
9734
  var values = /* @__PURE__ */ toArrayWithKey((v) => (v1) => v1);
9684
9735
  var toAscUnfoldable = (dictUnfoldable) => {
9685
9736
  const $0 = sortWith(ordString)(fst);
@@ -9708,20 +9759,20 @@ var insert2 = (k) => (v) => mutate(($0) => () => {
9708
9759
  var functorObject = { map: (f) => (m) => _fmapObject(m, f) };
9709
9760
  var functorWithIndexObject = { mapWithIndex: mapWithKey, Functor0: () => functorObject };
9710
9761
  var fromFoldable2 = (dictFoldable) => {
9711
- const fromFoldable112 = fromFoldableImpl(dictFoldable.foldr);
9762
+ const fromFoldable111 = fromFoldableImpl(dictFoldable.foldr);
9712
9763
  return (l) => {
9713
9764
  const s = {};
9714
- for (const v of fromFoldable112(l)) {
9765
+ for (const v of fromFoldable111(l)) {
9715
9766
  s[v._1] = v._2;
9716
9767
  }
9717
9768
  return s;
9718
9769
  };
9719
9770
  };
9720
- var foldM = (dictMonad) => {
9771
+ var foldM3 = (dictMonad) => {
9721
9772
  const bind12 = dictMonad.Bind1().bind;
9722
9773
  return (f) => (z) => _foldM(bind12)(f)(dictMonad.Applicative0().pure(z));
9723
9774
  };
9724
- var foldM1 = /* @__PURE__ */ foldM(monadST);
9775
+ var foldM1 = /* @__PURE__ */ foldM3(monadST);
9725
9776
  var union2 = (m) => mutate((s) => foldM1((s$p) => (k) => (v) => () => {
9726
9777
  s$p[k] = v;
9727
9778
  return s$p;
@@ -9769,7 +9820,7 @@ var traversableObject = {
9769
9820
  const $0 = traversableWithIndexObject.traverseWithIndex(dictApplicative);
9770
9821
  return (x) => $0((v) => x);
9771
9822
  },
9772
- sequence: (dictApplicative) => traversableObject.traverse(dictApplicative)(identity9),
9823
+ sequence: (dictApplicative) => traversableObject.traverse(dictApplicative)(identity10),
9773
9824
  Functor0: () => functorObject,
9774
9825
  Foldable1: () => foldableObject
9775
9826
  };
@@ -9982,7 +10033,7 @@ var intercalate2 = (sep) => (xs) => {
9982
10033
  };
9983
10034
  return go({ init: true, acc: Nil })(xs).acc;
9984
10035
  };
9985
- var identity12 = (x) => x;
10036
+ var identity13 = (x) => x;
9986
10037
  var isEmptySet = { isEmpty };
9987
10038
  var isEmptyObject = { isEmpty: isEmpty2 };
9988
10039
  var $$throw = (dictMonadThrow) => (x) => dictMonadThrow.throwError(error(x));
@@ -10082,13 +10133,13 @@ var bind2Flipped = (dictMonad) => {
10082
10133
  };
10083
10134
  var assertWith = (v) => (v1) => {
10084
10135
  if (v1) {
10085
- return identity12;
10136
+ return identity13;
10086
10137
  }
10087
10138
  return (v2) => throwException(error("Assertion failure: " + v))();
10088
10139
  };
10089
10140
  var assertWhen = (v) => (v1) => {
10090
10141
  if (!v) {
10091
- return (v$1) => identity12;
10142
+ return (v$1) => identity13;
10092
10143
  }
10093
10144
  if (v) {
10094
10145
  return (x) => assertWith(v1)(x());
@@ -10135,7 +10186,7 @@ function intersectionWith_Object(f) {
10135
10186
  }
10136
10187
 
10137
10188
  // output-es/Util.Map/index.js
10138
- var identity13 = (x) => x;
10189
+ var identity14 = (x) => x;
10139
10190
  var mapObjectString = {
10140
10191
  maplet: singleton2,
10141
10192
  keys: /* @__PURE__ */ (() => {
@@ -10170,9 +10221,9 @@ var mapFObjectString = {
10170
10221
  mapWithKey
10171
10222
  };
10172
10223
  var asMaplet = (dictMap) => {
10173
- const toUnfoldable16 = dictMap.toUnfoldable(unfoldableList);
10224
+ const toUnfoldable15 = dictMap.toUnfoldable(unfoldableList);
10174
10225
  return (m) => assertWith("")(dictMap.Set0().size(m) === 1)(definitely("singleton map")((() => {
10175
- const $0 = toUnfoldable16(m);
10226
+ const $0 = toUnfoldable15(m);
10176
10227
  if ($0.tag === "Nil") {
10177
10228
  return Nothing;
10178
10229
  }
@@ -10287,7 +10338,7 @@ var checkArity = (dictMonadError) => {
10287
10338
  };
10288
10339
 
10289
10340
  // output-es/Dict/index.js
10290
- var identity14 = (x) => x;
10341
+ var identity15 = (x) => x;
10291
10342
  var isEmptyDict = { isEmpty: (v) => isEmpty2(v) };
10292
10343
  var setDictString = {
10293
10344
  empty,
@@ -10340,7 +10391,7 @@ var traversableDict = {
10340
10391
  const $0 = traversableWithIndexObject.traverseWithIndex(dictApplicative);
10341
10392
  return (f) => (m) => dictApplicative.Apply0().Functor0().map((v1) => v1)($0((v) => f)(m));
10342
10393
  },
10343
- sequence: (dictApplicative) => (v) => traversableDict.traverse(dictApplicative)(identity14)(v),
10394
+ sequence: (dictApplicative) => (v) => traversableDict.traverse(dictApplicative)(identity15)(v),
10344
10395
  Functor0: () => functorDict,
10345
10396
  Foldable1: () => foldableDict
10346
10397
  };
@@ -10464,9 +10515,9 @@ var toTuple = (v) => $Tuple(v._1, v._2);
10464
10515
  var unzip3 = (xys) => unzip(listMap(toTuple)(xys));
10465
10516
 
10466
10517
  // output-es/Lattice/index.js
10467
- var identity15 = (x) => x;
10468
- var meetSemilatticeUnit = { meet: (v) => identity15 };
10469
- var joinSemilatticeUnit = { join: (v) => identity15 };
10518
+ var identity16 = (x) => x;
10519
+ var meetSemilatticeUnit = { meet: (v) => identity16 };
10520
+ var joinSemilatticeUnit = { join: (v) => identity16 };
10470
10521
  var boundedMeetSemilatticeUni = { top: void 0, MeetSemilattice0: () => meetSemilatticeUnit };
10471
10522
  var boundedJoinSemilatticeUni = { bot: void 0, JoinSemilattice0: () => joinSemilatticeUnit };
10472
10523
 
@@ -10494,7 +10545,7 @@ var unions = /* @__PURE__ */ (() => {
10494
10545
  };
10495
10546
  return go(Leaf2);
10496
10547
  })();
10497
- var identity16 = (x) => x;
10548
+ var identity17 = (x) => x;
10498
10549
  var Unquote = (value0) => $DocCommentElem("Unquote", value0);
10499
10550
  var None = /* @__PURE__ */ $DocOpt("None");
10500
10551
  var Doc = (value0) => $DocOpt("Doc", value0);
@@ -10701,18 +10752,18 @@ var traversableDocCommentElem = (dictTraversable) => {
10701
10752
  };
10702
10753
  return {
10703
10754
  traverse: (dictApplicative) => {
10704
- const traverse2 = dictTraversable.traverse(dictApplicative);
10755
+ const traverse22 = dictTraversable.traverse(dictApplicative);
10705
10756
  return (f) => (m) => {
10706
10757
  if (m.tag === "Token") {
10707
10758
  return dictApplicative.pure($DocCommentElem("Token", m._1));
10708
10759
  }
10709
10760
  if (m.tag === "Unquote") {
10710
- return dictApplicative.Apply0().Functor0().map((v1) => $DocCommentElem("Unquote", v1))(traverse2(f)(m._1));
10761
+ return dictApplicative.Apply0().Functor0().map((v1) => $DocCommentElem("Unquote", v1))(traverse22(f)(m._1));
10711
10762
  }
10712
10763
  fail();
10713
10764
  };
10714
10765
  },
10715
- sequence: (dictApplicative) => (v) => traversableDocCommentElem(dictTraversable).traverse(dictApplicative)(identity16)(v),
10766
+ sequence: (dictApplicative) => (v) => traversableDocCommentElem(dictTraversable).traverse(dictApplicative)(identity17)(v),
10716
10767
  Functor0: () => functorDocCommentElem1,
10717
10768
  Foldable1: () => foldableDocCommentElem1
10718
10769
  };
@@ -10722,19 +10773,19 @@ var traversableDocOpt = (dictTraversable) => {
10722
10773
  const foldableDocOpt1 = foldableDocOpt(dictTraversable.Foldable1());
10723
10774
  return {
10724
10775
  traverse: (dictApplicative) => {
10725
- const traverse2 = traversableList.traverse(dictApplicative);
10776
+ const traverse22 = traversableList.traverse(dictApplicative);
10726
10777
  const traverse3 = traversableDocCommentElem(dictTraversable).traverse(dictApplicative);
10727
10778
  return (f) => (m) => {
10728
10779
  if (m.tag === "None") {
10729
10780
  return dictApplicative.pure(None);
10730
10781
  }
10731
10782
  if (m.tag === "Doc") {
10732
- return dictApplicative.Apply0().Functor0().map((v1) => $DocOpt("Doc", v1))(traverse2(traverse3(f))(m._1));
10783
+ return dictApplicative.Apply0().Functor0().map((v1) => $DocOpt("Doc", v1))(traverse22(traverse3(f))(m._1));
10733
10784
  }
10734
10785
  fail();
10735
10786
  };
10736
10787
  },
10737
- sequence: (dictApplicative) => (v) => traversableDocOpt(dictTraversable).traverse(dictApplicative)(identity16)(v),
10788
+ sequence: (dictApplicative) => (v) => traversableDocOpt(dictTraversable).traverse(dictApplicative)(identity17)(v),
10738
10789
  Functor0: () => functorDocOpt1,
10739
10790
  Foldable1: () => foldableDocOpt1
10740
10791
  };
@@ -10768,7 +10819,7 @@ var unions12 = /* @__PURE__ */ (() => {
10768
10819
  };
10769
10820
  return go(Leaf2);
10770
10821
  })();
10771
- var identity17 = (x) => x;
10822
+ var identity18 = (x) => x;
10772
10823
  var setSet2 = /* @__PURE__ */ setSet(ordString);
10773
10824
  var fromFoldable5 = /* @__PURE__ */ (() => foldableSet.foldl((m) => (a) => insert(ordString)(a)()(m))(Leaf2))();
10774
10825
  var unions3 = /* @__PURE__ */ (() => {
@@ -11279,7 +11330,7 @@ var traversableVarDef = {
11279
11330
  const Apply0 = dictApplicative.Apply0();
11280
11331
  return (f) => (m) => Apply0.apply(Apply0.Functor0().map((v2) => (v3) => $VarDef(v2, v3))(traversableElim.traverse(dictApplicative)(f)(m._1)))(traversableExpr.traverse(dictApplicative)(f)(m._2));
11281
11332
  },
11282
- sequence: (dictApplicative) => (v) => traversableVarDef.traverse(dictApplicative)(identity17)(v),
11333
+ sequence: (dictApplicative) => (v) => traversableVarDef.traverse(dictApplicative)(identity18)(v),
11283
11334
  Functor0: () => functorVarDef,
11284
11335
  Foldable1: () => foldableVarDef
11285
11336
  };
@@ -11289,7 +11340,7 @@ var traversableRecDefs = {
11289
11340
  const traverse5 = traversableDict.traverse(dictApplicative);
11290
11341
  return (f) => (m) => Apply0.apply(Apply0.Functor0().map((v2) => (v3) => $RecDefs(v2, v3))(f(m._1)))(traverse5(traversableElim.traverse(dictApplicative)(f))(m._2));
11291
11342
  },
11292
- sequence: (dictApplicative) => (v) => traversableRecDefs.traverse(dictApplicative)(identity17)(v),
11343
+ sequence: (dictApplicative) => (v) => traversableRecDefs.traverse(dictApplicative)(identity18)(v),
11293
11344
  Functor0: () => functorRecDefs,
11294
11345
  Foldable1: () => foldableRecDefs
11295
11346
  };
@@ -11351,7 +11402,7 @@ var traversableExpr = {
11351
11402
  fail();
11352
11403
  };
11353
11404
  },
11354
- sequence: (dictApplicative) => (v) => traversableExpr.traverse(dictApplicative)(identity17)(v),
11405
+ sequence: (dictApplicative) => (v) => traversableExpr.traverse(dictApplicative)(identity18)(v),
11355
11406
  Functor0: () => functorExpr,
11356
11407
  Foldable1: () => foldableExpr
11357
11408
  };
@@ -11374,7 +11425,7 @@ var traversableElim = {
11374
11425
  fail();
11375
11426
  };
11376
11427
  },
11377
- sequence: (dictApplicative) => (v) => traversableElim.traverse(dictApplicative)(identity17)(v),
11428
+ sequence: (dictApplicative) => (v) => traversableElim.traverse(dictApplicative)(identity18)(v),
11378
11429
  Functor0: () => functorElim,
11379
11430
  Foldable1: () => foldableElim
11380
11431
  };
@@ -11391,7 +11442,7 @@ var traversableCont = {
11391
11442
  fail();
11392
11443
  };
11393
11444
  },
11394
- sequence: (dictApplicative) => (v) => traversableCont.traverse(dictApplicative)(identity17)(v),
11445
+ sequence: (dictApplicative) => (v) => traversableCont.traverse(dictApplicative)(identity18)(v),
11395
11446
  Functor0: () => functorCont,
11396
11447
  Foldable1: () => foldableCont
11397
11448
  };
@@ -12251,7 +12302,7 @@ var bwdSlice = (dictGraph) => {
12251
12302
  };
12252
12303
 
12253
12304
  // output-es/Data.Profunctor.Choice/index.js
12254
- var identity18 = (x) => x;
12305
+ var identity19 = (x) => x;
12255
12306
  var fanin = (dictCategory) => {
12256
12307
  const identity1 = dictCategory.identity;
12257
12308
  const $0 = dictCategory.Semigroupoid0();
@@ -12264,7 +12315,7 @@ var fanin = (dictCategory) => {
12264
12315
  return v2._1;
12265
12316
  }
12266
12317
  fail();
12267
- })(identity18)(identity1))($1.compose(dictChoice.right(r))(dictChoice.left(l)));
12318
+ })(identity19)(identity1))($1.compose(dictChoice.right(r))(dictChoice.left(l)));
12268
12319
  };
12269
12320
  var choiceFn = /* @__PURE__ */ (() => ({
12270
12321
  left: (v) => (v1) => {
@@ -12908,7 +12959,7 @@ var between = (open2) => (close2) => (p) => (state1, more, lift12, $$throw2, don
12908
12959
  var $Assoc = (tag) => tag;
12909
12960
  var $Operator = (tag, _1, _2) => ({ tag, _1, _2 });
12910
12961
  var choice2 = /* @__PURE__ */ choice(foldableList);
12911
- var identity19 = (x) => x;
12962
+ var identity20 = (x) => x;
12912
12963
  var AssocNone = /* @__PURE__ */ $Assoc("AssocNone");
12913
12964
  var AssocLeft = /* @__PURE__ */ $Assoc("AssocLeft");
12914
12965
  var AssocRight = /* @__PURE__ */ $Assoc("AssocRight");
@@ -13089,7 +13140,7 @@ var makeParser = (term) => (ops) => {
13089
13140
  if ($7) {
13090
13141
  return $22(v4, $6);
13091
13142
  }
13092
- return $32(v2$1, identity19);
13143
+ return $32(v2$1, identity20);
13093
13144
  });
13094
13145
  },
13095
13146
  $32
@@ -13107,7 +13158,7 @@ var makeParser = (term) => (ops) => {
13107
13158
  if ($7) {
13108
13159
  return $22(v4, $6);
13109
13160
  }
13110
- return $32(v2$1, identity19);
13161
+ return $32(v2$1, identity20);
13111
13162
  });
13112
13163
  },
13113
13164
  $32
@@ -13126,7 +13177,7 @@ var makeParser = (term) => (ops) => {
13126
13177
  if ($8) {
13127
13178
  return $32(v4, $7);
13128
13179
  }
13129
- return $42(v2$1, identity19);
13180
+ return $42(v2$1, identity20);
13130
13181
  });
13131
13182
  },
13132
13183
  $42
@@ -13144,7 +13195,7 @@ var makeParser = (term) => (ops) => {
13144
13195
  if ($8) {
13145
13196
  return $32(v4, $7);
13146
13197
  }
13147
- return $42(v2$1, identity19);
13198
+ return $42(v2$1, identity20);
13148
13199
  });
13149
13200
  },
13150
13201
  $42
@@ -13163,7 +13214,7 @@ var makeParser = (term) => (ops) => {
13163
13214
  if ($9) {
13164
13215
  return $42(v4, $8);
13165
13216
  }
13166
- return $52(v2$1, identity19);
13217
+ return $52(v2$1, identity20);
13167
13218
  });
13168
13219
  },
13169
13220
  $52
@@ -13181,7 +13232,7 @@ var makeParser = (term) => (ops) => {
13181
13232
  if ($9) {
13182
13233
  return $42(v4, $8);
13183
13234
  }
13184
- return $52(v2$1, identity19);
13235
+ return $52(v2$1, identity20);
13185
13236
  });
13186
13237
  },
13187
13238
  $52
@@ -13276,7 +13327,7 @@ var makeParser = (term) => (ops) => {
13276
13327
  if ($5) {
13277
13328
  return $$throw2(v4, $4);
13278
13329
  }
13279
- return $1(state1, identity19);
13330
+ return $1(state1, identity20);
13280
13331
  });
13281
13332
  },
13282
13333
  $1
@@ -15851,13 +15902,13 @@ var varDefFwd = (dictMonadError) => {
15851
15902
  };
15852
15903
  var recDefsFwd = (dictMonadError) => {
15853
15904
  const Monad0 = dictMonadError.MonadThrow0().Monad0();
15854
- const traverse2 = traversableNonEmptyList.traverse(Monad0.Applicative0());
15905
+ const traverse22 = traversableNonEmptyList.traverse(Monad0.Applicative0());
15855
15906
  return (dictBoundedLattice) => {
15856
15907
  const top = dictBoundedLattice.BoundedMeetSemilattice1().top;
15857
15908
  return (xcs) => Monad0.Bind1().Apply0().Functor0().map((() => {
15858
15909
  const $0 = RecDefs(top);
15859
15910
  return (x) => $0(fromFoldable16(x));
15860
- })())(traverse2(recDefFwd(dictMonadError)(dictBoundedLattice))((() => {
15911
+ })())(traverse22(recDefFwd(dictMonadError)(dictBoundedLattice))((() => {
15861
15912
  const $0 = wrappedOperation("groupBy")(groupBy2((x) => (y) => x._1 === y._1))(xcs);
15862
15913
  return $NonEmpty($0._1, listMap(RecDef)($0._2));
15863
15914
  })()));
@@ -16059,7 +16110,7 @@ var exprFwd = (dictBoundedLattice) => {
16059
16110
  const Bind1 = Monad0.Bind1();
16060
16111
  const Apply0 = Bind1.Apply0();
16061
16112
  const Functor0 = Apply0.Functor0();
16062
- const traverse2 = traversableList.traverse(Applicative0);
16113
+ const traverse22 = traversableList.traverse(Applicative0);
16063
16114
  return (dictJoinSemilattice) => (v) => {
16064
16115
  if (v.tag === "Var") {
16065
16116
  return Applicative0.pure($Expr("Var", v._1));
@@ -16086,14 +16137,14 @@ var exprFwd = (dictBoundedLattice) => {
16086
16137
  const $0 = v._3;
16087
16138
  const $1 = v._4;
16088
16139
  const $2 = v._1;
16089
- return Bind1.bind(desugComment(dictBoundedLattice)(dictMonadError)(v._2))((edoc) => Functor0.map(Constr($2)(edoc)($0))(traverse2(exprFwd(dictBoundedLattice)(dictMonadError)(dictBoundedLattice.BoundedJoinSemilattice0().JoinSemilattice0()))($1)));
16140
+ return Bind1.bind(desugComment(dictBoundedLattice)(dictMonadError)(v._2))((edoc) => Functor0.map(Constr($2)(edoc)($0))(traverse22(exprFwd(dictBoundedLattice)(dictMonadError)(dictBoundedLattice.BoundedJoinSemilattice0().JoinSemilattice0()))($1)));
16090
16141
  }
16091
16142
  if (v.tag === "Dictionary") {
16092
16143
  const $0 = v._2;
16093
16144
  const $1 = v._1;
16094
16145
  const v1 = unzip(v._3);
16095
16146
  const $2 = v1._2;
16096
- return Bind1.bind(traverse2(desugarableDictEntryExpr.desug(dictMonadError)(dictBoundedLattice))(v1._1))((ks$p) => Bind1.bind(traverse2(exprFwd(dictBoundedLattice)(dictMonadError)(dictBoundedLattice.BoundedJoinSemilattice0().JoinSemilattice0()))($2))((es) => Bind1.bind(desugComment(dictBoundedLattice)(dictMonadError)($0))((edoc) => Functor0.map(Dictionary($1)(edoc))(Applicative0.pure(zipWith2((k) => (v2) => $Pair(
16147
+ return Bind1.bind(traverse22(desugarableDictEntryExpr.desug(dictMonadError)(dictBoundedLattice))(v1._1))((ks$p) => Bind1.bind(traverse22(exprFwd(dictBoundedLattice)(dictMonadError)(dictBoundedLattice.BoundedJoinSemilattice0().JoinSemilattice0()))($2))((es) => Bind1.bind(desugComment(dictBoundedLattice)(dictMonadError)($0))((edoc) => Functor0.map(Dictionary($1)(edoc))(Applicative0.pure(zipWith2((k) => (v2) => $Pair(
16097
16148
  k,
16098
16149
  v2
16099
16150
  ))(ks$p)(es))))));
@@ -16628,11 +16679,11 @@ var moduleFwd = (dictMonadError) => {
16628
16679
  const $0 = Monad0.Bind1().Apply0().Functor0();
16629
16680
  const varDefFwd1 = varDefFwd(dictMonadError);
16630
16681
  const recDefsFwd1 = recDefsFwd(dictMonadError);
16631
- const traverse2 = traversableList.traverse(Monad0.Applicative0());
16682
+ const traverse22 = traversableList.traverse(Monad0.Applicative0());
16632
16683
  return (dictBoundedLattice) => {
16633
16684
  const varDefFwd2 = varDefFwd1(dictBoundedLattice);
16634
16685
  const recDefsFwd2 = recDefsFwd1(dictBoundedLattice);
16635
- return (v) => $0.map(Module)(traverse2((v1) => {
16686
+ return (v) => $0.map(Module)(traverse22((v1) => {
16636
16687
  if (v1.tag === "Left") {
16637
16688
  return $0.map(Left)(varDefFwd2(v1._1));
16638
16689
  }
@@ -16721,15 +16772,69 @@ var semigroupColumns = { append: (v) => (v1) => beside(v)(v1) };
16721
16772
  var monoidColumns = { mempty: empty2, Semigroup0: () => semigroupColumns };
16722
16773
 
16723
16774
  // output-es/Pretty/index.js
16724
- var $ExprType = (tag) => tag;
16725
16775
  var hcat = /* @__PURE__ */ (() => foldableList.foldMap(monoidColumns)(unsafeCoerce))();
16726
16776
  var hcat1 = /* @__PURE__ */ (() => foldableArray.foldMap(monoidColumns)(unsafeCoerce))();
16727
16777
  var toUnfoldable8 = /* @__PURE__ */ toUnfoldable4(unfoldableList);
16728
16778
  var toUnfoldable13 = /* @__PURE__ */ toAscUnfoldable(unfoldableList);
16729
- var Simple = /* @__PURE__ */ $ExprType("Simple");
16730
- var Expression = /* @__PURE__ */ $ExprType("Expression");
16779
+ var isSimpleVal = {
16780
+ isSimple: (v) => {
16781
+ if (v._3.tag === "Constr") {
16782
+ return v._3._2.tag !== "Cons";
16783
+ }
16784
+ if (v._3.tag === "Fun" && v._3._1.tag === "PartialConstr") {
16785
+ return v._3._1._2.tag !== "Cons";
16786
+ }
16787
+ return true;
16788
+ }
16789
+ };
16790
+ var isSimpleExpr = {
16791
+ isSimple: (v) => {
16792
+ if (v.tag === "Var") {
16793
+ return true;
16794
+ }
16795
+ if (v.tag === "Op") {
16796
+ return true;
16797
+ }
16798
+ if (v.tag === "Int") {
16799
+ return true;
16800
+ }
16801
+ if (v.tag === "Float") {
16802
+ return true;
16803
+ }
16804
+ if (v.tag === "Str") {
16805
+ return true;
16806
+ }
16807
+ if (v.tag === "Constr") {
16808
+ return v._4.tag === "Nil";
16809
+ }
16810
+ return v.tag === "Dictionary" || v.tag === "Matrix" || v.tag === "Project" || v.tag === "DProject";
16811
+ }
16812
+ };
16813
+ var isSimpleExpr1 = {
16814
+ isSimple: (v) => {
16815
+ if (v.tag === "Var") {
16816
+ return true;
16817
+ }
16818
+ if (v.tag === "Op") {
16819
+ return true;
16820
+ }
16821
+ if (v.tag === "Int") {
16822
+ return true;
16823
+ }
16824
+ if (v.tag === "Float") {
16825
+ return true;
16826
+ }
16827
+ if (v.tag === "Str") {
16828
+ return true;
16829
+ }
16830
+ if (v.tag === "Constr") {
16831
+ return v._4.tag === "Nil";
16832
+ }
16833
+ return v.tag === "Dictionary" || v.tag === "Matrix" || v.tag === "Project" || v.tag === "DProject" || v.tag === "ListEmpty" || v.tag === "ListNonEmpty" || v.tag === "ListEnum" || v.tag === "ListComp";
16834
+ }
16835
+ };
16731
16836
  var vert = (dictFoldable) => {
16732
- const fromFoldable27 = dictFoldable.foldr(Cons)(Nil);
16837
+ const fromFoldable26 = dictFoldable.foldr(Cons)(Nil);
16733
16838
  return (delim) => {
16734
16839
  const vert$p = (v) => {
16735
16840
  if (v.tag === "Nil") {
@@ -16745,7 +16850,7 @@ var vert = (dictFoldable) => {
16745
16850
  }
16746
16851
  fail();
16747
16852
  };
16748
- return (x) => vert$p(fromFoldable27(x));
16853
+ return (x) => vert$p(fromFoldable26(x));
16749
16854
  };
16750
16855
  };
16751
16856
  var vert1 = /* @__PURE__ */ vert(foldableArray);
@@ -16840,75 +16945,6 @@ var getPrec = (x) => {
16840
16945
  }
16841
16946
  fail();
16842
16947
  };
16843
- var exprType = (v) => {
16844
- if (v.tag === "Var") {
16845
- return Simple;
16846
- }
16847
- if (v.tag === "Op") {
16848
- return Simple;
16849
- }
16850
- if (v.tag === "Int") {
16851
- return Simple;
16852
- }
16853
- if (v.tag === "Float") {
16854
- return Simple;
16855
- }
16856
- if (v.tag === "Str") {
16857
- return Simple;
16858
- }
16859
- if (v.tag === "Constr") {
16860
- if (v._4.tag === "Nil") {
16861
- return Simple;
16862
- }
16863
- return Expression;
16864
- }
16865
- if (v.tag === "Dictionary") {
16866
- return Simple;
16867
- }
16868
- if (v.tag === "Matrix") {
16869
- return Simple;
16870
- }
16871
- if (v.tag === "Lambda") {
16872
- return Simple;
16873
- }
16874
- if (v.tag === "Project") {
16875
- return Simple;
16876
- }
16877
- if (v.tag === "DProject") {
16878
- return Simple;
16879
- }
16880
- if (v.tag === "App") {
16881
- return Expression;
16882
- }
16883
- if (v.tag === "BinaryApp") {
16884
- return Expression;
16885
- }
16886
- if (v.tag === "MatchAs") {
16887
- return Simple;
16888
- }
16889
- if (v.tag === "IfElse") {
16890
- return Simple;
16891
- }
16892
- if (v.tag === "ListEmpty") {
16893
- return Simple;
16894
- }
16895
- if (v.tag === "ListNonEmpty") {
16896
- return Simple;
16897
- }
16898
- if (v.tag === "ListEnum") {
16899
- return Simple;
16900
- }
16901
- if (v.tag === "ListComp") {
16902
- return Simple;
16903
- }
16904
- if (v.tag === "Let") {
16905
- return Expression;
16906
- }
16907
- if (v.tag === "LetRec") {
16908
- return Expression;
16909
- }
16910
- fail();
16911
- };
16912
16948
  var comma = /* @__PURE__ */ checkOneLine(/* @__PURE__ */ split("\n")(" ,"));
16913
16949
  var hcomma = (dictFoldable) => {
16914
16950
  const $0 = dictFoldable.foldr(Cons)(Nil);
@@ -16925,30 +16961,29 @@ var between2 = (l) => (r) => (doc) => beside(beside(l)(doc))(r);
16925
16961
  var brackets = /* @__PURE__ */ between2(/* @__PURE__ */ checkOneLine(/* @__PURE__ */ split("\n")(" [")))(/* @__PURE__ */ checkOneLine(/* @__PURE__ */ split("\n")(" ]")));
16926
16962
  var curlyBraces = /* @__PURE__ */ between2(/* @__PURE__ */ checkOneLine(/* @__PURE__ */ split("\n")(" {")))(/* @__PURE__ */ checkOneLine(/* @__PURE__ */ split("\n")(" }")));
16927
16963
  var keyBracks = /* @__PURE__ */ between2(/* @__PURE__ */ checkOneLine(/* @__PURE__ */ split("\n")(" [")))(/* @__PURE__ */ checkOneLine(/* @__PURE__ */ split("\n")(" ]")));
16928
- var parens = /* @__PURE__ */ between2(/* @__PURE__ */ checkOneLine(/* @__PURE__ */ split("\n")(" (")))(/* @__PURE__ */ checkOneLine(/* @__PURE__ */ split("\n")(" )")));
16929
- var prettyParensOpt = (dictPretty) => (x) => {
16930
- const doc = dictPretty.pretty(x);
16931
- if (contains(" ")(intercalate4("\n")(doc.lines))) {
16932
- return parens(doc);
16964
+ var parentheses = /* @__PURE__ */ between2(/* @__PURE__ */ checkOneLine(/* @__PURE__ */ split("\n")(" (")))(/* @__PURE__ */ checkOneLine(/* @__PURE__ */ split("\n")(" )")));
16965
+ var prettySimple = (dictIsSimple) => (dictPretty) => (s) => {
16966
+ if (dictIsSimple.isSimple(s)) {
16967
+ return dictPretty.pretty(s);
16933
16968
  }
16934
- return doc;
16969
+ return parentheses(dictPretty.pretty(s));
16935
16970
  };
16936
- var prettyConstr = (dictPretty) => (v) => (v1) => {
16971
+ var prettyConstr = (dictIsSimple) => (dictPretty) => (v) => (v1) => {
16937
16972
  const $0 = (c, xs) => hcat($List(
16938
16973
  "Cons",
16939
16974
  checkOneLine(split("\n")(" " + showCtr(c))),
16940
- listMap(prettyParensOpt(dictPretty))(xs)
16975
+ listMap(prettySimple(dictIsSimple)(dictPretty))(xs)
16941
16976
  ));
16942
16977
  if (v1.tag === "Cons") {
16943
16978
  if (v1._2.tag === "Cons") {
16944
16979
  if (v === "Pair") {
16945
- return assertWith("")(v1._2._2.tag === "Nil")(parens(hcomma2([dictPretty.pretty(v1._1), dictPretty.pretty(v1._2._1)])));
16980
+ return assertWith("")(v1._2._2.tag === "Nil")(parentheses(hcomma2([dictPretty.pretty(v1._1), dictPretty.pretty(v1._2._1)])));
16946
16981
  }
16947
16982
  if (v === "Nil") {
16948
16983
  return assertWith("")(v1.tag === "Nil")(nil2);
16949
16984
  }
16950
16985
  if (v === ":") {
16951
- return assertWith("")(v1._2._2.tag === "Nil")(parens(hcat1([
16986
+ return assertWith("")(v1._2._2.tag === "Nil")(parentheses(hcat1([
16952
16987
  dictPretty.pretty(v1._1),
16953
16988
  checkOneLine(split("\n")(" :")),
16954
16989
  dictPretty.pretty(v1._2._1)
@@ -16960,7 +16995,7 @@ var prettyConstr = (dictPretty) => (v) => (v1) => {
16960
16995
  return assertWith("")(v1.tag === "Nil")(nil2);
16961
16996
  }
16962
16997
  if (v1._2.tag === "Nil") {
16963
- return beside(checkOneLine(split("\n")(" " + showCtr(v))))(dictPretty.pretty(v1._1));
16998
+ return beside(checkOneLine(split("\n")(" " + showCtr(v))))(prettySimple(dictIsSimple)(dictPretty)(v1._1));
16964
16999
  }
16965
17000
  return $0(v, v1);
16966
17001
  }
@@ -16969,7 +17004,6 @@ var prettyConstr = (dictPretty) => (v) => (v1) => {
16969
17004
  }
16970
17005
  return $0(v, v1);
16971
17006
  };
16972
- var parentheses = /* @__PURE__ */ between2(/* @__PURE__ */ checkOneLine(/* @__PURE__ */ split("\n")(" (")))(/* @__PURE__ */ checkOneLine(/* @__PURE__ */ split("\n")(" )")));
16973
17007
  var prettyPattern = {
16974
17008
  pretty: (v) => {
16975
17009
  if (v.tag === "PVar") {
@@ -17074,7 +17108,7 @@ var prettyExpr = (dictHighlightable) => ({
17074
17108
  return beside(prettyDocOpt(prettyExpr(dictHighlightable)).pretty(v._2))(dictHighlightable.highlightIf(v._1)(prettyRecordOrDict(prettyExpr(dictHighlightable))(checkOneLine(split("\n")(" :")))(keyBracks)(curlyBraces)(prettyExpr(dictHighlightable).pretty)(listMap(toTuple)(v._3))));
17075
17109
  }
17076
17110
  if (v.tag === "Constr") {
17077
- return beside(prettyDocOpt(prettyExpr(dictHighlightable)).pretty(v._2))(dictHighlightable.highlightIf(v._1)(prettyConstr(prettyExpr(dictHighlightable))(v._3)(v._4)));
17111
+ return beside(prettyDocOpt(prettyExpr(dictHighlightable)).pretty(v._2))(dictHighlightable.highlightIf(v._1)(prettyConstr(isSimpleExpr)(prettyExpr(dictHighlightable))(v._3)(v._4)));
17078
17112
  }
17079
17113
  if (v.tag === "Matrix") {
17080
17114
  return beside(prettyDocOpt(prettyExpr(dictHighlightable)).pretty(v._2))(dictHighlightable.highlightIf(v._1)(prettyMatrix(dictHighlightable)(v._3)(v._4._1)(v._4._2)(v._5)));
@@ -17083,7 +17117,7 @@ var prettyExpr = (dictHighlightable) => ({
17083
17117
  return hcat1([dictHighlightable.highlightIf(v._1)(checkOneLine(split("\n")(" fun"))), prettyElim(dictHighlightable).pretty(v._2)]);
17084
17118
  }
17085
17119
  if (v.tag === "Op") {
17086
- return parens(checkOneLine(split("\n")(" " + v._1)));
17120
+ return parentheses(checkOneLine(split("\n")(" " + v._1)));
17087
17121
  }
17088
17122
  if (v.tag === "Let") {
17089
17123
  return atop(hcat1([
@@ -17184,7 +17218,7 @@ var prettyFun = (dictHighlightable) => ({
17184
17218
  return checkOneLine(split("\n")(" " + v._1._1));
17185
17219
  }
17186
17220
  if (v.tag === "PartialConstr") {
17187
- return prettyConstr(prettyVal(dictHighlightable))(v._1)(v._2);
17221
+ return prettyConstr(isSimpleVal)(prettyVal(dictHighlightable))(v._1)(v._2);
17188
17222
  }
17189
17223
  fail();
17190
17224
  }
@@ -17221,7 +17255,7 @@ var prettyBaseVal = (dictHighlightable) => ({
17221
17255
  ))(toUnfoldable13(v._1)));
17222
17256
  }
17223
17257
  if (v.tag === "Constr") {
17224
- return prettyConstr(prettyVal(dictHighlightable))(v._1)(v._2);
17258
+ return prettyConstr(isSimpleVal)(prettyVal(dictHighlightable))(v._1)(v._2);
17225
17259
  }
17226
17260
  if (v.tag === "Matrix") {
17227
17261
  return vert1(comma)(arrayMap((() => {
@@ -17323,7 +17357,7 @@ var prettyExpr1 = (dictAnn) => {
17323
17357
  return beside(prettyDocOpt(prettyExpr1(dictAnn)).pretty(v._2))($0.highlightIf(v._1)(checkOneLine(split("\n")(' "' + v._3 + '"'))));
17324
17358
  }
17325
17359
  if (v.tag === "Constr") {
17326
- return beside(prettyDocOpt(prettyExpr1(dictAnn)).pretty(v._2))($0.highlightIf(v._1)(prettyConstr(prettyExpr1(dictAnn))(v._3)(v._4)));
17360
+ return beside(prettyDocOpt(prettyExpr1(dictAnn)).pretty(v._2))($0.highlightIf(v._1)(prettyConstr(isSimpleExpr1)(prettyExpr1(dictAnn))(v._3)(v._4)));
17327
17361
  }
17328
17362
  if (v.tag === "Dictionary") {
17329
17363
  return beside(prettyDocOpt(prettyExpr1(dictAnn)).pretty(v._2))($0.highlightIf(v._1)(curlyBraces(prettyDictEntries(dictAnn)(atop)(v._3))));
@@ -17332,13 +17366,13 @@ var prettyExpr1 = (dictAnn) => {
17332
17366
  return beside(prettyDocOpt(prettyExpr1(dictAnn)).pretty(v._2))($0.highlightIf(v._1)(arrayBrackets(beside(beside(beside(beside(prettyExpr1(dictAnn).pretty(v._3))(checkOneLine(split("\n")(" |"))))(parentheses(beside(beside(checkOneLine(split("\n")(" " + v._4._1)))(checkOneLine(split("\n")(" ,"))))(checkOneLine(split("\n")(" " + v._4._2))))))(checkOneLine(split("\n")(" in"))))(prettyExpr1(dictAnn).pretty(v._5)))));
17333
17367
  }
17334
17368
  if (v.tag === "Lambda") {
17335
- return parentheses(beside(checkOneLine(split("\n")(" fun")))(prettyClauses(dictAnn).pretty(v._1)));
17369
+ return beside(checkOneLine(split("\n")(" fun")))(prettyClauses(dictAnn).pretty(v._1));
17336
17370
  }
17337
17371
  if (v.tag === "Project") {
17338
- return beside(beside(beside(prettyDocOpt(prettyExpr1(dictAnn)).pretty(v._1))(prettySimple(dictAnn)(v._2)))(checkOneLine(split("\n")(" ."))))(checkOneLine(split("\n")(" " + v._3)));
17372
+ return beside(beside(beside(prettyDocOpt(prettyExpr1(dictAnn)).pretty(v._1))(prettySimple(isSimpleExpr1)(prettyExpr1(dictAnn))(v._2)))(checkOneLine(split("\n")(" ."))))(checkOneLine(split("\n")(" " + v._3)));
17339
17373
  }
17340
17374
  if (v.tag === "DProject") {
17341
- return beside(beside(beside(beside(beside(prettyDocOpt(prettyExpr1(dictAnn)).pretty(v._1))(prettySimple(dictAnn)(v._2)))(checkOneLine(split("\n")(" ."))))(checkOneLine(split("\n")(" ["))))(prettySimple(dictAnn)(v._3)))(checkOneLine(split("\n")(" ]")));
17375
+ return beside(beside(beside(beside(beside(prettyDocOpt(prettyExpr1(dictAnn)).pretty(v._1))(prettySimple(isSimpleExpr1)(prettyExpr1(dictAnn))(v._2)))(checkOneLine(split("\n")(" ."))))(checkOneLine(split("\n")(" ["))))(prettySimple(isSimpleExpr1)(prettyExpr1(dictAnn))(v._3)))(checkOneLine(split("\n")(" ]")));
17342
17376
  }
17343
17377
  if (v.tag === "App") {
17344
17378
  return beside(prettyDocOpt(prettyExpr1(dictAnn)).pretty(v._1))(prettyAppChain(dictAnn)($Expr2("App", v._1, v._2, v._3)));
@@ -17400,16 +17434,6 @@ var prettyBranch = (dictAnn) => ({
17400
17434
  v._2._2
17401
17435
  )))
17402
17436
  });
17403
- var prettySimple = (dictAnn) => (s) => {
17404
- const v = exprType(s);
17405
- if (v === "Simple") {
17406
- return prettyExpr1(dictAnn).pretty(s);
17407
- }
17408
- if (v === "Expression") {
17409
- return parentheses(prettyExpr1(dictAnn).pretty(s));
17410
- }
17411
- fail();
17412
- };
17413
17437
  var prettyDictEntries = (dictAnn) => (v) => (v1) => {
17414
17438
  if (v1.tag === "Nil") {
17415
17439
  return empty2;
@@ -17438,9 +17462,9 @@ var prettyBinApp = (dictAnn) => (v) => (v1) => {
17438
17462
  };
17439
17463
  var prettyAppChain = (dictAnn) => (v) => {
17440
17464
  if (v.tag === "App") {
17441
- return beside(prettyAppChain(dictAnn)(v._2))(prettySimple(dictAnn)(v._3));
17465
+ return beside(prettyAppChain(dictAnn)(v._2))(prettySimple(isSimpleExpr1)(prettyExpr1(dictAnn))(v._3));
17442
17466
  }
17443
- return prettySimple(dictAnn)(v);
17467
+ return prettySimple(isSimpleExpr1)(prettyExpr1(dictAnn))(v);
17444
17468
  };
17445
17469
 
17446
17470
  // output-es/Val/index.js
@@ -17474,7 +17498,7 @@ var unions13 = /* @__PURE__ */ (() => {
17474
17498
  return go(Leaf2);
17475
17499
  })();
17476
17500
  var foldMap2 = /* @__PURE__ */ foldMap({ mempty: Leaf2, Semigroup0: () => ({ append: union(ordDVertex$p) }) });
17477
- var identity22 = (x) => x;
17501
+ var identity23 = (x) => x;
17478
17502
  var boundedLattice = { BoundedJoinSemilattice0: () => boundedJoinSemilatticeUni, BoundedMeetSemilattice1: () => boundedMeetSemilatticeUni };
17479
17503
  var setSet1 = /* @__PURE__ */ setSet(ordString);
17480
17504
  var toUnfoldable14 = /* @__PURE__ */ toUnfoldable4(unfoldableList);
@@ -17600,7 +17624,7 @@ var mapEnvStringVal = {
17600
17624
  var highlightableVertex = {
17601
17625
  highlightIf: (v) => (doc) => beside(beside(doc)(checkOneLine(split("\n")(" _"))))(checkOneLine(split("\n")(" \u27E8" + v + "\u27E9")))
17602
17626
  };
17603
- var highlightableUnit = { highlightIf: (v) => identity22 };
17627
+ var highlightableUnit = { highlightIf: (v) => identity23 };
17604
17628
  var functorMatrixDim = { map: (f) => (m) => $Tuple(m._1, f(m._2)) };
17605
17629
  var functorVal = { map: (f) => (m) => $Val(f(m._1), functorDocOpt(functorVal).map(f)(m._2), functorBaseVal.map(f)(m._3)) };
17606
17630
  var functorMatrixRep = {
@@ -17654,7 +17678,7 @@ var functorBaseVal = {
17654
17678
  var foldableMatrixDim = { foldl: (f) => (z) => (m) => f(z)(m._2), foldr: (f) => (z) => (m) => f(m._2)(z), foldMap: (dictMonoid) => (f) => (m) => f(m._2) };
17655
17679
  var traversableMatrixDim = {
17656
17680
  traverse: (dictApplicative) => (f) => (m) => dictApplicative.Apply0().Functor0().map((v1) => v1)(traversableTuple.traverse(dictApplicative)(f)(m)),
17657
- sequence: (dictApplicative) => (v) => traversableMatrixDim.traverse(dictApplicative)(identity22)(v),
17681
+ sequence: (dictApplicative) => (v) => traversableMatrixDim.traverse(dictApplicative)(identity23)(v),
17658
17682
  Functor0: () => functorMatrixDim,
17659
17683
  Foldable1: () => foldableMatrixDim
17660
17684
  };
@@ -17871,7 +17895,7 @@ var traversableVal = {
17871
17895
  const Apply0 = dictApplicative.Apply0();
17872
17896
  return (f) => (m) => Apply0.apply(Apply0.apply(Apply0.Functor0().map((v3) => (v4) => (v5) => $Val(v3, v4, v5))(f(m._1)))(traversableDocOpt(traversableVal).traverse(dictApplicative)(f)(m._2)))(traversableBaseVal.traverse(dictApplicative)(f)(m._3));
17873
17897
  },
17874
- sequence: (dictApplicative) => (v) => traversableVal.traverse(dictApplicative)(identity22)(v),
17898
+ sequence: (dictApplicative) => (v) => traversableVal.traverse(dictApplicative)(identity23)(v),
17875
17899
  Functor0: () => functorVal,
17876
17900
  Foldable1: () => foldableVal
17877
17901
  };
@@ -17907,7 +17931,7 @@ var traversableFun = {
17907
17931
  fail();
17908
17932
  };
17909
17933
  },
17910
- sequence: (dictApplicative) => (v) => traversableFun.traverse(dictApplicative)(identity22)(v),
17934
+ sequence: (dictApplicative) => (v) => traversableFun.traverse(dictApplicative)(identity23)(v),
17911
17935
  Functor0: () => functorFun,
17912
17936
  Foldable1: () => foldableFun
17913
17937
  };
@@ -17916,7 +17940,7 @@ var traversableEnv = {
17916
17940
  const traverse8 = traversableDict.traverse(dictApplicative);
17917
17941
  return (f) => (m) => dictApplicative.Apply0().Functor0().map((v1) => v1)(traverse8(traversableVal.traverse(dictApplicative)(f))(m));
17918
17942
  },
17919
- sequence: (dictApplicative) => (v) => traversableEnv.traverse(dictApplicative)(identity22)(v),
17943
+ sequence: (dictApplicative) => (v) => traversableEnv.traverse(dictApplicative)(identity23)(v),
17920
17944
  Functor0: () => functorEnv,
17921
17945
  Foldable1: () => foldableEnv
17922
17946
  };
@@ -17960,7 +17984,7 @@ var traversableBaseVal = {
17960
17984
  fail();
17961
17985
  };
17962
17986
  },
17963
- sequence: (dictApplicative) => (v) => traversableBaseVal.traverse(dictApplicative)(identity22)(v),
17987
+ sequence: (dictApplicative) => (v) => traversableBaseVal.traverse(dictApplicative)(identity23)(v),
17964
17988
  Functor0: () => functorBaseVal,
17965
17989
  Foldable1: () => foldableBaseVal
17966
17990
  };
@@ -18038,7 +18062,7 @@ var unary = (dictBoundedJoinSemilattice) => {
18038
18062
  arity: 1,
18039
18063
  op: (dictMonadWithGraphAlloc) => {
18040
18064
  const $$new = dictMonadWithGraphAlloc.new(typeNameVal);
18041
- return (dictMonadError) => (dictMonadAff) => (dictMonadReader) => (dictLoadFile) => (v) => {
18065
+ return (dictMonadError) => (dictMonadReader) => (dictLoadFile) => (v) => {
18042
18066
  if (v.tag === "Cons" && v._2.tag === "Nil") {
18043
18067
  const $0 = v._1._2;
18044
18068
  return $$new((a) => Val(a)($0))($$$Map("Two", Leaf2, v._1._1, void 0, Leaf2))(f.o.pack(f.fwd(f.i.unpack(v._1._3))));
@@ -18187,7 +18211,7 @@ var binaryZero = (dictBoundedJoinSemilattice) => {
18187
18211
  arity: 2,
18188
18212
  op: (dictMonadWithGraphAlloc) => {
18189
18213
  const $$new = dictMonadWithGraphAlloc.new(typeNameVal);
18190
- return (dictMonadError) => (dictMonadAff) => (dictMonadReader) => (dictLoadFile) => (v) => {
18214
+ return (dictMonadError) => (dictMonadReader) => (dictLoadFile) => (v) => {
18191
18215
  if (v.tag === "Cons" && v._2.tag === "Cons" && v._2._2.tag === "Nil") {
18192
18216
  const $0 = f.i.unpack(v._1._3);
18193
18217
  const $1 = f.i.unpack(v._2._1._3);
@@ -18235,7 +18259,7 @@ var binary = (dictBoundedJoinSemilattice) => {
18235
18259
  arity: 2,
18236
18260
  op: (dictMonadWithGraphAlloc) => {
18237
18261
  const $$new = dictMonadWithGraphAlloc.new(typeNameVal);
18238
- return (dictMonadError) => (dictMonadAff) => (dictMonadReader) => (dictLoadFile) => (v) => {
18262
+ return (dictMonadError) => (dictMonadReader) => (dictLoadFile) => (v) => {
18239
18263
  if (v.tag === "Cons" && v._2.tag === "Cons" && v._2._2.tag === "Nil") {
18240
18264
  return $$new((a) => Val(a)(None))(insert(ordVertex)(v._2._1._1)()($$$Map(
18241
18265
  "Two",
@@ -18299,6 +18323,7 @@ var greaterThanOrEq = /* @__PURE__ */ (() => {
18299
18323
  return (a1) => (a2) => $0.compare(a1)(a2) !== "LT";
18300
18324
  })();
18301
18325
  var show3 = (v) => "(Tuple " + showIntImpl(v._1) + " " + showIntImpl(v._2) + ")";
18326
+ var traverse2 = /* @__PURE__ */ (() => traversableList.traverse(applicativeMaybe))();
18302
18327
  var concatM = (dictMonad) => foldableList.foldr((() => {
18303
18328
  const $0 = dictMonad.Bind1();
18304
18329
  return (f) => (g) => (a) => $0.bind(f(a))(g);
@@ -18412,9 +18437,9 @@ var match = (dictMonadWithGraphAlloc) => {
18412
18437
  };
18413
18438
  var closeDefs = (dictMonadWithGraphAlloc) => {
18414
18439
  const Monad0 = dictMonadWithGraphAlloc.MonadWithGraph2().Monad0();
18415
- const traverse2 = traversableDict.traverse(Monad0.Applicative0());
18440
+ const traverse2$1 = traversableDict.traverse(Monad0.Applicative0());
18416
18441
  const $$new = dictMonadWithGraphAlloc.new(typeNameVal);
18417
- return (\u03B3) => (\u03C1) => (\u03B1s) => Monad0.Bind1().Apply0().Functor0().map(Env)(traverse2((\u03C3) => {
18442
+ return (\u03B3) => (\u03C1) => (\u03B1s) => Monad0.Bind1().Apply0().Functor0().map(Env)(traverse2$1((\u03C3) => {
18418
18443
  const \u03C1$p = forDefs(\u03C1)(\u03C3);
18419
18444
  return $$new((a) => Val(a)(None))(\u03B1s)($BaseVal(
18420
18445
  "Fun",
@@ -18436,14 +18461,14 @@ var closeDefs = (dictMonadWithGraphAlloc) => {
18436
18461
  var new$p = (dictMonadWithGraphAlloc) => {
18437
18462
  const $$new = dictMonadWithGraphAlloc.new(typeNameVal);
18438
18463
  const fresh = dictMonadWithGraphAlloc.MonadAlloc0().fresh;
18439
- return (dictMonadReader) => (dictMonadAff) => {
18440
- const Monad0 = dictMonadAff.MonadEffect0().Monad0();
18464
+ return (dictMonadReader) => {
18465
+ const Monad0 = dictMonadReader.MonadAsk0().Monad0();
18441
18466
  const Bind1 = Monad0.Bind1();
18442
18467
  return (dictLoadFile) => (v) => (v1) => (v2) => (v3) => {
18443
18468
  if (v2.tag === "None") {
18444
18469
  return $$new((\u03B1s$p) => (u$p) => $Val(\u03B1s$p, None, u$p))(v1)(v3);
18445
18470
  }
18446
- return Bind1.bind(fresh)((\u03B1) => Bind1.bind(evalDocOpt(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(unionWith2((v$1) => identity13)(v)((() => {
18471
+ return Bind1.bind(fresh)((\u03B1) => Bind1.bind(evalDocOpt(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(unionWith2((v$1) => identity14)(v)((() => {
18447
18472
  const $0 = {};
18448
18473
  $0.this = $Val(\u03B1, None, v3);
18449
18474
  return $0;
@@ -18455,8 +18480,8 @@ var new$p = (dictMonadWithGraphAlloc) => {
18455
18480
  };
18456
18481
  };
18457
18482
  };
18458
- var evalDocOpt = (dictMonadWithGraphAlloc) => (dictMonadReader) => (dictMonadAff) => {
18459
- const Monad0 = dictMonadAff.MonadEffect0().Monad0();
18483
+ var evalDocOpt = (dictMonadWithGraphAlloc) => (dictMonadReader) => {
18484
+ const Monad0 = dictMonadReader.MonadAsk0().Monad0();
18460
18485
  const Applicative0 = Monad0.Applicative0();
18461
18486
  const $0 = Monad0.Bind1().Apply0().Functor0();
18462
18487
  const sequence2 = traversableList.traverse(Applicative0)(identity5);
@@ -18470,7 +18495,7 @@ var evalDocOpt = (dictMonadWithGraphAlloc) => (dictMonadReader) => (dictMonadAff
18470
18495
  return Applicative0.pure($DocCommentElem("Token", v2._1));
18471
18496
  }
18472
18497
  if (v2.tag === "Unquote") {
18473
- return $0.map(Unquote)($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v)(v2._1)(setSet4.empty));
18498
+ return $0.map(Unquote)($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(v)(v2._1)(setSet4.empty));
18474
18499
  }
18475
18500
  fail();
18476
18501
  })(v1._1)));
@@ -18486,13 +18511,13 @@ var $$eval = (dictMonadWithGraphAlloc) => {
18486
18511
  const $$new = dictMonadWithGraphAlloc.new(typeNameVal);
18487
18512
  const match1 = match(dictMonadWithGraphAlloc);
18488
18513
  const closeDefs1 = closeDefs(dictMonadWithGraphAlloc);
18489
- return (dictMonadReader) => (dictMonadAff) => {
18490
- const Monad0 = dictMonadAff.MonadEffect0().Monad0();
18514
+ return (dictMonadReader) => {
18515
+ const Monad0 = dictMonadReader.MonadAsk0().Monad0();
18491
18516
  const Bind1 = Monad0.Bind1();
18492
18517
  const $0 = Bind1.Apply0().Functor0();
18493
18518
  const Applicative0 = Monad0.Applicative0();
18494
- const traverse2 = traversableList.traverse(Applicative0);
18495
- const traverse3 = traversablePair.traverse(Applicative0);
18519
+ const traverse3 = traversableList.traverse(Applicative0);
18520
+ const traverse4 = traversablePair.traverse(Applicative0);
18496
18521
  const sequence2 = traversableArray.traverse(Applicative0)(identity4);
18497
18522
  return (dictLoadFile) => (v) => (v1) => (v2) => {
18498
18523
  if (v1.tag === "Var") {
@@ -18502,32 +18527,23 @@ var $$eval = (dictMonadWithGraphAlloc) => {
18502
18527
  return withMsg2("Variable lookup")(lookup$p(MonadThrow0)(showString)(mapEnvStringVal)(v1._1)(v));
18503
18528
  }
18504
18529
  if (v1.tag === "Int") {
18505
- return new$p(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v)(insert(ordVertex)(v1._1)()(v2))(v1._2)($BaseVal(
18506
- "Int",
18507
- v1._3
18508
- ));
18530
+ return new$p(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(v)(insert(ordVertex)(v1._1)()(v2))(v1._2)($BaseVal("Int", v1._3));
18509
18531
  }
18510
18532
  if (v1.tag === "Float") {
18511
- return new$p(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v)(insert(ordVertex)(v1._1)()(v2))(v1._2)($BaseVal(
18512
- "Float",
18513
- v1._3
18514
- ));
18533
+ return new$p(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(v)(insert(ordVertex)(v1._1)()(v2))(v1._2)($BaseVal("Float", v1._3));
18515
18534
  }
18516
18535
  if (v1.tag === "Str") {
18517
- return new$p(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v)(insert(ordVertex)(v1._1)()(v2))(v1._2)($BaseVal(
18518
- "Str",
18519
- v1._3
18520
- ));
18536
+ return new$p(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(v)(insert(ordVertex)(v1._1)()(v2))(v1._2)($BaseVal("Str", v1._3));
18521
18537
  }
18522
18538
  if (v1.tag === "Dictionary") {
18523
18539
  const $1 = v1._2;
18524
18540
  const $2 = v1._1;
18525
- return Bind1.bind($0.map(unzip3)(traverse2(traverse3((() => {
18526
- const $3 = $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v);
18541
+ return Bind1.bind($0.map(unzip3)(traverse3(traverse4((() => {
18542
+ const $3 = $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(v);
18527
18543
  return (a) => $3(a)(v2);
18528
18544
  })()))(v1._3)))((v3) => {
18529
18545
  const v4 = unzip(listMap((v$1) => $Tuple(v$1._3.tag === "Str" ? v$1._3._1 : typeError(v$1._3)("Str"), v$1._1))(v3._1));
18530
- return new$p(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v)(insert(ordVertex)($2)()(v2))($1)($BaseVal(
18546
+ return new$p(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(v)(insert(ordVertex)($2)()(v2))($1)($BaseVal(
18531
18547
  "Dictionary",
18532
18548
  fromFoldable17(zipWith2(Tuple)(v4._1)(zipWith2(Tuple)(v4._2)(v3._2)))
18533
18549
  ));
@@ -18558,14 +18574,10 @@ var $$eval = (dictMonadWithGraphAlloc) => {
18558
18574
  return go$r;
18559
18575
  };
18560
18576
  return go(0)($3);
18561
- })()))(() => Bind1.bind(traverse2((() => {
18562
- const $5 = $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v);
18577
+ })()))(() => Bind1.bind(traverse3((() => {
18578
+ const $5 = $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(v);
18563
18579
  return (a) => $5(a)(v2);
18564
- })())($3))((vs) => new$p(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v)(insert(ordVertex)($4)()(v2))($2)($BaseVal(
18565
- "Constr",
18566
- $1,
18567
- vs
18568
- ))));
18580
+ })())($3))((vs) => new$p(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(v)(insert(ordVertex)($4)()(v2))($2)($BaseVal("Constr", $1, vs))));
18569
18581
  }
18570
18582
  if (v1.tag === "Matrix") {
18571
18583
  const $1 = v1._2;
@@ -18573,7 +18585,7 @@ var $$eval = (dictMonadWithGraphAlloc) => {
18573
18585
  const $3 = v1._4._1;
18574
18586
  const $4 = v1._4._2;
18575
18587
  const $5 = v1._1;
18576
- return Bind1.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v)(v1._5)(v2))((v3) => {
18588
+ return Bind1.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(v)(v1._5)(v2))((v3) => {
18577
18589
  const v5 = intPair.unpack(v3._3);
18578
18590
  const $6 = v5._1._1;
18579
18591
  const $7 = v5._2._1;
@@ -18584,7 +18596,7 @@ var $$eval = (dictMonadWithGraphAlloc) => {
18584
18596
  1
18585
18597
  )) + "); got (" + show3($Tuple($6, $7)) + ")"))(() => Bind1.bind(sequence2(arrayBind(range(1)($6))((i) => [
18586
18598
  sequence2(arrayBind(range(1)($7))((j) => [
18587
- $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(unionWith2((v$1) => identity13)(v)(disjointUnion2((() => {
18599
+ $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(unionWith2((v$1) => identity14)(v)(disjointUnion2((() => {
18588
18600
  const $10 = {};
18589
18601
  $10[$3] = $Val($8, None, $BaseVal("Int", i));
18590
18602
  return $10;
@@ -18594,7 +18606,7 @@ var $$eval = (dictMonadWithGraphAlloc) => {
18594
18606
  return $10;
18595
18607
  })())))($2)(v2)
18596
18608
  ]))
18597
- ])))((vss) => new$p(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v)(insert(ordVertex)($5)()(v2))($1)($BaseVal(
18609
+ ])))((vss) => new$p(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(v)(insert(ordVertex)($5)()(v2))($1)($BaseVal(
18598
18610
  "Matrix",
18599
18611
  $Tuple(vss, $Tuple($Tuple($6, $8), $Tuple($7, $9)))
18600
18612
  ))));
@@ -18620,7 +18632,7 @@ var $$eval = (dictMonadWithGraphAlloc) => {
18620
18632
  if (v1.tag === "Project") {
18621
18633
  const $1 = v1._1;
18622
18634
  const $2 = v1._3;
18623
- return Bind1.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v)(v1._2)(v2))((v3) => {
18635
+ return Bind1.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(v)(v1._2)(v2))((v3) => {
18624
18636
  if (v3._3.tag === "Dictionary") {
18625
18637
  return Bind1.bind(withMsg2("Dict lookup")(orElse(MonadThrow0)('Key "' + $2 + '" not found')((() => {
18626
18638
  const $3 = _lookup(Nothing, Just, $2, v3._3._1);
@@ -18628,7 +18640,7 @@ var $$eval = (dictMonadWithGraphAlloc) => {
18628
18640
  return $Maybe("Just", $3._1._2);
18629
18641
  }
18630
18642
  return Nothing;
18631
- })())))((v$p) => concatDocs(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v)(v$p)($1));
18643
+ })())))((v$p) => concatDocs(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(v)(v$p)($1));
18632
18644
  }
18633
18645
  return MonadThrow0.throwError(error("Found " + intercalate4("\n")(removeDocWS(prettyVal(highlightableVertex).pretty(v3)).lines) + ", expected dictionary"));
18634
18646
  });
@@ -18636,7 +18648,7 @@ var $$eval = (dictMonadWithGraphAlloc) => {
18636
18648
  if (v1.tag === "DProject") {
18637
18649
  const $1 = v1._1;
18638
18650
  const $2 = v1._3;
18639
- return Bind1.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v)(v1._2)(v2))((v3) => Bind1.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v)($2)(v2))((v$p) => {
18651
+ return Bind1.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(v)(v1._2)(v2))((v3) => Bind1.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(v)($2)(v2))((v$p) => {
18640
18652
  if (v3._3.tag === "Dictionary") {
18641
18653
  if (v$p._3.tag === "Str") {
18642
18654
  return Bind1.bind(withMsg2("Dict lookup")(orElse(MonadThrow0)('Key "' + v$p._3._1 + '" not found')((() => {
@@ -18645,7 +18657,7 @@ var $$eval = (dictMonadWithGraphAlloc) => {
18645
18657
  return $Maybe("Just", $3._1._2);
18646
18658
  }
18647
18659
  return Nothing;
18648
- })())))((v$p$p) => concatDocs(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v)(v$p$p)($1));
18660
+ })())))((v$p$p) => concatDocs(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(v)(v$p$p)($1));
18649
18661
  }
18650
18662
  return MonadThrow0.throwError(error("Found " + intercalate4("\n")(removeDocWS(prettyVal(highlightableVertex).pretty(v$p)).lines) + ", expected string"));
18651
18663
  }
@@ -18655,10 +18667,10 @@ var $$eval = (dictMonadWithGraphAlloc) => {
18655
18667
  if (v1.tag === "App") {
18656
18668
  const $1 = v1._1;
18657
18669
  const $2 = v1._3;
18658
- return Bind1.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v)(v1._2)(v2))((v3) => Bind1.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v)($2)(v2))((v$p) => Bind1.bind(apply2(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v3)(v$p))((v4) => {
18670
+ return Bind1.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(v)(v1._2)(v2))((v3) => Bind1.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(v)($2)(v2))((v$p) => Bind1.bind(apply2(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(v3)(v$p))((v4) => {
18659
18671
  const $3 = v4._3;
18660
18672
  const $4 = v4._1;
18661
- return Bind1.bind(evalDocOpt(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(unionWith2((v$1) => identity13)(v)((() => {
18673
+ return Bind1.bind(evalDocOpt(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(unionWith2((v$1) => identity14)(v)((() => {
18662
18674
  const $5 = {};
18663
18675
  $5.this = v4;
18664
18676
  return $5;
@@ -18668,24 +18680,24 @@ var $$eval = (dictMonadWithGraphAlloc) => {
18668
18680
  if (v1.tag === "Let") {
18669
18681
  const $1 = v1._2;
18670
18682
  const $2 = v1._1._1;
18671
- return Bind1.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v)(v1._1._2)(v2))((v3) => Bind1.bind(match1(v3)($2))((v4) => $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(unionWith2((v$1) => identity13)(v)(v4._1))($1)(v4._2._2)));
18683
+ return Bind1.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(v)(v1._1._2)(v2))((v3) => Bind1.bind(match1(v3)($2))((v4) => $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(unionWith2((v$1) => identity14)(v)(v4._1))($1)(v4._2._2)));
18672
18684
  }
18673
18685
  if (v1.tag === "LetRec") {
18674
18686
  const $1 = v1._2;
18675
18687
  const $2 = v1._1._1;
18676
- return Bind1.bind(closeDefs1(v)(v1._1._2)(insert(ordVertex)($2)()(v2)))((\u03B3$p) => $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(unionWith2((v$1) => identity13)(v)(\u03B3$p))($1)(insert(ordVertex)($2)()(v2)));
18688
+ return Bind1.bind(closeDefs1(v)(v1._1._2)(insert(ordVertex)($2)()(v2)))((\u03B3$p) => $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(unionWith2((v$1) => identity14)(v)(\u03B3$p))($1)(insert(ordVertex)($2)()(v2)));
18677
18689
  }
18678
18690
  fail();
18679
18691
  };
18680
18692
  };
18681
18693
  };
18682
- var concatDocs = (dictMonadWithGraphAlloc) => (dictMonadReader) => (dictMonadAff) => {
18683
- const Monad0 = dictMonadAff.MonadEffect0().Monad0();
18694
+ var concatDocs = (dictMonadWithGraphAlloc) => (dictMonadReader) => {
18695
+ const Monad0 = dictMonadReader.MonadAsk0().Monad0();
18684
18696
  return (dictLoadFile) => (\u03B3) => (v) => (doc) => {
18685
18697
  const $0 = v._3;
18686
18698
  const $1 = v._2;
18687
18699
  const $2 = v._1;
18688
- return Monad0.Bind1().bind(evalDocOpt(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(unionWith2((v$1) => identity13)(\u03B3)((() => {
18700
+ return Monad0.Bind1().bind(evalDocOpt(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(unionWith2((v$1) => identity14)(\u03B3)((() => {
18689
18701
  const $3 = {};
18690
18702
  $3.this = $Val($2, None, $0);
18691
18703
  return $3;
@@ -18698,8 +18710,8 @@ var apply2 = (dictMonadWithGraphAlloc) => {
18698
18710
  const $$new = dictMonadWithGraphAlloc.new(typeNameVal);
18699
18711
  const MonadError1 = dictMonadWithGraphAlloc.MonadError1();
18700
18712
  const MonadThrow0 = MonadError1.MonadThrow0();
18701
- return (dictMonadReader) => (dictMonadAff) => {
18702
- const Bind1 = dictMonadAff.MonadEffect0().Monad0().Bind1();
18713
+ return (dictMonadReader) => {
18714
+ const Bind1 = dictMonadReader.MonadAsk0().Monad0().Bind1();
18703
18715
  return (dictLoadFile) => (v) => (v1) => {
18704
18716
  const $0 = (v2) => MonadThrow0.throwError(error("Found " + intercalate4("\n")(removeDocWS(prettyVal(highlightableVertex).pretty(v2)).lines) + ", expected function"));
18705
18717
  if (v._3.tag === "Fun") {
@@ -18707,7 +18719,7 @@ var apply2 = (dictMonadWithGraphAlloc) => {
18707
18719
  const $1 = v._1;
18708
18720
  const $2 = v._3._1._1;
18709
18721
  const $3 = v._3._1._3;
18710
- return Bind1.bind(closeDefs1($2)(v._3._1._2)($$$Map("Two", Leaf2, $1, void 0, Leaf2)))((\u03B32) => Bind1.bind(match1(v1)($3))((v3) => $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(unionWith2((v$1) => identity13)(unionWith2((v$1) => identity13)($2)(\u03B32))(v3._1))(v3._2._1.tag === "ContExpr" ? v3._2._1._1 : throwException(error("Expression expected"))())(insert(ordVertex)($1)()(v3._2._2))));
18722
+ return Bind1.bind(closeDefs1($2)(v._3._1._2)($$$Map("Two", Leaf2, $1, void 0, Leaf2)))((\u03B32) => Bind1.bind(match1(v1)($3))((v3) => $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(unionWith2((v$1) => identity14)(unionWith2((v$1) => identity14)($2)(\u03B32))(v3._1))(v3._2._1.tag === "ContExpr" ? v3._2._1._1 : throwException(error("Expression expected"))())(insert(ordVertex)($1)()(v3._2._2))));
18711
18723
  }
18712
18724
  if (v._3._1.tag === "Foreign") {
18713
18725
  const $1 = v._3._1._1._2;
@@ -18738,7 +18750,7 @@ var apply2 = (dictMonadWithGraphAlloc) => {
18738
18750
  $Fun("Foreign", $Tuple(v._3._1._1._1, $1), vs$p)
18739
18751
  ));
18740
18752
  }
18741
- return $1._1.op(dictMonadWithGraphAlloc)(MonadError1)(dictMonadAff)(dictMonadReader)(dictLoadFile)(vs$p);
18753
+ return $1._1.op(dictMonadWithGraphAlloc)(MonadError1)(dictMonadReader)(dictLoadFile)(vs$p);
18742
18754
  }
18743
18755
  if (v._3._1.tag === "PartialConstr") {
18744
18756
  const $1 = v._1;
@@ -18813,33 +18825,30 @@ var eval_module = (dictMonadWithGraphAlloc) => {
18813
18825
  const match1 = match(dictMonadWithGraphAlloc);
18814
18826
  const closeDefs1 = closeDefs(dictMonadWithGraphAlloc);
18815
18827
  return (dictMonadReader) => {
18828
+ const Monad0 = dictMonadReader.MonadAsk0().Monad0();
18829
+ const $0 = Monad0.Bind1();
18816
18830
  const eval2 = eval1(dictMonadReader);
18817
- return (dictMonadAff) => {
18818
- const Monad0 = dictMonadAff.MonadEffect0().Monad0();
18819
- const $0 = Monad0.Bind1();
18820
- const eval3 = eval2(dictMonadAff);
18821
- return (dictLoadFile) => {
18822
- const eval4 = eval3(dictLoadFile);
18823
- return (\u03B3) => {
18824
- const go = (v) => (v1) => (v2) => {
18825
- if (v1.tag === "Nil") {
18826
- return Monad0.Applicative0().pure(v);
18831
+ return (dictLoadFile) => {
18832
+ const eval3 = eval2(dictLoadFile);
18833
+ return (\u03B3) => {
18834
+ const go = (v) => (v1) => (v2) => {
18835
+ if (v1.tag === "Nil") {
18836
+ return Monad0.Applicative0().pure(v);
18837
+ }
18838
+ if (v1.tag === "Cons") {
18839
+ if (v1._1.tag === "Left") {
18840
+ const $1 = v1._2;
18841
+ const $2 = v1._1._1._1;
18842
+ return $0.bind(eval3(unionWith2((v$1) => identity14)(\u03B3)(v))(v1._1._1._2)(v2))((v3) => $0.bind(match1(v3)($2))((v4) => go(unionWith2((v$1) => identity14)(v)(v4._1))($1)(v4._2._2)));
18827
18843
  }
18828
- if (v1.tag === "Cons") {
18829
- if (v1._1.tag === "Left") {
18830
- const $1 = v1._2;
18831
- const $2 = v1._1._1._1;
18832
- return $0.bind(eval4(unionWith2((v$1) => identity13)(\u03B3)(v))(v1._1._1._2)(v2))((v3) => $0.bind(match1(v3)($2))((v4) => go(unionWith2((v$1) => identity13)(v)(v4._1))($1)(v4._2._2)));
18833
- }
18834
- if (v1._1.tag === "Right") {
18835
- const $1 = v1._2;
18836
- return $0.bind(closeDefs1(unionWith2((v$1) => identity13)(\u03B3)(v))(v1._1._1._2)(insert(ordVertex)(v1._1._1._1)()(v2)))((\u03B3$p$p) => go(unionWith2((v$1) => identity13)(v)(\u03B3$p$p))($1)(v2));
18837
- }
18844
+ if (v1._1.tag === "Right") {
18845
+ const $1 = v1._2;
18846
+ return $0.bind(closeDefs1(unionWith2((v$1) => identity14)(\u03B3)(v))(v1._1._1._2)(insert(ordVertex)(v1._1._1._1)()(v2)))((\u03B3$p$p) => go(unionWith2((v$1) => identity14)(v)(\u03B3$p$p))($1)(v2));
18838
18847
  }
18839
- fail();
18840
- };
18841
- return go(empty);
18848
+ }
18849
+ fail();
18842
18850
  };
18851
+ return go(empty);
18843
18852
  };
18844
18853
  };
18845
18854
  };
@@ -18848,26 +18857,95 @@ var eval_progCxt = (dictMonadWithGraphAlloc) => {
18848
18857
  const eval_module1 = eval_module(dictMonadWithGraphAlloc);
18849
18858
  const eval1 = $$eval(dictMonadWithGraphAlloc);
18850
18859
  return (dictMonadReader) => {
18860
+ const Monad0 = dictMonadReader.MonadAsk0().Monad0();
18861
+ const $0 = Monad0.Bind1();
18851
18862
  const eval_module2 = eval_module1(dictMonadReader);
18863
+ const $1 = Monad0.Applicative0();
18852
18864
  const eval2 = eval1(dictMonadReader);
18853
- return (dictMonadAff) => {
18854
- const Monad0 = dictMonadAff.MonadEffect0().Monad0();
18855
- const $0 = Monad0.Bind1();
18856
- const eval_module3 = eval_module2(dictMonadAff);
18857
- const $1 = Monad0.Applicative0();
18858
- const eval3 = eval2(dictMonadAff);
18859
- const concatM1 = concatM(Monad0);
18860
- return (dictLoadFile) => {
18861
- const eval_module4 = eval_module3(dictLoadFile);
18862
- const eval4 = eval3(dictLoadFile);
18863
- return (v) => concatM1(foldableList.foldr(Cons)(listMap((v1) => (\u03B3) => {
18864
- const $2 = v1._1;
18865
- return $0.bind(eval4(\u03B3)(v1._2)(setSet4.empty))((v2) => $1.pure(unionWith2((v$1) => identity13)(\u03B3)((() => {
18866
- const $3 = {};
18867
- $3[$2] = v2;
18868
- return $3;
18869
- })())));
18870
- })(reverse2(v.datasets)))(listMap((mod) => (\u03B3) => $0.bind(eval_module4(\u03B3)(mod)(setSet4.empty))((\u03B3$p) => $1.pure(unionWith2((v$1) => identity13)(\u03B3)(\u03B3$p))))(reverse2(v.mods))))(v.primitives);
18865
+ const concatM1 = concatM(Monad0);
18866
+ return (dictLoadFile) => {
18867
+ const eval_module3 = eval_module2(dictLoadFile);
18868
+ const eval3 = eval2(dictLoadFile);
18869
+ return (v) => (v1) => {
18870
+ const $2 = v.datasets;
18871
+ const $3 = v1.graph;
18872
+ const $4 = v1.modules;
18873
+ const $5 = v.primitives;
18874
+ const $6 = v1.roots;
18875
+ return $0.bind(foldM2(Monad0)((\u03B3s) => (name2) => {
18876
+ const v2 = definitely("deps evaluated")((() => {
18877
+ const $7 = lookup2(ordString)(name2)($3);
18878
+ if ($7.tag === "Just") {
18879
+ const $8 = traverse2((dep) => lookup2(ordString)(dep)(\u03B3s))($7._1);
18880
+ if ($8.tag === "Just") {
18881
+ const $9 = lookup2(ordString)(name2)($4);
18882
+ if ($9.tag === "Just") {
18883
+ return $Maybe("Just", $Tuple($9._1, $8._1));
18884
+ }
18885
+ if ($9.tag === "Nothing") {
18886
+ return Nothing;
18887
+ }
18888
+ fail();
18889
+ }
18890
+ if ($8.tag === "Nothing") {
18891
+ return Nothing;
18892
+ }
18893
+ fail();
18894
+ }
18895
+ if ($7.tag === "Nothing") {
18896
+ return Nothing;
18897
+ }
18898
+ fail();
18899
+ })());
18900
+ return $0.bind(eval_module3((() => {
18901
+ const go = (go$a0$copy) => (go$a1$copy) => {
18902
+ let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
18903
+ while (go$c) {
18904
+ const b = go$a0, v$1 = go$a1;
18905
+ if (v$1.tag === "Nil") {
18906
+ go$c = false;
18907
+ go$r = b;
18908
+ continue;
18909
+ }
18910
+ if (v$1.tag === "Cons") {
18911
+ go$a0 = unionWith2((v$2) => identity14)(b)(v$1._1);
18912
+ go$a1 = v$1._2;
18913
+ continue;
18914
+ }
18915
+ fail();
18916
+ }
18917
+ return go$r;
18918
+ };
18919
+ return go($5)(v2._2);
18920
+ })())(v2._1)(setSet4.empty))((\u03B3$p) => $1.pure(insert(ordString)(name2)(\u03B3$p)(\u03B3s)));
18921
+ })(Leaf2)(v1.topsorted))((\u03B3s) => {
18922
+ const go = (go$a0$copy) => (go$a1$copy) => {
18923
+ let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
18924
+ while (go$c) {
18925
+ const b = go$a0, v$1 = go$a1;
18926
+ if (v$1.tag === "Nil") {
18927
+ go$c = false;
18928
+ go$r = b;
18929
+ continue;
18930
+ }
18931
+ if (v$1.tag === "Cons") {
18932
+ go$a0 = unionWith2((v$2) => identity14)(b)(v$1._1);
18933
+ go$a1 = v$1._2;
18934
+ continue;
18935
+ }
18936
+ fail();
18937
+ }
18938
+ return go$r;
18939
+ };
18940
+ return concatM1(listMap((v2) => (\u03B3) => {
18941
+ const $7 = v2._1;
18942
+ return $0.bind(eval3(\u03B3)(v2._2)(setSet4.empty))((v3) => $1.pure(unionWith2((v$1) => identity14)(\u03B3)((() => {
18943
+ const $8 = {};
18944
+ $8[$7] = v3;
18945
+ return $8;
18946
+ })())));
18947
+ })(reverse2($2)))(go($5)(listMap((dep) => definitely("has env")(lookup2(ordString)(dep)(\u03B3s)))($6)));
18948
+ });
18871
18949
  };
18872
18950
  };
18873
18951
  };
@@ -18882,25 +18960,20 @@ var graphEval = (dictMonadAff) => {
18882
18960
  Applicative0: () => applicativeStateT(Monad0),
18883
18961
  Bind1: () => bindStateT(Monad0)
18884
18962
  })(graphGraphImpl);
18885
- const monadAffState2 = monadAffState(dictMonadAff);
18886
- const monadAffState1 = monadAffState(monadAffState2);
18887
- const $1 = monadAffState2.MonadEffect0().Monad0();
18963
+ const $1 = monadAffState(dictMonadAff).MonadEffect0().Monad0();
18888
18964
  const $2 = dictMonadAff.MonadEffect0().Monad0();
18889
18965
  return (dictMonadReader) => {
18890
18966
  const monadReaderStateT2 = monadReaderStateT(monadReaderStateT(dictMonadReader));
18891
18967
  return (dictLoadFile) => (dictMonadError) => {
18892
- const eval1 = $$eval(monadWithGraphAllocWithGr(dictMonadError))(monadReaderStateT2)(monadAffState1)((() => {
18893
- const loadFile1 = dictLoadFile.loadFile(dictMonadError)(dictMonadAff);
18968
+ const eval1 = $$eval(monadWithGraphAllocWithGr(dictMonadError))(monadReaderStateT2)((() => {
18969
+ const loadFileFromPath1 = dictLoadFile.loadFileFromPath(dictMonadError)(dictMonadAff);
18894
18970
  return {
18895
- loadFile: (dictMonadError1) => (dictMonadAff1) => (folders) => {
18896
- const $3 = loadFile1(folders);
18897
- return (x) => {
18898
- const $4 = $3(x);
18899
- return (s) => $1.Bind1().bind((s$1) => $2.Bind1().bind($4)((x$1) => $2.Applicative0().pure($Tuple(x$1, s$1))))((x$1) => $1.Applicative0().pure($Tuple(
18900
- x$1,
18901
- s
18902
- )));
18903
- };
18971
+ loadFileFromPath: (dictMonadError1) => (dictMonadAff1) => (x) => {
18972
+ const $3 = loadFileFromPath1(x);
18973
+ return (s) => $1.Bind1().bind((s$1) => $2.Bind1().bind($3)((x$1) => $2.Applicative0().pure($Tuple(x$1, s$1))))((x$1) => $1.Applicative0().pure($Tuple(
18974
+ x$1,
18975
+ s
18976
+ )));
18904
18977
  }
18905
18978
  };
18906
18979
  })());
@@ -19764,26 +19837,67 @@ var monoidRecord = () => (dictMonoidRecord) => {
19764
19837
  return { mempty: dictMonoidRecord.memptyRecord($$Proxy), Semigroup0: () => semigroupRecord1 };
19765
19838
  };
19766
19839
 
19767
- // output-es/File/index.js
19768
- var Folder = (x) => x;
19840
+ // output-es/Data.Nullable/foreign.js
19841
+ function nullable(a, r, f) {
19842
+ return a == null ? r : f(a);
19843
+ }
19769
19844
 
19770
- // output-es/Data.CodePoint.Unicode/index.js
19771
- var isUpper = (x) => checkAttr([512, 524288])(x);
19772
- var isSpace = (c) => {
19773
- if (c <= 823) {
19774
- return c === 32 || c >= 9 && c <= 13 || c === 160;
19775
- }
19776
- return checkAttrS([2])(c);
19777
- };
19778
- var isOctDigit = (c) => {
19779
- const diff = c - 48 | 0;
19780
- return diff <= 7 && diff >= 0;
19781
- };
19782
- var isDecDigit = (c) => {
19783
- const diff = c - 48 | 0;
19784
- return diff <= 9 && diff >= 0;
19845
+ // output-es/Foreign/foreign.js
19846
+ var isArray = Array.isArray || function(value) {
19847
+ return Object.prototype.toString.call(value) === "[object Array]";
19785
19848
  };
19786
- var isHexDigit = (c) => {
19849
+
19850
+ // output-es/File/index.js
19851
+ var Folder = (x) => x;
19852
+ var show4 = /* @__PURE__ */ showArrayImpl(showStringImpl);
19853
+ var prependFolder = (v) => (v1) => v + "/" + v1;
19854
+ var loadFile = (dictLoadFile) => (dictMonad) => {
19855
+ const $0 = dictMonad.Applicative0();
19856
+ return (dictMonadError) => {
19857
+ const loadFileFromPath2 = dictLoadFile.loadFileFromPath(dictMonadError);
19858
+ return (dictMonadAff) => {
19859
+ const loadFileFromPath3 = loadFileFromPath2(dictMonadAff);
19860
+ return (folders) => (file) => {
19861
+ const paths = arrayApply(arrayMap(prependFolder)(folders))([file]);
19862
+ return dictMonad.Bind1().bind(foldM(dictMonad)((v) => (v1) => {
19863
+ if (v.tag === "Just") {
19864
+ return $0.pure($Maybe("Just", v._1));
19865
+ }
19866
+ if (v.tag === "Nothing") {
19867
+ return loadFileFromPath3(v1);
19868
+ }
19869
+ fail();
19870
+ })(Nothing)(paths))((result) => {
19871
+ if (result.tag === "Just") {
19872
+ return $0.pure(result._1);
19873
+ }
19874
+ if (result.tag === "Nothing") {
19875
+ return throwException(error("File not found in any path: " + show4(paths)))();
19876
+ }
19877
+ fail();
19878
+ });
19879
+ };
19880
+ };
19881
+ };
19882
+ };
19883
+
19884
+ // output-es/Data.CodePoint.Unicode/index.js
19885
+ var isUpper = (x) => checkAttr([512, 524288])(x);
19886
+ var isSpace = (c) => {
19887
+ if (c <= 823) {
19888
+ return c === 32 || c >= 9 && c <= 13 || c === 160;
19889
+ }
19890
+ return checkAttrS([2])(c);
19891
+ };
19892
+ var isOctDigit = (c) => {
19893
+ const diff = c - 48 | 0;
19894
+ return diff <= 7 && diff >= 0;
19895
+ };
19896
+ var isDecDigit = (c) => {
19897
+ const diff = c - 48 | 0;
19898
+ return diff <= 9 && diff >= 0;
19899
+ };
19900
+ var isHexDigit = (c) => {
19787
19901
  const diff = c - 48 | 0;
19788
19902
  const diff$1 = c - 65 | 0;
19789
19903
  return diff <= 9 && diff >= 0 || (() => {
@@ -19954,7 +20068,7 @@ var toLowerSimple = /* @__PURE__ */ convert(uTowlower);
19954
20068
  var toUpperSimple = /* @__PURE__ */ convert(uTowupper);
19955
20069
 
19956
20070
  // output-es/Parsing.Token/index.js
19957
- var identity23 = (x) => x;
20071
+ var identity25 = (x) => x;
19958
20072
  var choice3 = /* @__PURE__ */ choice(foldableArray);
19959
20073
  var toUnfoldable10 = /* @__PURE__ */ toUnfoldable2(unfoldableArray);
19960
20074
  var theReservedNames = (v) => {
@@ -20267,10 +20381,10 @@ var makeTokenParser = (v) => {
20267
20381
  if ($132) {
20268
20382
  return $42(v4$1, $122);
20269
20383
  }
20270
- return $52(v2, identity23);
20384
+ return $52(v2, identity25);
20271
20385
  });
20272
20386
  },
20273
- (state2, a) => $22((v2$1) => $52(state2, identity23))
20387
+ (state2, a) => $22((v2$1) => $52(state2, identity25))
20274
20388
  )));
20275
20389
  });
20276
20390
  },
@@ -21536,7 +21650,7 @@ var onlyIf = (b) => (a) => {
21536
21650
  };
21537
21651
  var choose2 = /* @__PURE__ */ choose(altParserT);
21538
21652
  var fanin3 = /* @__PURE__ */ fanin(categoryFn)(choiceFn);
21539
- var identity24 = (x) => x;
21653
+ var identity26 = (x) => x;
21540
21654
  var operators = (binaryOp) => fromFoldable18(listMap(arrayMap((v) => $Operator(
21541
21655
  "Infix",
21542
21656
  (() => {
@@ -21560,6 +21674,10 @@ var operators = (binaryOp) => fromFoldable18(listMap(arrayMap((v) => $Operator(
21560
21674
  }
21561
21675
  fail();
21562
21676
  })(foldableMap.foldr(Cons)(Nil)(opDefs))))));
21677
+ var letters = ($$char) => {
21678
+ const $0 = some(alternativeParserT)(lazyParserT)($$char);
21679
+ return (state1, more, lift12, $$throw2, done) => more((v1) => $0(state1, more, lift12, $$throw2, (state2, a) => more((v2) => done(state2, fromCharArray(a)))));
21680
+ };
21563
21681
  var languageDef = /* @__PURE__ */ (() => {
21564
21682
  const opChar = oneOf([":", "!", "#", "$", "%", "&", "*", "+", ".", "/", "<", "=", ">", "?", "@", "\\", "^", "|", "-", "~"]);
21565
21683
  return {
@@ -21613,7 +21731,7 @@ var languageDef = /* @__PURE__ */ (() => {
21613
21731
  })(),
21614
21732
  opStart: opChar,
21615
21733
  opLetter: opChar,
21616
- reservedNames: ["as", "else", "fun", "if", "in", "let", "match", "then"],
21734
+ reservedNames: ["as", "else", "fun", "if", "in", "let", "match", "then", "import"],
21617
21735
  reservedOpNames: ["|", "..", "=", "<-", "->"],
21618
21736
  caseSensitive: true
21619
21737
  };
@@ -21648,6 +21766,34 @@ var keyword = (str$p) => {
21648
21766
  }
21649
21767
  return throwException(error(str$p + " is not a reserved word"))();
21650
21768
  };
21769
+ var imports_ = /* @__PURE__ */ manyRec2(/* @__PURE__ */ (() => {
21770
+ const $0 = keyword("import");
21771
+ const $1 = joinWith("/");
21772
+ const $2 = sepBy1(token.identifier)(token.reservedOp("."));
21773
+ return (state1, more, lift12, $$throw2, done) => more((v2) => more((v1) => $0(
21774
+ state1,
21775
+ more,
21776
+ lift12,
21777
+ $$throw2,
21778
+ (state2, a) => more((v2$1) => more((v3) => more((v1$1) => $2(
21779
+ state2,
21780
+ more,
21781
+ lift12,
21782
+ $$throw2,
21783
+ (state2$1, a$1) => more((v2$2) => {
21784
+ const $3 = $1(fromFoldable19(a$1));
21785
+ return more((v4) => done(state2$1, $3));
21786
+ })
21787
+ ))))
21788
+ )));
21789
+ })());
21790
+ var withImports = (p) => topLevel((state1, more, lift12, $$throw2, done) => more((v1) => imports_(
21791
+ state1,
21792
+ more,
21793
+ lift12,
21794
+ $$throw2,
21795
+ (state2, a) => more((v2) => more((v1$1) => p(state2, more, lift12, $$throw2, (state2$1, a$1) => more((v2$1) => done(state2$1, $Tuple(a$1, a))))))
21796
+ )));
21651
21797
  var ident = (state1, more, lift12, $$throw2, done) => more((v1) => token.identifier(
21652
21798
  state1,
21653
21799
  more,
@@ -21949,17 +22095,8 @@ var varDefs = (expr$p) => {
21949
22095
  )));
21950
22096
  };
21951
22097
  var commentToken = /* @__PURE__ */ (() => {
21952
- const $0 = some(alternativeParserT)(lazyParserT)(docCommentLetter);
21953
- return (state1, more, lift12, $$throw2, done) => more((v1) => more((v1$1) => $0(
21954
- state1,
21955
- more,
21956
- lift12,
21957
- $$throw2,
21958
- (state2, a) => more((v2) => {
21959
- const $1 = fromCharArray(a);
21960
- return more((v2$1) => done(state2, $DocCommentElem("Token", $1)));
21961
- })
21962
- )));
22098
+ const $0 = letters(docCommentLetter);
22099
+ return (state1, more, lift12, $$throw2, done) => more((v1) => $0(state1, more, lift12, $$throw2, (state2, a) => more((v2) => done(state2, $DocCommentElem("Token", a)))));
21963
22100
  })();
21964
22101
  var commentExpr = (expr$p) => (state1, more, lift12, $$throw2, done) => more((v2) => more((v1) => string2("$")(
21965
22102
  state1,
@@ -22639,10 +22776,10 @@ var expr_$lazy = /* @__PURE__ */ binding(() => {
22639
22776
  if ($47) {
22640
22777
  return $42($ParseState(v4$5._1, v4$5._2, false), $46);
22641
22778
  }
22642
- return $43($ParseState($29, $30, false), identity24);
22779
+ return $43($ParseState($29, $30, false), identity26);
22643
22780
  });
22644
22781
  },
22645
- (state2, a) => $25((v2$3) => $43(state2, identity24))
22782
+ (state2, a) => $25((v2$3) => $43(state2, identity26))
22646
22783
  )));
22647
22784
  });
22648
22785
  },
@@ -22683,10 +22820,10 @@ var expr_$lazy = /* @__PURE__ */ binding(() => {
22683
22820
  if ($45) {
22684
22821
  return $40($ParseState(v4$4._1, v4$4._2, false), $44);
22685
22822
  }
22686
- return $41($ParseState($29, $30, false), identity24);
22823
+ return $41($ParseState($29, $30, false), identity26);
22687
22824
  });
22688
22825
  },
22689
- (state2, a) => $25((v2$3) => $41(state2, identity24))
22826
+ (state2, a) => $25((v2$3) => $41(state2, identity26))
22690
22827
  )));
22691
22828
  });
22692
22829
  },
@@ -23030,105 +23167,23 @@ var expr_$lazy = /* @__PURE__ */ binding(() => {
23030
23167
  return go;
23031
23168
  });
23032
23169
  var expr_ = /* @__PURE__ */ expr_$lazy();
23033
- var module_ = /* @__PURE__ */ (() => {
23034
- const $0 = topLevel((() => {
23035
- const $02 = sepBy_try(defs(expr_))(token.semi);
23036
- return (state1, more, lift12, $$throw2, done) => more((v2) => more((v1) => $02(
23037
- state1,
23038
- more,
23039
- lift12,
23040
- $$throw2,
23041
- (state2, a) => more((v2$1) => more((v3) => token.semi(state2, more, lift12, $$throw2, (state3, a$1) => more((v4) => done(state3, a)))))
23042
- )));
23043
- })());
23044
- return (state1, more, lift12, $$throw2, done) => more((v1) => $0(
23170
+ var module_ = /* @__PURE__ */ withImports(/* @__PURE__ */ (() => {
23171
+ const $0 = sepBy_try(defs(expr_))(token.semi);
23172
+ return (state1, more, lift12, $$throw2, done) => more((v2) => more((v1) => more((v1$1) => $0(
23045
23173
  state1,
23046
23174
  more,
23047
23175
  lift12,
23048
23176
  $$throw2,
23049
- (state2, a) => more((v2) => done(state2, $Module(bindList.bind(a)(identity7))))
23050
- ));
23051
- })();
23052
-
23053
- // output-es/Data.Argonaut.Core/foreign.js
23054
- function stringify(j) {
23055
- return JSON.stringify(j);
23056
- }
23057
- function _caseJson(isNull2, isBool, isNum, isStr, isArr, isObj, j) {
23058
- if (j == null)
23059
- return isNull2();
23060
- else if (typeof j === "boolean")
23061
- return isBool(j);
23062
- else if (typeof j === "number")
23063
- return isNum(j);
23064
- else if (typeof j === "string")
23065
- return isStr(j);
23066
- else if (Object.prototype.toString.call(j) === "[object Array]")
23067
- return isArr(j);
23068
- else
23069
- return isObj(j);
23070
- }
23071
-
23072
- // output-es/Data.Argonaut.Core/index.js
23073
- var caseJson = (a) => (b) => (c) => (d) => (e) => (f) => (json) => _caseJson(a, b, c, d, e, f, json);
23074
-
23075
- // output-es/Data.Argonaut.Decode.Error/index.js
23076
- var $JsonDecodeError = (tag, _1, _2) => ({ tag, _1, _2 });
23077
- var showJsonDecodeError = {
23078
- show: (v) => {
23079
- if (v.tag === "TypeMismatch") {
23080
- return "(TypeMismatch " + showStringImpl(v._1) + ")";
23081
- }
23082
- if (v.tag === "UnexpectedValue") {
23083
- return "(UnexpectedValue " + stringify(v._1) + ")";
23084
- }
23085
- if (v.tag === "AtIndex") {
23086
- return "(AtIndex " + showIntImpl(v._1) + " " + showJsonDecodeError.show(v._2) + ")";
23087
- }
23088
- if (v.tag === "AtKey") {
23089
- return "(AtKey " + showStringImpl(v._1) + " " + showJsonDecodeError.show(v._2) + ")";
23090
- }
23091
- if (v.tag === "Named") {
23092
- return "(Named " + showStringImpl(v._1) + " " + showJsonDecodeError.show(v._2) + ")";
23093
- }
23094
- if (v.tag === "MissingValue") {
23095
- return "MissingValue";
23096
- }
23097
- fail();
23098
- }
23099
- };
23100
-
23101
- // output-es/Data.Argonaut.Parser/foreign.js
23102
- function _jsonParser(fail3, succ, s) {
23103
- try {
23104
- return succ(JSON.parse(s));
23105
- } catch (e) {
23106
- return fail3(e.message);
23107
- }
23108
- }
23109
-
23110
- // output-es/Data.Argonaut.Decode.Parser/index.js
23111
- var parseJson = (x) => {
23112
- const $0 = _jsonParser(Left, Right, x);
23113
- if ($0.tag === "Left") {
23114
- return $Either("Left", $JsonDecodeError("TypeMismatch", "JSON"));
23115
- }
23116
- if ($0.tag === "Right") {
23117
- return $Either("Right", $0._1);
23118
- }
23119
- fail();
23120
- };
23177
+ (state2, a) => more((v2$1) => {
23178
+ const $1 = $Module(bindList.bind(a)(identity7));
23179
+ return more((v2$2) => more((v3) => token.semi(state2, more, lift12, $$throw2, (state3, a$1) => more((v4) => done(state3, $1)))));
23180
+ })
23181
+ ))));
23182
+ })());
23121
23183
 
23122
23184
  // output-es/Primitive.Defs/index.js
23123
23185
  var foldM4 = (dictMonad) => (f) => (b0) => foldableDict.foldl((b) => (a) => dictMonad.Bind1().bind(b)((a$1) => f(a$1)(a)))(dictMonad.Applicative0().pure(b0));
23124
23186
  var disjointUnion3 = /* @__PURE__ */ disjointUnion(mapDictString);
23125
- var fromFoldable20 = /* @__PURE__ */ foldlArray((m) => (a) => insert(ordVertex)(a)()(m))(Leaf2);
23126
- var pretty = /* @__PURE__ */ (() => prettyVal(highlightableVertex).pretty)();
23127
- var toUnfoldable15 = /* @__PURE__ */ (() => {
23128
- const $0 = toArrayWithKey(Tuple);
23129
- return (x) => toUnfoldable(unfoldableArray)($0(x));
23130
- })();
23131
- var fromFoldable110 = /* @__PURE__ */ fromFoldable2(foldableArray);
23132
23187
  var unary2 = /* @__PURE__ */ unary(boundedJoinSemilatticeUni);
23133
23188
  var binary2 = /* @__PURE__ */ binary(boundedJoinSemilatticeUni);
23134
23189
  var binaryZero2 = /* @__PURE__ */ binaryZero(boundedJoinSemilatticeUni);
@@ -23153,7 +23208,7 @@ var matrixUpdate = /* @__PURE__ */ $Tuple(
23153
23208
  const $$new = dictMonadWithGraphAlloc.new(typeNameVal);
23154
23209
  return (dictMonadError) => {
23155
23210
  const $$throw2 = $$throw(dictMonadError.MonadThrow0());
23156
- return (dictMonadAff) => (dictMonadReader) => (dictLoadFile) => (v) => {
23211
+ return (dictMonadReader) => (dictLoadFile) => (v) => {
23157
23212
  if (v.tag === "Cons" && v._1._3.tag === "Matrix" && v._2.tag === "Cons" && v._2._1._3.tag === "Constr" && v._2._1._3._2.tag === "Cons" && v._2._1._3._2._1._3.tag === "Int" && v._2._1._3._2._2.tag === "Cons" && v._2._1._3._2._2._1._3.tag === "Int" && v._2._1._3._2._2._2.tag === "Nil" && v._2._2.tag === "Cons" && v._2._2._2.tag === "Nil" && v._2._1._3._1 === "Pair") {
23158
23213
  const $0 = v._2._2._1;
23159
23214
  return $$new((a) => Val(a)(None))($$$Map("Two", Leaf2, v._1._1, void 0, Leaf2))($BaseVal(
@@ -23172,12 +23227,12 @@ var matrixLookup = /* @__PURE__ */ $Tuple(
23172
23227
  /* @__PURE__ */ $ForeignOp$p({
23173
23228
  arity: 2,
23174
23229
  op: (dictMonadWithGraphAlloc) => (dictMonadError) => {
23175
- const $$throw2 = $$throw(dictMonadError.MonadThrow0());
23176
- return (dictMonadAff) => (dictMonadReader) => (dictLoadFile) => (v) => {
23230
+ const MonadThrow0 = dictMonadError.MonadThrow0();
23231
+ return (dictMonadReader) => (dictLoadFile) => (v) => {
23177
23232
  if (v.tag === "Cons" && v._1._3.tag === "Matrix" && v._2.tag === "Cons" && v._2._1._3.tag === "Constr" && v._2._1._3._2.tag === "Cons" && v._2._1._3._2._1._3.tag === "Int" && v._2._1._3._2._2.tag === "Cons" && v._2._1._3._2._2._1._3.tag === "Int" && v._2._1._3._2._2._2.tag === "Nil" && v._2._2.tag === "Nil" && v._2._1._3._1 === "Pair") {
23178
- return dictMonadAff.MonadEffect0().Monad0().Applicative0().pure(matrixGet(v._2._1._3._2._1._3._1)(v._2._1._3._2._2._1._3._1)(v._1._3._1));
23233
+ return MonadThrow0.Monad0().Applicative0().pure(matrixGet(v._2._1._3._2._1._3._1)(v._2._1._3._2._2._1._3._1)(v._1._3._1));
23179
23234
  }
23180
- return $$throw2("Matrix and pair of integers expected");
23235
+ return MonadThrow0.throwError(error("Matrix and pair of integers expected"));
23181
23236
  };
23182
23237
  }
23183
23238
  })
@@ -23205,12 +23260,12 @@ var error_ = /* @__PURE__ */ $Tuple(
23205
23260
  /* @__PURE__ */ $ForeignOp$p({
23206
23261
  arity: 1,
23207
23262
  op: (dictMonadWithGraphAlloc) => (dictMonadError) => {
23208
- const $$throw2 = $$throw(dictMonadError.MonadThrow0());
23209
- return (dictMonadAff) => (dictMonadReader) => (dictLoadFile) => (v) => {
23263
+ const MonadThrow0 = dictMonadError.MonadThrow0();
23264
+ return (dictMonadReader) => (dictLoadFile) => (v) => {
23210
23265
  if (v.tag === "Cons" && v._1._3.tag === "Str" && v._2.tag === "Nil") {
23211
- return dictMonadAff.MonadEffect0().Monad0().Applicative0().pure(throwException(error(v._1._3._1))());
23266
+ return MonadThrow0.Monad0().Applicative0().pure(throwException(error(v._1._3._1))());
23212
23267
  }
23213
- return $$throw2("String expected");
23268
+ return MonadThrow0.throwError(error("String expected"));
23214
23269
  };
23215
23270
  }
23216
23271
  })
@@ -23223,28 +23278,26 @@ var dims = /* @__PURE__ */ $Tuple(
23223
23278
  op: (dictMonadWithGraphAlloc) => {
23224
23279
  const $$new = dictMonadWithGraphAlloc.new(typeNameVal);
23225
23280
  return (dictMonadError) => {
23226
- const $$throw2 = $$throw(dictMonadError.MonadThrow0());
23227
- return (dictMonadAff) => {
23228
- const $0 = dictMonadAff.MonadEffect0().Monad0().Bind1();
23229
- return (dictMonadReader) => (dictLoadFile) => (v) => {
23230
- if (v.tag === "Cons" && v._1._3.tag === "Matrix" && v._2.tag === "Nil") {
23231
- const $1 = v._1._3._1._2._2._1;
23232
- const $2 = v._1._1;
23233
- const $3 = v._1._3._1._2._2._2;
23234
- return $0.bind($$new((a) => Val(a)(None))($$$Map("Two", Leaf2, v._1._3._1._2._1._2, void 0, Leaf2))($BaseVal(
23235
- "Int",
23236
- v._1._3._1._2._1._1
23237
- )))((v1) => $0.bind($$new((a) => Val(a)(None))($$$Map("Two", Leaf2, $3, void 0, Leaf2))($BaseVal(
23238
- "Int",
23239
- $1
23240
- )))((v2) => $$new((a) => Val(a)(None))($$$Map("Two", Leaf2, $2, void 0, Leaf2))($BaseVal(
23241
- "Constr",
23242
- "Pair",
23243
- $List("Cons", v1, $List("Cons", v2, Nil))
23244
- ))));
23245
- }
23246
- return $$throw2("Matrix expected");
23247
- };
23281
+ const MonadThrow0 = dictMonadError.MonadThrow0();
23282
+ const $0 = MonadThrow0.Monad0().Bind1();
23283
+ return (dictMonadReader) => (dictLoadFile) => (v) => {
23284
+ if (v.tag === "Cons" && v._1._3.tag === "Matrix" && v._2.tag === "Nil") {
23285
+ const $1 = v._1._3._1._2._2._1;
23286
+ const $2 = v._1._1;
23287
+ const $3 = v._1._3._1._2._2._2;
23288
+ return $0.bind($$new((a) => Val(a)(None))($$$Map("Two", Leaf2, v._1._3._1._2._1._2, void 0, Leaf2))($BaseVal(
23289
+ "Int",
23290
+ v._1._3._1._2._1._1
23291
+ )))((v1) => $0.bind($$new((a) => Val(a)(None))($$$Map("Two", Leaf2, $3, void 0, Leaf2))($BaseVal(
23292
+ "Int",
23293
+ $1
23294
+ )))((v2) => $$new((a) => Val(a)(None))($$$Map("Two", Leaf2, $2, void 0, Leaf2))($BaseVal(
23295
+ "Constr",
23296
+ "Pair",
23297
+ $List("Cons", v1, $List("Cons", v2, Nil))
23298
+ ))));
23299
+ }
23300
+ return MonadThrow0.throwError(error("Matrix expected"));
23248
23301
  };
23249
23302
  };
23250
23303
  }
@@ -23258,29 +23311,27 @@ var dict_map = /* @__PURE__ */ $Tuple(
23258
23311
  const apply5 = apply2(dictMonadWithGraphAlloc);
23259
23312
  const $$new = dictMonadWithGraphAlloc.new(typeNameVal);
23260
23313
  return (dictMonadError) => {
23261
- const $$throw2 = $$throw(dictMonadError.MonadThrow0());
23262
- return (dictMonadAff) => {
23263
- const Monad0 = dictMonadAff.MonadEffect0().Monad0();
23264
- const Bind1 = Monad0.Bind1();
23265
- const traverse2 = traversableDict.traverse(Monad0.Applicative0());
23266
- return (dictMonadReader) => {
23267
- const apply12 = apply5(dictMonadReader)(dictMonadAff);
23268
- return (dictLoadFile) => {
23269
- const apply22 = apply12(dictLoadFile);
23270
- return (v) => {
23271
- if (v.tag === "Cons" && v._2.tag === "Cons" && v._2._1._3.tag === "Dictionary" && v._2._2.tag === "Nil") {
23272
- const $0 = v._1;
23273
- const $1 = v._2._1._1;
23274
- return Bind1.bind(traverse2((v2) => {
23275
- const $2 = v2._1;
23276
- return Bind1.Apply0().Functor0().map((v3) => $Tuple($2, v3))(apply22($0)(v2._2));
23277
- })(v._2._1._3._1))((d$p) => $$new((a) => Val(a)(None))($$$Map("Two", Leaf2, $1, void 0, Leaf2))($BaseVal(
23278
- "Dictionary",
23279
- d$p
23280
- )));
23281
- }
23282
- return $$throw2("Function and dictionary expected");
23283
- };
23314
+ const MonadThrow0 = dictMonadError.MonadThrow0();
23315
+ const Monad0 = MonadThrow0.Monad0();
23316
+ const Bind1 = Monad0.Bind1();
23317
+ const traverse1 = traversableDict.traverse(Monad0.Applicative0());
23318
+ return (dictMonadReader) => {
23319
+ const apply12 = apply5(dictMonadReader);
23320
+ return (dictLoadFile) => {
23321
+ const apply22 = apply12(dictLoadFile);
23322
+ return (v) => {
23323
+ if (v.tag === "Cons" && v._2.tag === "Cons" && v._2._1._3.tag === "Dictionary" && v._2._2.tag === "Nil") {
23324
+ const $0 = v._1;
23325
+ const $1 = v._2._1._1;
23326
+ return Bind1.bind(traverse1((v2) => {
23327
+ const $2 = v2._1;
23328
+ return Bind1.Apply0().Functor0().map((v3) => $Tuple($2, v3))(apply22($0)(v2._2));
23329
+ })(v._2._1._3._1))((d$p) => $$new((a) => Val(a)(None))($$$Map("Two", Leaf2, $1, void 0, Leaf2))($BaseVal(
23330
+ "Dictionary",
23331
+ d$p
23332
+ )));
23333
+ }
23334
+ return MonadThrow0.throwError(error("Function and dictionary expected"));
23284
23335
  };
23285
23336
  };
23286
23337
  };
@@ -23296,42 +23347,40 @@ var dict_intersectionWith = /* @__PURE__ */ $Tuple(
23296
23347
  const apply5 = apply2(dictMonadWithGraphAlloc);
23297
23348
  const $$new = dictMonadWithGraphAlloc.new(typeNameVal);
23298
23349
  return (dictMonadError) => {
23299
- const $$throw2 = $$throw(dictMonadError.MonadThrow0());
23300
- return (dictMonadAff) => {
23301
- const Monad0 = dictMonadAff.MonadEffect0().Monad0();
23302
- const Bind1 = Monad0.Bind1();
23303
- const Applicative0 = Monad0.Applicative0();
23304
- const $0 = Bind1.Apply0().Functor0();
23305
- return (dictMonadReader) => {
23306
- const apply12 = apply5(dictMonadReader)(dictMonadAff);
23307
- return (dictLoadFile) => {
23308
- const apply22 = apply12(dictLoadFile);
23309
- return (v) => {
23310
- if (v.tag === "Cons" && v._2.tag === "Cons" && v._2._1._3.tag === "Dictionary" && v._2._2.tag === "Cons" && v._2._2._1._3.tag === "Dictionary" && v._2._2._2.tag === "Nil") {
23311
- const $1 = v._1;
23312
- const $2 = v._2._1._1;
23313
- const $3 = v._2._2._1._1;
23314
- return Bind1.bind($0.map(Dictionary3)($0.map(DictRep)(traversableDict.traverse(Applicative0)(identity14)(intersectionWith_Object((v2) => (v3) => {
23315
- const $4 = v3._2;
23316
- const $5 = v2._1;
23317
- const $6 = v3._1;
23318
- return Bind1.bind(Bind1.bind(apply22($1)(v2._2))((a) => apply22(a)($4)))((v4) => Bind1.bind($$new((a) => Val(a)(None))(insert(ordVertex)($6)()($$$Map(
23319
- "Two",
23320
- Leaf2,
23321
- $5,
23322
- void 0,
23323
- Leaf2
23324
- )))(v4._3))((v5) => Applicative0.pure($Tuple(v5._1, v4))));
23325
- })(v._2._1._3._1)(v._2._2._1._3._1)))))((v$p) => $$new((a) => Val(a)(None))(insert(ordVertex)($3)()($$$Map(
23350
+ const MonadThrow0 = dictMonadError.MonadThrow0();
23351
+ const Monad0 = MonadThrow0.Monad0();
23352
+ const Bind1 = Monad0.Bind1();
23353
+ const Applicative0 = Monad0.Applicative0();
23354
+ const $0 = Bind1.Apply0().Functor0();
23355
+ return (dictMonadReader) => {
23356
+ const apply12 = apply5(dictMonadReader);
23357
+ return (dictLoadFile) => {
23358
+ const apply22 = apply12(dictLoadFile);
23359
+ return (v) => {
23360
+ if (v.tag === "Cons" && v._2.tag === "Cons" && v._2._1._3.tag === "Dictionary" && v._2._2.tag === "Cons" && v._2._2._1._3.tag === "Dictionary" && v._2._2._2.tag === "Nil") {
23361
+ const $1 = v._1;
23362
+ const $2 = v._2._1._1;
23363
+ const $3 = v._2._2._1._1;
23364
+ return Bind1.bind($0.map(Dictionary3)($0.map(DictRep)(traversableDict.traverse(Applicative0)(identity15)(intersectionWith_Object((v2) => (v3) => {
23365
+ const $4 = v3._2;
23366
+ const $5 = v2._1;
23367
+ const $6 = v3._1;
23368
+ return Bind1.bind(Bind1.bind(apply22($1)(v2._2))((a) => apply22(a)($4)))((v4) => Bind1.bind($$new((a) => Val(a)(None))(insert(ordVertex)($6)()($$$Map(
23326
23369
  "Two",
23327
23370
  Leaf2,
23328
- $2,
23371
+ $5,
23329
23372
  void 0,
23330
23373
  Leaf2
23331
- )))(v$p));
23332
- }
23333
- return $$throw2("Function and two dictionaries expected");
23334
- };
23374
+ )))(v4._3))((v5) => Applicative0.pure($Tuple(v5._1, v4))));
23375
+ })(v._2._1._3._1)(v._2._2._1._3._1)))))((v$p) => $$new((a) => Val(a)(None))(insert(ordVertex)($3)()($$$Map(
23376
+ "Two",
23377
+ Leaf2,
23378
+ $2,
23379
+ void 0,
23380
+ Leaf2
23381
+ )))(v$p));
23382
+ }
23383
+ return MonadThrow0.throwError(error("Function and two dictionaries expected"));
23335
23384
  };
23336
23385
  };
23337
23386
  };
@@ -23345,7 +23394,7 @@ var dict_get = /* @__PURE__ */ $Tuple(
23345
23394
  arity: 2,
23346
23395
  op: (dictMonadWithGraphAlloc) => (dictMonadError) => {
23347
23396
  const MonadThrow0 = dictMonadError.MonadThrow0();
23348
- return (dictMonadAff) => (dictMonadReader) => (dictLoadFile) => (v) => {
23397
+ return (dictMonadReader) => (dictLoadFile) => (v) => {
23349
23398
  if (v.tag === "Cons" && v._1._3.tag === "Str" && v._2.tag === "Cons" && v._2._1._3.tag === "Dictionary" && v._2._2.tag === "Nil") {
23350
23399
  return orElse(MonadThrow0)('Key "' + v._1._3._1 + '" not found')((() => {
23351
23400
  const $0 = _lookup(Nothing, Just, v._1._3._1, v._2._1._3._1);
@@ -23367,23 +23416,21 @@ var dict_foldl = /* @__PURE__ */ $Tuple(
23367
23416
  op: (dictMonadWithGraphAlloc) => {
23368
23417
  const apply5 = apply2(dictMonadWithGraphAlloc);
23369
23418
  return (dictMonadError) => {
23370
- const $$throw2 = $$throw(dictMonadError.MonadThrow0());
23371
- return (dictMonadAff) => {
23372
- const Monad0 = dictMonadAff.MonadEffect0().Monad0();
23373
- return (dictMonadReader) => {
23374
- const apply12 = apply5(dictMonadReader)(dictMonadAff);
23375
- return (dictLoadFile) => {
23376
- const apply22 = apply12(dictLoadFile);
23377
- return (v) => {
23378
- if (v.tag === "Cons" && v._2.tag === "Cons" && v._2._2.tag === "Cons" && v._2._2._1._3.tag === "Dictionary" && v._2._2._2.tag === "Nil") {
23379
- const $0 = v._1;
23380
- return foldM4(Monad0)((u1) => (v2) => {
23381
- const $1 = v2._2;
23382
- return Monad0.Bind1().bind(apply22($0)(u1))((a) => apply22(a)($1));
23383
- })(v._2._1)(v._2._2._1._3._1);
23384
- }
23385
- return $$throw2("Function, value and dictionary expected");
23386
- };
23419
+ const MonadThrow0 = dictMonadError.MonadThrow0();
23420
+ const Monad0 = MonadThrow0.Monad0();
23421
+ return (dictMonadReader) => {
23422
+ const apply12 = apply5(dictMonadReader);
23423
+ return (dictLoadFile) => {
23424
+ const apply22 = apply12(dictLoadFile);
23425
+ return (v) => {
23426
+ if (v.tag === "Cons" && v._2.tag === "Cons" && v._2._2.tag === "Cons" && v._2._2._1._3.tag === "Dictionary" && v._2._2._2.tag === "Nil") {
23427
+ const $0 = v._1;
23428
+ return foldM4(Monad0)((u1) => (v2) => {
23429
+ const $1 = v2._2;
23430
+ return Monad0.Bind1().bind(apply22($0)(u1))((a) => apply22(a)($1));
23431
+ })(v._2._1)(v._2._2._1._3._1);
23432
+ }
23433
+ return MonadThrow0.throwError(error("Function, value and dictionary expected"));
23387
23434
  };
23388
23435
  };
23389
23436
  };
@@ -23399,7 +23446,7 @@ var dict_disjointUnion = /* @__PURE__ */ $Tuple(
23399
23446
  const $$new = dictMonadWithGraphAlloc.new(typeNameVal);
23400
23447
  return (dictMonadError) => {
23401
23448
  const $$throw2 = $$throw(dictMonadError.MonadThrow0());
23402
- return (dictMonadAff) => (dictMonadReader) => (dictLoadFile) => (v) => {
23449
+ return (dictMonadReader) => (dictLoadFile) => (v) => {
23403
23450
  if (v.tag === "Cons" && v._1._3.tag === "Dictionary" && v._2.tag === "Cons" && v._2._1._3.tag === "Dictionary" && v._2._2.tag === "Nil") {
23404
23451
  return $$new((a) => Val(a)(None))(insert(ordVertex)(v._2._1._1)()($$$Map(
23405
23452
  "Two",
@@ -23423,7 +23470,7 @@ var dict_difference = /* @__PURE__ */ $Tuple(
23423
23470
  const $$new = dictMonadWithGraphAlloc.new(typeNameVal);
23424
23471
  return (dictMonadError) => {
23425
23472
  const $$throw2 = $$throw(dictMonadError.MonadThrow0());
23426
- return (dictMonadAff) => (dictMonadReader) => (dictLoadFile) => (v) => {
23473
+ return (dictMonadReader) => (dictLoadFile) => (v) => {
23427
23474
  if (v.tag === "Cons" && v._1._3.tag === "Dictionary" && v._2.tag === "Cons" && v._2._1._3.tag === "Dictionary" && v._2._2.tag === "Nil") {
23428
23475
  return $$new((a) => Val(a)(None))(insert(ordVertex)(v._2._1._1)()($$$Map(
23429
23476
  "Two",
@@ -23444,103 +23491,18 @@ var debugLog = /* @__PURE__ */ $Tuple(
23444
23491
  /* @__PURE__ */ $ForeignOp$p({
23445
23492
  arity: 1,
23446
23493
  op: (dictMonadWithGraphAlloc) => (dictMonadError) => {
23447
- const $$throw2 = $$throw(dictMonadError.MonadThrow0());
23448
- return (dictMonadAff) => (dictMonadReader) => (dictLoadFile) => (v) => {
23494
+ const MonadThrow0 = dictMonadError.MonadThrow0();
23495
+ return (dictMonadReader) => (dictLoadFile) => (v) => {
23449
23496
  if (v.tag === "Cons" && v._2.tag === "Nil") {
23450
23497
  const $0 = v._1;
23451
- return dictMonadAff.MonadEffect0().Monad0().Applicative0().pure(_trace($0, (v$1) => $0));
23498
+ return MonadThrow0.Monad0().Applicative0().pure(_trace($0, (v$1) => $0));
23452
23499
  }
23453
- return $$throw2("Single value expected");
23454
- };
23455
- }
23456
- })
23457
- );
23458
- var arrVtoVal$p = (dictMonadWithGraphAlloc) => {
23459
- const $$new = dictMonadWithGraphAlloc.new(typeNameVal);
23460
- return (v) => {
23461
- if (v.tag === "Nil") {
23462
- return $$new((a) => Val(a)(None))(Leaf2)($BaseVal("Constr", "Nil", Nil));
23463
- }
23464
- if (v.tag === "Cons") {
23465
- const $0 = v._1;
23466
- return dictMonadWithGraphAlloc.MonadWithGraph2().Monad0().Bind1().bind(arrVtoVal$p(dictMonadWithGraphAlloc)(v._2))((tailV) => $$new((a) => Val(a)(None))(fromFoldable20([
23467
- $0._1,
23468
- tailV._1
23469
- ]))($BaseVal("Constr", ":", $List("Cons", $0, $List("Cons", tailV, Nil)))));
23470
- }
23471
- fail();
23472
- };
23473
- };
23474
- var fromJsonVal$p = (dictMonadWithGraphAlloc) => {
23475
- const $$throw2 = $$throw(dictMonadWithGraphAlloc.MonadError1().MonadThrow0());
23476
- const Monad0 = dictMonadWithGraphAlloc.MonadWithGraph2().Monad0();
23477
- const $0 = Monad0.Bind1();
23478
- const $$new = dictMonadWithGraphAlloc.new(typeNameVal);
23479
- const Applicative0 = Monad0.Applicative0();
23480
- const traverse2 = traversableArray.traverse(Applicative0);
23481
- const arrVtoVal$p1 = arrVtoVal$p(dictMonadWithGraphAlloc);
23482
- return caseJson((v) => $$throw2("Error, Null JSON value cannot be converted to Val Vertex"))((b) => $0.bind($$new((a) => Val(a)(None))(Leaf2)($BaseVal(
23483
- "Constr",
23484
- b ? "True" : "False",
23485
- Nil
23486
- )))((v) => Applicative0.pure(spyWhen(true)("Processing boolean")((x) => intercalate4("\n")(pretty(x).lines))(v))))((n) => $0.bind((() => {
23487
- const v = fromNumber(n);
23488
- if (v.tag === "Just") {
23489
- return $$new((a) => Val(a)(None))(Leaf2)($BaseVal("Int", v._1));
23490
- }
23491
- if (v.tag === "Nothing") {
23492
- return $$new((a) => Val(a)(None))(Leaf2)($BaseVal("Float", n));
23493
- }
23494
- fail();
23495
- })())((v) => Applicative0.pure(spyWhen(true)("Processing number")((x) => intercalate4("\n")(pretty(x).lines))(v))))((s) => $0.bind($$new((a) => Val(a)(None))(Leaf2)($BaseVal(
23496
- "Str",
23497
- s
23498
- )))((v) => Applicative0.pure(spyWhen(true)("Processing string")((x) => intercalate4("\n")(pretty(x).lines))(v))))((arr) => $0.bind(traverse2(fromJsonVal$p(dictMonadWithGraphAlloc))(arr))((vs) => $0.bind(arrVtoVal$p1(toUnfoldable(unfoldableList)(vs)))((v) => Applicative0.pure(spyWhen(true)("Processing array")((x) => intercalate4("\n")(pretty(x).lines))(v)))))((obj) => $0.bind(traverse2((v) => {
23499
- const $1 = v._1;
23500
- return $0.bind(fromJsonVal$p(dictMonadWithGraphAlloc)(v._2))((vv) => Applicative0.pure($Tuple($1, $Tuple(vv._1, vv))));
23501
- })(toUnfoldable15(obj)))((entries) => $0.bind($$new((a) => Val(a)(None))(fromFoldable20(arrayMap((v) => v._2._1)(entries)))($BaseVal(
23502
- "Dictionary",
23503
- fromFoldable110(entries)
23504
- )))((v) => Applicative0.pure(spyWhen(true)("Processing object")((x) => intercalate4("\n")(pretty(x).lines))(v)))));
23505
- };
23506
- var loadJson = /* @__PURE__ */ $Tuple(
23507
- "loadJson",
23508
- /* @__PURE__ */ $ForeignOp$p({
23509
- arity: 1,
23510
- op: (dictMonadWithGraphAlloc) => {
23511
- const fromJsonVal$p1 = fromJsonVal$p(dictMonadWithGraphAlloc);
23512
- return (dictMonadError) => {
23513
- const $$throw2 = $$throw(dictMonadError.MonadThrow0());
23514
- return (dictMonadAff) => {
23515
- const $0 = dictMonadAff.MonadEffect0().Monad0().Bind1();
23516
- return (dictMonadReader) => {
23517
- const ask = dictMonadReader.MonadAsk0().ask;
23518
- return (dictLoadFile) => {
23519
- const loadFile = dictLoadFile.loadFile(dictMonadError)(dictMonadAff);
23520
- return (v) => {
23521
- if (v.tag === "Cons" && v._1._3.tag === "Str" && v._2.tag === "Nil") {
23522
- const $1 = v._1._3._1;
23523
- return $0.bind(ask)((v1) => $0.bind(loadFile(v1.fluidSrcPaths)($1))((str) => {
23524
- const v2 = parseJson(str);
23525
- if (v2.tag === "Left") {
23526
- return $$throw2("Failed to parse JSON: " + showJsonDecodeError.show(v2._1));
23527
- }
23528
- if (v2.tag === "Right") {
23529
- return fromJsonVal$p1(v2._1);
23530
- }
23531
- fail();
23532
- }));
23533
- }
23534
- return $$throw2("String expected");
23535
- };
23536
- };
23537
- };
23538
- };
23500
+ return MonadThrow0.throwError(error("Single value expected"));
23539
23501
  };
23540
23502
  }
23541
23503
  })
23542
23504
  );
23543
- var primitives = /* @__PURE__ */ fromFoldable110([
23505
+ var primitives = /* @__PURE__ */ fromFoldable2(foldableArray)([
23544
23506
  /* @__PURE__ */ $Tuple(
23545
23507
  ":",
23546
23508
  /* @__PURE__ */ $Val(void 0, None, /* @__PURE__ */ $BaseVal("Fun", /* @__PURE__ */ $Fun("PartialConstr", ":", Nil)))
@@ -23549,7 +23511,6 @@ var primitives = /* @__PURE__ */ fromFoldable110([
23549
23511
  /* @__PURE__ */ extern1(debugLog),
23550
23512
  /* @__PURE__ */ extern1(dims),
23551
23513
  /* @__PURE__ */ extern1(error_),
23552
- /* @__PURE__ */ extern1(loadJson),
23553
23514
  /* @__PURE__ */ unary2("floor")({ i: number, o: $$int, fwd: floor2 }),
23554
23515
  /* @__PURE__ */ unary2("log")({ i: intOrNumber, o: number, fwd: log3 }),
23555
23516
  /* @__PURE__ */ unary2("numToStr")({ i: intOrNumber, o: string, fwd: numToStr }),
@@ -23621,7 +23582,7 @@ var unions4 = /* @__PURE__ */ (() => {
23621
23582
  };
23622
23583
  return go(Leaf2);
23623
23584
  })();
23624
- var identity25 = (x) => x;
23585
+ var identity27 = (x) => x;
23625
23586
  var verticesProgCxtVertex = {
23626
23587
  vertices: (v) => union7(unions13(listMap(verticesValVertex.vertices)(mapObjectString.values(v.primitives))))(union7(unions4(listMap(verticesModuleVertex.vertices)(v.mods)))(unions4(listMap((x) => verticesExprVertex.vertices(x._2))(v.datasets))))
23627
23588
  };
@@ -23698,13 +23659,47 @@ var traversableProgCxt = {
23698
23659
  const traverse9 = traversableEnv.traverse(dictApplicative);
23699
23660
  return (f) => (m) => Apply0.apply(Apply0.apply(Apply0.Functor0().map((v1) => (v2) => (v3) => ({ primitives: v3, mods: v2, datasets: v1 }))(traverse5(traversableTuple.traverse(dictApplicative)(traverse7(f)))(m.datasets)))(traverse5(traverse8(f))(m.mods)))(traverse9(f)(m.primitives));
23700
23661
  },
23701
- sequence: (dictApplicative) => (v) => traversableProgCxt.traverse(dictApplicative)(identity25)(v),
23662
+ sequence: (dictApplicative) => (v) => traversableProgCxt.traverse(dictApplicative)(identity27)(v),
23702
23663
  Functor0: () => functorProgCxt,
23703
23664
  Foldable1: () => foldableProgCxt
23704
23665
  };
23705
23666
 
23706
23667
  // output-es/Module/index.js
23668
+ var all3 = /* @__PURE__ */ (() => foldableList.foldMap((() => {
23669
+ const semigroupConj1 = { append: (v) => (v1) => v && v1 };
23670
+ return { mempty: true, Semigroup0: () => semigroupConj1 };
23671
+ })()))();
23672
+ var elem2 = /* @__PURE__ */ (() => {
23673
+ const any1 = foldableList.foldMap((() => {
23674
+ const semigroupDisj1 = { append: (v) => (v1) => v || v1 };
23675
+ return { mempty: false, Semigroup0: () => semigroupDisj1 };
23676
+ })());
23677
+ return (x) => any1(($0) => x === $0);
23678
+ })();
23679
+ var fromFoldable20 = /* @__PURE__ */ (() => foldableSet.foldr(Cons)(Nil))();
23707
23680
  var boundedLattice2 = { BoundedJoinSemilattice0: () => boundedJoinSemilatticeUni, BoundedMeetSemilattice1: () => boundedMeetSemilatticeUni };
23681
+ var unions5 = /* @__PURE__ */ (() => {
23682
+ const go = (go$a0$copy) => (go$a1$copy) => {
23683
+ let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
23684
+ while (go$c) {
23685
+ const b = go$a0, v = go$a1;
23686
+ if (v.tag === "Nil") {
23687
+ go$c = false;
23688
+ go$r = b;
23689
+ continue;
23690
+ }
23691
+ if (v.tag === "Cons") {
23692
+ go$a0 = unionWith(ordDVertex$p)($$const)(b)(v._1);
23693
+ go$a1 = v._2;
23694
+ continue;
23695
+ }
23696
+ fail();
23697
+ }
23698
+ return go$r;
23699
+ };
23700
+ return go(Leaf2);
23701
+ })();
23702
+ var union8 = /* @__PURE__ */ (() => setSet(ordDVertex$p).union)();
23708
23703
  var concatM2 = (dictMonad) => foldrArray((() => {
23709
23704
  const $0 = dictMonad.Bind1();
23710
23705
  return (f) => (g) => (a) => $0.bind(f(a))(g);
@@ -23726,76 +23721,146 @@ var parse = (dictMonadError) => {
23726
23721
  };
23727
23722
  };
23728
23723
  };
23729
- var parseProgram = (dictLoadFile) => (folders) => (file) => (dictMonadAff) => (dictMonadError) => dictMonadAff.MonadEffect0().Monad0().Bind1().bind(dictLoadFile.loadFile(dictMonadError)(dictMonadAff)(folders)(file))((() => {
23730
- const $0 = parse(dictMonadError);
23731
- return (a) => $0(a)(topLevel(expr_));
23732
- })());
23733
- var module_2 = (dictMonadAff) => {
23724
+ var loadModuleGraph = (dictMonadAff) => {
23734
23725
  const Monad0 = dictMonadAff.MonadEffect0().Monad0();
23735
- const Bind1 = Monad0.Bind1();
23736
- const Applicative0 = Monad0.Applicative0();
23726
+ const $0 = Monad0.Bind1();
23727
+ const $1 = Monad0.Applicative0();
23737
23728
  return (dictMonadError) => {
23738
23729
  const parse1 = parse(dictMonadError);
23739
23730
  const desugarModuleFwd = moduleFwd(dictMonadError)(boundedLattice2);
23740
- return (dictLoadFile) => {
23741
- const loadFile = dictLoadFile.loadFile(dictMonadError)(dictMonadAff);
23742
- return (folders) => (file) => (v) => {
23743
- const $0 = v.mods;
23744
- return Bind1.bind(Applicative0.pure())(() => Bind1.bind(loadFile(folders)(file))((src) => Bind1.bind(Bind1.bind(parse1(src)(module_))(desugarModuleFwd))((mod) => Applicative0.pure({
23745
- primitives: v.primitives,
23746
- mods: $List("Cons", mod, $0),
23747
- datasets: v.datasets
23748
- }))));
23731
+ return (dictMonadReader) => {
23732
+ const ask = dictMonadReader.MonadAsk0().ask;
23733
+ return (dictLoadFile) => {
23734
+ const loadFile3 = loadFile(dictLoadFile)(Monad0)(dictMonadError)(dictMonadAff);
23735
+ return (roots) => {
23736
+ const collectModules = (visited) => (graph) => (modules) => (imports) => {
23737
+ if (imports.tag === "Nil") {
23738
+ return $1.pure($Tuple(graph, modules));
23739
+ }
23740
+ if (imports.tag === "Cons") {
23741
+ if ((() => {
23742
+ const $2 = lookup2(ordString)(imports._1)(visited);
23743
+ if ($2.tag === "Nothing") {
23744
+ return false;
23745
+ }
23746
+ if ($2.tag === "Just") {
23747
+ return true;
23748
+ }
23749
+ fail();
23750
+ })()) {
23751
+ return collectModules(visited)(graph)(modules)(imports._2);
23752
+ }
23753
+ return $0.bind($0.bind(ask)((v) => $0.bind(loadFile3(v.fluidSrcPaths)(imports._1 + ".fld"))((src) => $0.bind(parse1(src)(module_))((v1) => {
23754
+ const $2 = v1._2;
23755
+ return $0.bind(desugarModuleFwd(v1._1))((mod$p) => $1.pure($Tuple(
23756
+ mod$p,
23757
+ imports._1 === "lib/prelude" ? $2 : $List("Cons", "lib/prelude", $2)
23758
+ )));
23759
+ }))))((v) => collectModules(insert(ordString)(imports._1)()(visited))(insert(ordString)(imports._1)(v._2)(graph))(insert(ordString)(imports._1)(v._1)(modules))(foldableList.foldr(Cons)(imports._2)(v._2)));
23760
+ }
23761
+ fail();
23762
+ };
23763
+ return $0.bind(collectModules(Leaf2)(Leaf2)(Leaf2)(roots))((v) => {
23764
+ const $2 = v._1;
23765
+ return $1.pure({
23766
+ roots,
23767
+ topsorted: (() => {
23768
+ const go = (go$a0$copy) => (go$a1$copy) => {
23769
+ let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
23770
+ while (go$c) {
23771
+ const v$1 = go$a0, v1 = go$a1;
23772
+ if (v$1.tag === "Nil") {
23773
+ go$c = false;
23774
+ go$r = reverse2(v1);
23775
+ continue;
23776
+ }
23777
+ const v2 = find(foldableList)((mod) => {
23778
+ const v22 = lookup2(ordString)(mod)($2);
23779
+ if (v22.tag === "Nothing") {
23780
+ return true;
23781
+ }
23782
+ if (v22.tag === "Just") {
23783
+ return all3((dep) => !elem2(dep)(v$1))(v22._1);
23784
+ }
23785
+ fail();
23786
+ })(v$1);
23787
+ if (v2.tag === "Nothing") {
23788
+ go$c = false;
23789
+ go$r = throwException(error("Modules contain circular imports"))();
23790
+ continue;
23791
+ }
23792
+ if (v2.tag === "Just") {
23793
+ go$a0 = deleteBy(eqStringImpl)(v2._1)(v$1);
23794
+ go$a1 = $List("Cons", v2._1, v1);
23795
+ continue;
23796
+ }
23797
+ fail();
23798
+ }
23799
+ return go$r;
23800
+ };
23801
+ return go(fromFoldable20(functorMap.map((v$1) => {
23802
+ })($2)))(Nil);
23803
+ })(),
23804
+ graph: $2,
23805
+ modules: v._2
23806
+ });
23807
+ });
23808
+ };
23749
23809
  };
23750
23810
  };
23751
23811
  };
23752
23812
  };
23753
23813
  var initialConfig = (dictMonadAff) => {
23754
23814
  const Monad0 = dictMonadAff.MonadEffect0().Monad0();
23755
- const Bind1 = Monad0.Bind1();
23756
- const Applicative0 = Monad0.Applicative0();
23757
- const $0 = monadAllocAllocT(Monad0);
23758
- const fresh1 = $0.fresh;
23759
- const alloc = traversableProgCxt.traverse($0.Monad0().Applicative0())((v) => fresh1);
23760
- const $1 = bindStateT(Monad0);
23815
+ const $0 = bindStateT(Monad0);
23816
+ const $1 = monadAllocAllocT(Monad0);
23817
+ const Applicative0 = $1.Monad0().Applicative0();
23818
+ const fresh1 = $1.fresh;
23819
+ const alloc1 = traversableProgCxt.traverse(Applicative0)((v) => fresh1);
23820
+ const applicativeStateT2 = applicativeStateT(Monad0);
23821
+ const traverse1 = traversableMap.traverse(applicativeStateT2);
23822
+ const alloc2 = traversableModule.traverse(Applicative0)((v) => fresh1);
23761
23823
  const runWithGraphT_spy2 = runWithGraphT_spy({
23762
23824
  Applicative0: () => applicativeStateT(Monad0),
23763
23825
  Bind1: () => bindStateT(Monad0)
23764
23826
  })(graphGraphImpl);
23765
- const monadAffState2 = monadAffState(dictMonadAff);
23766
- const monadAffState1 = monadAffState(monadAffState2);
23767
- const $2 = monadAffState2.MonadEffect0().Monad0();
23827
+ const $2 = monadAffState(dictMonadAff).MonadEffect0().Monad0();
23768
23828
  const $3 = dictMonadAff.MonadEffect0().Monad0();
23769
23829
  return (dictMonadError) => {
23770
23830
  const eval_progCxt2 = eval_progCxt(monadWithGraphAllocWithGr(dictMonadError));
23771
23831
  return (dictMonadReader) => {
23772
- const eval_progCxt1 = eval_progCxt2(monadReaderStateT(monadReaderStateT(dictMonadReader)))(monadAffState1);
23832
+ const eval_progCxt1 = eval_progCxt2(monadReaderStateT(monadReaderStateT(dictMonadReader)));
23773
23833
  return (dictLoadFile) => {
23774
23834
  const eval_progCxt22 = eval_progCxt1((() => {
23775
- const loadFile1 = dictLoadFile.loadFile(dictMonadError)(dictMonadAff);
23835
+ const loadFileFromPath1 = dictLoadFile.loadFileFromPath(dictMonadError)(dictMonadAff);
23776
23836
  return {
23777
- loadFile: (dictMonadError1) => (dictMonadAff1) => (folders) => {
23778
- const $4 = loadFile1(folders);
23779
- return (x) => {
23780
- const $5 = $4(x);
23781
- return (s) => $2.Bind1().bind((s$1) => $3.Bind1().bind($5)((x$1) => $3.Applicative0().pure($Tuple(x$1, s$1))))((x$1) => $2.Applicative0().pure($Tuple(
23782
- x$1,
23783
- s
23784
- )));
23785
- };
23837
+ loadFileFromPath: (dictMonadError1) => (dictMonadAff1) => (x) => {
23838
+ const $4 = loadFileFromPath1(x);
23839
+ return (s) => $2.Bind1().bind((s$1) => $3.Bind1().bind($4)((x$1) => $3.Applicative0().pure($Tuple(x$1, s$1))))((x$1) => $2.Applicative0().pure($Tuple(
23840
+ x$1,
23841
+ s
23842
+ )));
23786
23843
  }
23787
23844
  };
23788
23845
  })());
23789
- return (dictFV) => (e) => (progCxt) => Bind1.bind(Applicative0.pure())(() => Bind1.bind(runAllocT(Monad0)($1.bind(alloc(progCxt))((progCxt$p) => $1.bind(runWithGraphT_spy2(eval_progCxt22(progCxt$p))(verticesProgCxtVertex.vertices(progCxt$p)))((v) => applicativeStateT(Monad0).pure($Tuple(
23846
+ return (dictFV) => (e) => (progCxt) => (moduleCxt) => Monad0.Bind1().bind(runAllocT(Monad0)($0.bind(alloc1(progCxt))((progCxt$p) => $0.bind(traverse1(alloc2)(moduleCxt.modules))((modules$p) => $0.bind(runWithGraphT_spy2(eval_progCxt22(progCxt$p)({
23847
+ modules: modules$p,
23848
+ graph: moduleCxt.graph,
23849
+ roots: moduleCxt.roots,
23850
+ topsorted: moduleCxt.topsorted
23851
+ }))(union8(verticesProgCxtVertex.vertices(progCxt$p))(unions5(listMap(verticesModuleVertex.vertices)(foldableMap.foldr(Cons)(Nil)(modules$p))))))((v) => applicativeStateT2.pure($Tuple(
23790
23852
  progCxt$p,
23791
- (() => {
23792
- const $4 = dictFV.fv(e);
23793
- return filterWithKey2((x) => {
23794
- const $5 = setSet(ordString).member(x)($4);
23795
- return (v$1) => $5;
23796
- })(v._2);
23797
- })()
23798
- )))))(0))((v) => Applicative0.pure({ n: v._1, progCxt: v._2._2._1, "\u03B3": v._2._2._2 })));
23853
+ $Tuple(
23854
+ modules$p,
23855
+ (() => {
23856
+ const $4 = dictFV.fv(e);
23857
+ return filterWithKey2((x) => {
23858
+ const $5 = setSet(ordString).member(x)($4);
23859
+ return (v$1) => $5;
23860
+ })(v._2);
23861
+ })()
23862
+ )
23863
+ ))))))(0))((v) => Monad0.Applicative0().pure({ n: v._1, progCxt: v._2._2._1, "\u03B3": v._2._2._2._2 }));
23799
23864
  };
23800
23865
  };
23801
23866
  };
@@ -23803,37 +23868,46 @@ var initialConfig = (dictMonadAff) => {
23803
23868
  var prepConfig = (dictMonadAff) => {
23804
23869
  const Monad0 = dictMonadAff.MonadEffect0().Monad0();
23805
23870
  const $0 = Monad0.Bind1();
23871
+ const loadModuleGraph1 = loadModuleGraph(dictMonadAff);
23806
23872
  const initialConfig1 = initialConfig(dictMonadAff);
23807
23873
  return (dictMonadError) => {
23874
+ const loadModuleGraph2 = loadModuleGraph1(dictMonadError);
23808
23875
  const desug1 = exprFwd(boundedLattice2)(dictMonadError)(joinSemilatticeUnit);
23809
23876
  const initialConfig2 = initialConfig1(dictMonadError);
23810
23877
  return (dictMonadReader) => {
23811
- const ask = dictMonadReader.MonadAsk0().ask;
23878
+ const loadModuleGraph3 = loadModuleGraph2(dictMonadReader);
23812
23879
  const initialConfig3 = initialConfig2(dictMonadReader);
23813
23880
  return (dictLoadFile) => {
23881
+ const loadModuleGraph4 = loadModuleGraph3(dictLoadFile);
23814
23882
  const initialConfig4 = initialConfig3(dictLoadFile)(fVExpr);
23815
- return (file) => (progCxt) => $0.bind(ask)((v) => $0.bind(parseProgram(dictLoadFile)(v.fluidSrcPaths)(file)(dictMonadAff)(dictMonadError))((s) => $0.bind(desug1(s))((e) => $0.bind(initialConfig4(e)(progCxt))((gconfig) => Monad0.Applicative0().pure({
23816
- s,
23817
- e,
23818
- gconfig
23819
- })))));
23883
+ return (progCxt) => (fluidSrc) => $0.bind(parse(dictMonadError)(fluidSrc)(withImports(expr_)))((v) => {
23884
+ const $1 = v._1;
23885
+ return $0.bind(loadModuleGraph4($List("Cons", "lib/prelude", v._2)))((moduleCxt) => $0.bind(desug1($1))((e) => $0.bind(initialConfig4(e)(progCxt)(moduleCxt))((gconfig) => Monad0.Applicative0().pure({
23886
+ s: $1,
23887
+ e,
23888
+ gconfig
23889
+ }))));
23890
+ });
23820
23891
  };
23821
23892
  };
23822
23893
  };
23823
23894
  };
23824
23895
  var datasetAs = (dictMonadAff) => {
23825
23896
  const Monad0 = dictMonadAff.MonadEffect0().Monad0();
23826
- const $0 = Monad0.Bind1();
23897
+ const Bind1 = Monad0.Bind1();
23827
23898
  return (dictMonadError) => {
23828
23899
  const desug1 = exprFwd(boundedLattice2)(dictMonadError)(joinSemilatticeUnit);
23829
- return (dictLoadFile) => (folders) => (v) => (v1) => {
23830
- const $1 = v1.datasets;
23831
- const $2 = v._1;
23832
- return $0.bind($0.bind(parseProgram(dictLoadFile)(folders)(v._2)(dictMonadAff)(dictMonadError))(desug1))((e\u03B1) => Monad0.Applicative0().pure({
23833
- primitives: v1.primitives,
23834
- mods: v1.mods,
23835
- datasets: $List("Cons", $Tuple($2, e\u03B1), $1)
23836
- }));
23900
+ return (dictLoadFile) => {
23901
+ const loadFile3 = loadFile(dictLoadFile)(Monad0)(dictMonadError)(dictMonadAff);
23902
+ return (folders) => (v) => (v1) => {
23903
+ const $0 = v1.datasets;
23904
+ const $1 = v._1;
23905
+ return Bind1.bind(loadFile3(folders)(v._2))((src) => Bind1.bind(Bind1.bind(Bind1.Apply0().Functor0().map(fst)(parse(dictMonadError)(src)(withImports(expr_))))(desug1))((e\u03B1) => Monad0.Applicative0().pure({
23906
+ primitives: v1.primitives,
23907
+ mods: v1.mods,
23908
+ datasets: $List("Cons", $Tuple($1, e\u03B1), $0)
23909
+ })));
23910
+ };
23837
23911
  };
23838
23912
  };
23839
23913
  };
@@ -23841,21 +23915,18 @@ var loadProgCxt = (dictMonadAff) => {
23841
23915
  const Monad0 = dictMonadAff.MonadEffect0().Monad0();
23842
23916
  const $0 = Monad0.Bind1();
23843
23917
  const concatM1 = concatM2(Monad0);
23844
- const module_1 = module_2(dictMonadAff);
23845
23918
  const datasetAs1 = datasetAs(dictMonadAff);
23846
23919
  return (dictMonadError) => {
23847
- const module_22 = module_1(dictMonadError);
23848
23920
  const datasetAs2 = datasetAs1(dictMonadError);
23849
23921
  return (dictMonadReader) => {
23850
23922
  const ask = dictMonadReader.MonadAsk0().ask;
23851
23923
  return (dictLoadFile) => {
23852
- const module_3 = module_22(dictLoadFile);
23853
23924
  const datasetAs3 = datasetAs2(dictLoadFile);
23854
- return (mods) => (datasets) => $0.bind(ask)((v) => $0.bind($0.bind(Monad0.Applicative0().pure({
23925
+ return (datasets) => $0.bind(ask)((v) => $0.bind(Monad0.Applicative0().pure({
23855
23926
  primitives,
23856
23927
  mods: Nil,
23857
23928
  datasets: Nil
23858
- }))(concatM1(arrayMap(module_3(v.fluidSrcPaths))(["lib/prelude", ...mods]))))(concatM1(arrayMap((() => {
23929
+ }))(concatM1(arrayMap((() => {
23859
23930
  const $1 = datasetAs3(v.fluidSrcPaths);
23860
23931
  return (x) => $1($Tuple(x._1, x._2));
23861
23932
  })())(datasets))));
@@ -23868,11 +23939,6 @@ var loadProgCxt = (dictMonadAff) => {
23868
23939
  var $Encoding = (tag) => tag;
23869
23940
  var UTF8 = /* @__PURE__ */ $Encoding("UTF8");
23870
23941
 
23871
- // output-es/Data.Nullable/foreign.js
23872
- function nullable(a, r, f) {
23873
- return a == null ? r : f(a);
23874
- }
23875
-
23876
23942
  // output-es/Node.FS.Constants/foreign.js
23877
23943
  import { constants } from "node:fs";
23878
23944
  var f_OK = constants.F_OK;
@@ -23980,47 +24046,24 @@ var toAff2 = (f) => (a) => (b) => {
23980
24046
  });
23981
24047
  };
23982
24048
 
23983
- // output-es/Foreign/foreign.js
23984
- var isArray = Array.isArray || function(value) {
23985
- return Object.prototype.toString.call(value) === "[object Array]";
23986
- };
23987
-
23988
24049
  // output-es/Node.FS.Stats/foreign.js
23989
24050
  var isFileImpl = (s) => s.isFile();
23990
24051
 
23991
24052
  // output-es/Module.Node/index.js
23992
24053
  var $$try3 = /* @__PURE__ */ $$try(monadErrorAff);
23993
- var findM = (dictMonad) => {
23994
- const $0 = dictMonad.Bind1().Apply0();
23995
- return (dictFoldable) => (xs) => (f) => (base) => dictFoldable.foldr((x) => (acc) => $0.apply($0.Functor0().map(altMaybe.alt)(acc))(f(x)))(dictMonad.Applicative0().pure(base))(xs);
23996
- };
23997
24054
  var loadFileNodeT = (dictMonad) => {
23998
- const bind4 = bindReaderT(dictMonad.Bind1()).bind;
23999
- const $0 = dictMonad.Applicative0();
24000
- const findM1 = findM(monadReaderT(dictMonad))(foldableArray);
24055
+ const Bind1 = dictMonad.Bind1();
24056
+ const $0 = Bind1.Apply0().Functor0();
24057
+ const $1 = dictMonad.Applicative0();
24001
24058
  return {
24002
- loadFile: (dictMonadError) => (dictMonadAff) => (folders) => (v) => bind4(findM1(arrayMap((() => {
24003
- const $1 = v + ".fld";
24004
- return (a) => a + "/" + $1;
24005
- })())(folders))((v1) => bind4(dictMonadAff.liftAff($$try3(toAff1(stat2)(v1))))((stats) => {
24006
- const $1 = $0.pure((() => {
24007
- if (stats.tag === "Left") {
24008
- return false;
24009
- }
24010
- if (stats.tag === "Right") {
24011
- return isFileImpl(stats._1);
24012
- }
24013
- fail();
24014
- })() ? $Maybe("Just", v1) : Nothing);
24015
- return (v$1) => $1;
24016
- }))(Nothing))((url) => {
24017
- if (url.tag === "Nothing") {
24018
- return throwException(error("File " + v + " not found."))();
24019
- }
24020
- if (url.tag === "Just") {
24021
- return dictMonadAff.liftAff(toAff2(readTextFile)(UTF8)(url._1));
24022
- }
24023
- fail();
24059
+ loadFileFromPath: (dictMonadError) => (dictMonadAff) => (v) => bindReaderT(Bind1).bind(dictMonadAff.liftAff($$try3(toAff1(stat2)(v))))((stats) => {
24060
+ if (stats.tag === "Right" && isFileImpl(stats._1)) {
24061
+ const $22 = $0.map(Just);
24062
+ const $3 = dictMonadAff.liftAff(toAff2(readTextFile)(UTF8)(v));
24063
+ return (x) => $22($3(x));
24064
+ }
24065
+ const $2 = $1.pure(Nothing);
24066
+ return (v$1) => $2;
24024
24067
  })
24025
24068
  };
24026
24069
  };
@@ -24808,7 +24851,7 @@ var manyM = (p) => freeMonadRec.tailRecM((acc) => $Free(
24808
24851
  var $DefaultProp = (_1, _2) => ({ tag: "DefaultProp", _1, _2 });
24809
24852
  var $Mod = (_1, _2, _3) => ({ tag: "Mod", _1, _2, _3 });
24810
24853
  var lookup4 = /* @__PURE__ */ lookup(foldableArray)(eqString);
24811
- var identity26 = (x) => x;
24854
+ var identity28 = (x) => x;
24812
24855
  var Mod = (value0) => (value1) => (value2) => $Mod(value0, value1, value2);
24813
24856
  var optionFieldsHasName = { name: (n) => (fields) => ({ optNames: [n, ...fields.optNames], optCompleter: fields.optCompleter, optNoArgError: fields.optNoArgError }) };
24814
24857
  var mkCommand = (m) => {
@@ -24819,8 +24862,8 @@ var mkCommand = (m) => {
24819
24862
  var modSemigroup = {
24820
24863
  append: (v) => (v1) => $Mod((x) => v1._1(v._1(x)), $DefaultProp(v1._2._1.tag === "Nothing" ? v._2._1 : v1._2._1, v1._2._2.tag === "Nothing" ? v._2._2 : v1._2._2), (x) => v1._3(v._3(x)))
24821
24864
  };
24822
- var modMonoid = { mempty: /* @__PURE__ */ $Mod(identity26, /* @__PURE__ */ $DefaultProp(Nothing, Nothing), identity26), Semigroup0: () => modSemigroup };
24823
- var optionMod = /* @__PURE__ */ Mod(identity26)(/* @__PURE__ */ $DefaultProp(Nothing, Nothing));
24865
+ var modMonoid = { mempty: /* @__PURE__ */ $Mod(identity28, /* @__PURE__ */ $DefaultProp(Nothing, Nothing), identity28), Semigroup0: () => modSemigroup };
24866
+ var optionMod = /* @__PURE__ */ Mod(identity28)(/* @__PURE__ */ $DefaultProp(Nothing, Nothing));
24824
24867
  var internal = /* @__PURE__ */ optionMod((p) => ({ propVisibility: Internal, propDescMod: p.propDescMod, propHelp: p.propHelp, propMetaVar: p.propMetaVar, propShowDefault: p.propShowDefault }));
24825
24868
  var baseProps = /* @__PURE__ */ (() => ({
24826
24869
  propMetaVar: "",
@@ -24851,7 +24894,7 @@ var mkParser = (v) => (g) => (rdr) => {
24851
24894
  };
24852
24895
 
24853
24896
  // output-es/Options.Applicative.Builder/index.js
24854
- var identity27 = (x) => x;
24897
+ var identity29 = (x) => x;
24855
24898
  var mempty12 = /* @__PURE__ */ (() => chunkMonoid(docSemigroup).mempty)();
24856
24899
  var min3 = (x) => (y) => {
24857
24900
  const v = optVisibilityOrd.compare(x)(y);
@@ -24951,19 +24994,19 @@ var defaultPrefs = {
24951
24994
  var command = (cmd) => (pinfo) => $Mod(
24952
24995
  (p) => ({ cmdCommands: [$Tuple(cmd, pinfo), ...p.cmdCommands], cmdGroup: p.cmdGroup }),
24953
24996
  $DefaultProp(Nothing, Nothing),
24954
- identity26
24997
+ identity28
24955
24998
  );
24956
24999
  var abortOption = (err) => (m) => {
24957
25000
  const $0 = fold3([
24958
25001
  $Mod(
24959
25002
  (p) => ({ optNoArgError: (v) => err, optCompleter: p.optCompleter, optNames: p.optNames }),
24960
25003
  $DefaultProp(Nothing, Nothing),
24961
- identity26
25004
+ identity28
24962
25005
  ),
24963
25006
  $Mod(
24964
- identity27,
24965
- $DefaultProp($Maybe("Just", identity27), Nothing),
24966
- identity27
25007
+ identity29,
25008
+ $DefaultProp($Maybe("Just", identity29), Nothing),
25009
+ identity29
24967
25010
  ),
24968
25011
  optionMod((p) => ({ propMetaVar: "", propDescMod: p.propDescMod, propHelp: p.propHelp, propShowDefault: p.propShowDefault, propVisibility: p.propVisibility }))
24969
25012
  ]);
@@ -25043,7 +25086,7 @@ var modify_ = /* @__PURE__ */ (() => {
25043
25086
  return (f) => $0.state((s) => $Tuple(void 0, f(s)));
25044
25087
  })();
25045
25088
  var throwError = /* @__PURE__ */ (() => monadThrowExceptT(monadStateT).throwError)();
25046
- var identity28 = (x) => x;
25089
+ var identity30 = (x) => x;
25047
25090
  var TNil = /* @__PURE__ */ $TStep("TNil");
25048
25091
  var ComplResult = (value0) => $ComplResult("ComplResult", value0);
25049
25092
  var runListT = (dictMonad) => (xs) => dictMonad.Bind1().bind(xs)((s) => {
@@ -25294,10 +25337,10 @@ var nondetTAltOp = (dictMonad) => {
25294
25337
  const monadStateT1 = { Applicative0: () => applicativeStateT(dictMonad), Bind1: () => bindStateT(dictMonad) };
25295
25338
  const listTBind1 = listTBind(monadStateT1);
25296
25339
  const lift6 = listTMonadTrans.lift(monadStateT1);
25297
- const $$get2 = monadStateStateT(dictMonad).state((s) => $Tuple(s, s));
25340
+ const $$get3 = monadStateStateT(dictMonad).state((s) => $Tuple(s, s));
25298
25341
  const $0 = listTAlternative(monadStateT1);
25299
25342
  const empty3 = $0.Plus1().empty;
25300
- return (m1) => (m2) => listTAlt(monadStateT1).alt(m1)(listTBind1.bind(lift6($$get2))((s) => listTBind1.bind(!s ? $0.Applicative0().pure() : empty3)(() => m2)));
25343
+ return (m1) => (m2) => listTAlt(monadStateT1).alt(m1)(listTBind1.bind(lift6($$get3))((s) => listTBind1.bind(!s ? $0.Applicative0().pure() : empty3)(() => m2)));
25301
25344
  };
25302
25345
  var nondetTFunctor = (dictMonad) => ({ map: (f) => listTFunctor({ Applicative0: () => applicativeStateT(dictMonad), Bind1: () => bindStateT(dictMonad) }).map(f) });
25303
25346
  var nondetTAlt = (dictMonad) => {
@@ -25341,7 +25384,7 @@ var takeListT = (dictMonad) => {
25341
25384
  if (v === 0) {
25342
25385
  return (v$1) => empty3;
25343
25386
  }
25344
- const $0 = bimapTStep(identity28)(takeListT(dictMonad)(v - 1 | 0));
25387
+ const $0 = bimapTStep(identity30)(takeListT(dictMonad)(v - 1 | 0));
25345
25388
  return (x) => dictMonad.Bind1().bind(x)((a$p) => dictMonad.Applicative0().pure($0(a$p)));
25346
25389
  };
25347
25390
  };
@@ -25360,7 +25403,7 @@ var any2 = /* @__PURE__ */ (() => foldableArray.foldMap((() => {
25360
25403
  const semigroupDisj1 = { append: (v) => (v1) => v || v1 };
25361
25404
  return { mempty: false, Semigroup0: () => semigroupDisj1 };
25362
25405
  })()))();
25363
- var elem2 = /* @__PURE__ */ (() => {
25406
+ var elem3 = /* @__PURE__ */ (() => {
25364
25407
  const any1 = foldableArray.foldMap((() => {
25365
25408
  const semigroupDisj1 = { append: (v) => (v1) => v || v1 };
25366
25409
  return { mempty: false, Semigroup0: () => semigroupDisj1 };
@@ -25469,16 +25512,16 @@ var optMatches = (dictMonadP) => {
25469
25512
  const Monad0 = dictMonadP.Monad0();
25470
25513
  const bindStateT2 = bindStateT(Monad0);
25471
25514
  const monadStateStateT2 = monadStateStateT(Monad0);
25472
- const $$get2 = monadStateStateT2.state((s) => $Tuple(s, s));
25515
+ const $$get3 = monadStateStateT2.state((s) => $Tuple(s, s));
25473
25516
  const $0 = applicativeStateT(Monad0);
25474
25517
  const $1 = dictMonadP.Monad0().Applicative0().pure;
25475
25518
  return (disambiguate) => (opt) => (v) => {
25476
25519
  if (opt.tag === "OptReader") {
25477
- const $2 = (disambiguate ? any2(isOptionPrefix(v._1))(opt._1) : elem2(v._1)(opt._1)) ? $Maybe("Just", void 0) : Nothing;
25520
+ const $2 = (disambiguate ? any2(isOptionPrefix(v._1))(opt._1) : elem3(v._1)(opt._1)) ? $Maybe("Just", void 0) : Nothing;
25478
25521
  if ($2.tag === "Just") {
25479
25522
  return $Maybe(
25480
25523
  "Just",
25481
- bindStateT2.bind($$get2)((args) => {
25524
+ bindStateT2.bind($$get3)((args) => {
25482
25525
  const missing_arg = dictMonadP.missingArgP(opt._3(showOption(v._1)))(opt._2.crCompleter);
25483
25526
  return bindStateT2.bind((() => {
25484
25527
  if (v._2.tag === "Nothing") {
@@ -25518,7 +25561,7 @@ var optMatches = (dictMonadP) => {
25518
25561
  }
25519
25562
  fail();
25520
25563
  }
25521
- if (opt.tag === "FlagReader" && (disambiguate ? any2(isOptionPrefix(v._1))(opt._1) : elem2(v._1)(opt._1)) && ((() => {
25564
+ if (opt.tag === "FlagReader" && (disambiguate ? any2(isOptionPrefix(v._1))(opt._1) : elem3(v._1)(opt._1)) && ((() => {
25522
25565
  if (v._1.tag === "OptShort") {
25523
25566
  return true;
25524
25567
  }
@@ -25537,7 +25580,7 @@ var optMatches = (dictMonadP) => {
25537
25580
  })())) {
25538
25581
  return $Maybe(
25539
25582
  "Just",
25540
- bindStateT2.bind($$get2)((args) => bindStateT2.bind((() => {
25583
+ bindStateT2.bind($$get3)((args) => bindStateT2.bind((() => {
25541
25584
  if (v._2.tag === "Just") {
25542
25585
  const $2 = $List("Cons", fromCharArray(["-", ...toCharArray(v._2._1)]), args);
25543
25586
  return monadStateStateT2.state((v$1) => $Tuple(void 0, $2));
@@ -25687,7 +25730,7 @@ var searchArg = (dictMonadP) => {
25687
25730
  const bindStateT2 = bindStateT(Monad0);
25688
25731
  const $1 = applyStateT(Monad0);
25689
25732
  const monadStateStateT2 = monadStateStateT(Monad0);
25690
- const $$get2 = monadStateStateT2.state((s) => $Tuple(s, s));
25733
+ const $$get3 = monadStateStateT2.state((s) => $Tuple(s, s));
25691
25734
  const $2 = dictMonadP.Alt1().Functor0();
25692
25735
  const Apply0 = Monad0.Bind1().Apply0();
25693
25736
  const exitContext = dictMonadP.exitContext;
@@ -25700,7 +25743,7 @@ var searchArg = (dictMonadP) => {
25700
25743
  if ($5.tag === "Just") {
25701
25744
  if (prefs.prefBacktrack === "NoBacktrack") {
25702
25745
  const $6 = $5._1;
25703
- return lift2(bindStateT2.bind($1.apply($1.Functor0().map($$const)($$get2))(monadStateStateT2.state((v) => $Tuple(void 0, Nil))))((args) => {
25746
+ return lift2(bindStateT2.bind($1.apply($1.Functor0().map($$const)($$get3))(monadStateStateT2.state((v) => $Tuple(void 0, Nil))))((args) => {
25704
25747
  const $7 = Apply0.apply(Apply0.Functor0().map($$const)(Apply0.apply(Apply0.Functor0().map((v) => identity)(dictMonadP.enterContext(arg)($6)))(runParserInfo(dictMonadP)($6)(args))))(exitContext);
25705
25748
  return (s) => $2.map((v1) => $Tuple($Parser("NilP", v1._1), v1._2))(Monad0.Bind1().bind($7)((x) => Monad0.Applicative0().pure($Tuple(
25706
25749
  x,
@@ -25916,7 +25959,7 @@ var mapParser = (f) => {
25916
25959
  // output-es/Options.Applicative.BashCompletion/index.js
25917
25960
  var $Richness = (tag, _1, _2) => ({ tag, _1, _2 });
25918
25961
  var fromFoldable24 = /* @__PURE__ */ foldrArray(Cons)(Nil);
25919
- var identity29 = (x) => x;
25962
+ var identity31 = (x) => x;
25920
25963
  var fold4 = /* @__PURE__ */ (() => foldableArray.foldMap(monoidArray)(identity3))();
25921
25964
  var sequence = /* @__PURE__ */ (() => traversableArray.traverse(applicativeEffect)(identity4))();
25922
25965
  var unLines = (xs) => foldlArray((v) => (v1) => {
@@ -25925,7 +25968,7 @@ var unLines = (xs) => foldlArray((v) => (v1) => {
25925
25968
  }
25926
25969
  return { init: false, acc: v.acc + "\n" + v1 };
25927
25970
  })({ init: true, acc: "" })(xs).acc;
25928
- var fromFoldable111 = /* @__PURE__ */ (() => fromFoldableImpl(foldableList.foldr))();
25971
+ var fromFoldable110 = /* @__PURE__ */ (() => fromFoldableImpl(foldableList.foldr))();
25929
25972
  var Standard = /* @__PURE__ */ $Richness("Standard");
25930
25973
  var Enriched = (value0) => (value1) => $Richness("Enriched", value0, value1);
25931
25974
  var zshCompletionScript = (prog) => (progn) => {
@@ -26029,7 +26072,7 @@ var bashCompletionQuery = (pinfo) => (pprefs) => (richness) => (ws) => (i) => (v
26029
26072
  const $0 = arrayMap(showOption);
26030
26073
  const add_opt_help1 = (opt) => {
26031
26074
  if (richness.tag === "Standard") {
26032
- return identity29;
26075
+ return identity31;
26033
26076
  }
26034
26077
  if (richness.tag === "Enriched") {
26035
26078
  const $1 = richness._1;
@@ -26102,7 +26145,7 @@ var bashCompletionQuery = (pinfo) => (pprefs) => (richness) => (ws) => (i) => (v
26102
26145
  }
26103
26146
  const $22 = (() => {
26104
26147
  if (richness.tag === "Standard") {
26105
- return identity29;
26148
+ return identity31;
26106
26149
  }
26107
26150
  if (richness.tag === "Enriched") {
26108
26151
  const $23 = richness._2;
@@ -26238,7 +26281,7 @@ var bashCompletionParser = (pinfo) => (pprefs) => $Parser(
26238
26281
  ),
26239
26282
  $Parser("NilP", Standard)
26240
26283
  )),
26241
- parserFunctor.map(fromFoldable111)($Parser(
26284
+ parserFunctor.map(fromFoldable110)($Parser(
26242
26285
  "BindP",
26243
26286
  manyM(option(readerAsk)($Mod(
26244
26287
  (x) => internal._1({
@@ -26383,7 +26426,7 @@ var helpText = (v) => {
26383
26426
  var fold5 = /* @__PURE__ */ (() => foldableArray.foldMap(monoidArray)(identity3))();
26384
26427
  var chunkMonoid3 = /* @__PURE__ */ chunkMonoid(docSemigroup);
26385
26428
  var listToChunk2 = /* @__PURE__ */ listToChunk(docMonoid);
26386
- var identity30 = (x) => x;
26429
+ var identity32 = (x) => x;
26387
26430
  var mempty2 = /* @__PURE__ */ (() => $Tuple(monoidMaybe(semigroupString).mempty, chunkMonoid3.mempty))();
26388
26431
  var usageHelp = (chunk) => ({
26389
26432
  helpUsage: chunk,
@@ -26423,7 +26466,7 @@ var optDesc = (pprefs) => (style) => (info2) => (opt) => {
26423
26466
  })()));
26424
26467
  return (() => {
26425
26468
  if (opt.optProps.propDescMod.tag === "Nothing") {
26426
- return identity30;
26469
+ return identity32;
26427
26470
  }
26428
26471
  if (opt.optProps.propDescMod.tag === "Just") {
26429
26472
  return functorMaybe.map(opt.optProps.propDescMod._1);
@@ -27103,12 +27146,12 @@ var helper = /* @__PURE__ */ (() => abortOption(ShowHelpText)(foldableArray.fold
27103
27146
  $Mod(
27104
27147
  optionFieldsHasName.name($OptName("OptLong", "help")),
27105
27148
  $DefaultProp(Nothing, Nothing),
27106
- identity26
27149
+ identity28
27107
27150
  ),
27108
27151
  $Mod(
27109
27152
  optionFieldsHasName.name($OptName("OptShort", "h")),
27110
27153
  $DefaultProp(Nothing, Nothing),
27111
- identity26
27154
+ identity28
27112
27155
  ),
27113
27156
  help("Show this help text"),
27114
27157
  hidden
@@ -27194,9 +27237,9 @@ var monadErrorErrorNodeT = /* @__PURE__ */ monadErrorReaderT(monadErrorAff);
27194
27237
  var monadReaderFileCxtNodeT = /* @__PURE__ */ monadReaderReaderT(monadAff);
27195
27238
  var loadFileNodeT2 = /* @__PURE__ */ loadFileNodeT(monadAff);
27196
27239
  var loadProgCxt2 = /* @__PURE__ */ loadProgCxt(monadAffNodeT)(monadErrorErrorNodeT)(monadReaderFileCxtNodeT)(loadFileNodeT2);
27240
+ var loadFile2 = /* @__PURE__ */ loadFile(loadFileNodeT2)(/* @__PURE__ */ monadReaderT(monadAff))(monadErrorErrorNodeT)(monadAffNodeT);
27197
27241
  var prepConfig2 = /* @__PURE__ */ prepConfig(monadAffNodeT)(monadErrorErrorNodeT)(monadReaderFileCxtNodeT)(loadFileNodeT2);
27198
27242
  var graphEval2 = /* @__PURE__ */ graphEval(monadAffNodeT)(monadReaderFileCxtNodeT)(loadFileNodeT2)(monadErrorErrorNodeT);
27199
- var fromFoldable26 = /* @__PURE__ */ (() => fromFoldableImpl(foldableList.foldr))();
27200
27243
  var Evaluate = (value0) => $Command(value0);
27201
27244
  var parseLocal = /* @__PURE__ */ $Parser(
27202
27245
  "AltP",
@@ -27215,30 +27258,14 @@ var parseLocal = /* @__PURE__ */ $Parser(
27215
27258
  })()),
27216
27259
  /* @__PURE__ */ $Parser("NilP", false)
27217
27260
  );
27218
- var parseImports = /* @__PURE__ */ $Parser(
27219
- "BindP",
27220
- /* @__PURE__ */ manyM(/* @__PURE__ */ option(readerAsk)(/* @__PURE__ */ (() => {
27221
- const $0 = help("Comma-separated list of files to import");
27222
- const $1 = $0._2._1.tag === "Nothing" ? Nothing : $0._2._1;
27223
- const $2 = $0._2._2.tag === "Nothing" ? Nothing : $0._2._2;
27224
- return $Mod(
27225
- (x) => $0._1({
27226
- optNames: [$OptName("OptShort", "i"), $OptName("OptLong", "imports"), ...x.optNames],
27227
- optCompleter: x.optCompleter,
27228
- optNoArgError: x.optNoArgError
27229
- }),
27230
- $DefaultProp($1.tag === "Nothing" ? Nothing : $1, $2.tag === "Nothing" ? Nothing : $2),
27231
- (x) => $0._3(x)
27232
- );
27233
- })()))
27234
- );
27235
27261
  var evaluate = (v) => {
27236
27262
  const $0 = v._1.fileName;
27237
- return bind3(loadProgCxt2(v._1.imports)(v._1.datasets))((progCxt) => bind3(prepConfig2($0)(progCxt))((v1) => bind3(graphEval2(v1.gconfig)(v1.e))((v2) => {
27263
+ const fluidSrcPaths = [v._1.fluidSrcPath, ...v._1.local ? ["node_modules/@explorable-viz/fluid/dist/fluid/fluid"] : []];
27264
+ return bind3(loadProgCxt2(v._1.datasets))((progCxt) => bind3(loadFile2(fluidSrcPaths)($0))((fluidSrc) => bind3(prepConfig2(progCxt)(fluidSrc))((v1) => bind3(graphEval2(v1.gconfig)(v1.e))((v2) => {
27238
27265
  const $1 = _pure(functorVal.map((v$1) => {
27239
27266
  })(v2["out\u03B1"]));
27240
27267
  return (v$1) => $1;
27241
- })))({ fluidSrcPaths: [v._1.fluidSrcPath, ...v._1.local ? ["node_modules/@explorable-viz/fluid/dist/fluid/fluid"] : []] });
27268
+ }))))({ fluidSrcPaths });
27242
27269
  };
27243
27270
  var dispatchCommand = (v) => _bind(evaluate(v._1))((v1) => _liftEffect(log(intercalate4("\n")(removeDocWS(prettyVal(highlightableUnit).pretty(v1)).lines))));
27244
27271
  var callback = (v) => {
@@ -27303,14 +27330,8 @@ var parseEvaluate = /* @__PURE__ */ (() => $Parser(
27303
27330
  $Parser(
27304
27331
  "MultP",
27305
27332
  $MultPE(
27306
- $Parser(
27307
- "MultP",
27308
- $MultPE(
27309
- parserFunctor.map((v) => (v1) => (v2) => (v3) => (v4) => $EvalArgs({ local: v, imports: v1, datasets: v2, fileName: v3, fluidSrcPath: v4 }))(parseLocal),
27310
- parserFunctor.map(fromFoldable26)(parseImports)
27311
- )
27312
- ),
27313
- parserFunctor.map(fromFoldable26)(parseDatasets)
27333
+ parserFunctor.map((v) => (v1) => (v2) => (v3) => $EvalArgs({ local: v, datasets: v1, fileName: v2, fluidSrcPath: v3 }))(parseLocal),
27334
+ parserFunctor.map(fromFoldableImpl(foldableList.foldr))(parseDatasets)
27314
27335
  )
27315
27336
  ),
27316
27337
  option(readerAsk)((() => {