@explorable-viz/fluid 0.7.106 → 0.8.1

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.
@@ -326,15 +326,6 @@ var applyEither = {
326
326
  Functor0: () => functorEither
327
327
  };
328
328
  var applicativeEither = { pure: Right, Apply0: () => applyEither };
329
- var altEither = {
330
- alt: (v) => (v1) => {
331
- if (v.tag === "Left") {
332
- return v1;
333
- }
334
- return v;
335
- },
336
- Functor0: () => functorEither
337
- };
338
329
 
339
330
  // output-es/Effect/foreign.js
340
331
  var pureE = function(a) {
@@ -800,6 +791,12 @@ var foldrDefault = (dictFoldable) => {
800
791
  const foldMap22 = dictFoldable.foldMap(monoidEndo);
801
792
  return (c) => (u) => (xs) => foldMap22((x2) => c(x2))(xs)(u);
802
793
  };
794
+ var find = (dictFoldable) => (p) => dictFoldable.foldl((v) => (v1) => {
795
+ if (v.tag === "Nothing" && p(v1)) {
796
+ return $Maybe("Just", v1);
797
+ }
798
+ return v;
799
+ })(Nothing);
803
800
 
804
801
  // output-es/Unsafe.Coerce/foreign.js
805
802
  var unsafeCoerce = function(x2) {
@@ -1167,6 +1164,7 @@ var nubBy = (comp) => (xs) => {
1167
1164
  }
1168
1165
  fail();
1169
1166
  };
1167
+ 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)));
1170
1168
  var findIndex = /* @__PURE__ */ findIndexImpl(Just)(Nothing);
1171
1169
  var notElem = (dictEq) => (a) => (arr) => {
1172
1170
  const $0 = findIndex((v) => dictEq.eq(v)(a))(arr);
@@ -1384,11 +1382,11 @@ var fromFoldable = (dictFoldable) => {
1384
1382
  return s;
1385
1383
  };
1386
1384
  };
1387
- var foldM = (dictMonad) => {
1385
+ var foldM2 = (dictMonad) => {
1388
1386
  const bind1 = dictMonad.Bind1().bind;
1389
1387
  return (f) => (z) => _foldM(bind1)(f)(dictMonad.Applicative0().pure(z));
1390
1388
  };
1391
- var foldM1 = /* @__PURE__ */ foldM(monadST);
1389
+ var foldM1 = /* @__PURE__ */ foldM2(monadST);
1392
1390
  var union = (m) => mutate((s) => foldM1((s$p) => (k) => (v) => () => {
1393
1391
  s$p[k] = v;
1394
1392
  return s$p;
@@ -1851,7 +1849,7 @@ var foldableNonEmptyList = {
1851
1849
  };
1852
1850
  var semigroupNonEmptyList = { append: (v) => (as$p) => $NonEmpty(v._1, foldableList.foldr(Cons)($List("Cons", as$p._1, as$p._2))(v._2)) };
1853
1851
  var showList = (dictShow) => {
1854
- const show4 = dictShow.show;
1852
+ const show5 = dictShow.show;
1855
1853
  return {
1856
1854
  show: (v) => {
1857
1855
  if (v.tag === "Nil") {
@@ -1875,7 +1873,7 @@ var showList = (dictShow) => {
1875
1873
  }
1876
1874
  return go$r;
1877
1875
  };
1878
- return "(" + go({ init: true, acc: "" })(listMap(show4)(v)).acc + " : Nil)";
1876
+ return "(" + go({ init: true, acc: "" })(listMap(show5)(v)).acc + " : Nil)";
1879
1877
  }
1880
1878
  };
1881
1879
  };
@@ -4206,10 +4204,10 @@ function childMatcher(selector) {
4206
4204
  }
4207
4205
 
4208
4206
  // node_modules/d3-selection/src/selection/selectChild.js
4209
- var find = Array.prototype.find;
4207
+ var find2 = Array.prototype.find;
4210
4208
  function childFind(match4) {
4211
4209
  return function() {
4212
- return find.call(this.children, match4);
4210
+ return find2.call(this.children, match4);
4213
4211
  };
4214
4212
  }
4215
4213
  function childFirst() {
@@ -14831,7 +14829,7 @@ var ViewState = class {
14831
14829
  return;
14832
14830
  }
14833
14831
  }
14834
- let gap = find2(current, (gap2) => gap2.from >= line2.from && gap2.to <= line2.to && Math.abs(gap2.from - from) < halfMargin && Math.abs(gap2.to - to) < halfMargin && !avoid.some((pos) => gap2.from < pos && gap2.to > pos));
14832
+ let gap = find3(current, (gap2) => gap2.from >= line2.from && gap2.to <= line2.to && Math.abs(gap2.from - from) < halfMargin && Math.abs(gap2.to - to) < halfMargin && !avoid.some((pos) => gap2.from < pos && gap2.to > pos));
14835
14833
  if (!gap) {
14836
14834
  if (to < line2.to && mayMeasure && wrapping && mayMeasure.visibleRanges.some((r) => r.from <= to && r.to >= to)) {
14837
14835
  let lineStart = mayMeasure.moveToLineBoundary(EditorSelection.cursor(to), false, true).head;
@@ -14982,7 +14980,7 @@ function findFraction(structure, pos) {
14982
14980
  }
14983
14981
  return counted / structure.total;
14984
14982
  }
14985
- function find2(array2, f) {
14983
+ function find3(array2, f) {
14986
14984
  for (let val of array2)
14987
14985
  if (f(val))
14988
14986
  return val;
@@ -18250,10 +18248,10 @@ function tagHighlighter(tags2, options) {
18250
18248
  for (let tag of style.tag)
18251
18249
  map3[tag.id] = style.class;
18252
18250
  }
18253
- let { scope, all: all3 = null } = options || {};
18251
+ let { scope, all: all4 = null } = options || {};
18254
18252
  return {
18255
18253
  style: (tags3) => {
18256
- let cls = all3;
18254
+ let cls = all4;
18257
18255
  for (let tag of tags3) {
18258
18256
  for (let sub of tag.set) {
18259
18257
  let tagClass = map3[sub.id];
@@ -19008,14 +19006,14 @@ var HighlightStyle = class {
19008
19006
  (modSpec || (modSpec = /* @__PURE__ */ Object.create(null)))["." + cls] = spec;
19009
19007
  return cls;
19010
19008
  }
19011
- const all3 = typeof options.all == "string" ? options.all : options.all ? def(options.all) : void 0;
19009
+ const all4 = typeof options.all == "string" ? options.all : options.all ? def(options.all) : void 0;
19012
19010
  const scopeOpt = options.scope;
19013
19011
  this.scope = scopeOpt instanceof Language ? (type2) => type2.prop(languageDataProp) == scopeOpt.data : scopeOpt ? (type2) => type2 == scopeOpt : void 0;
19014
19012
  this.style = tagHighlighter(specs.map((style) => ({
19015
19013
  tag: style.tag,
19016
19014
  class: style.class || def(Object.assign({}, style, { tag: null }))
19017
19015
  })), {
19018
- all: all3
19016
+ all: all4
19019
19017
  }).style;
19020
19018
  this.module = modSpec ? new StyleModule(modSpec) : null;
19021
19019
  this.themeType = options.themeType;
@@ -20632,6 +20630,16 @@ var groupBy = (v) => (v1) => {
20632
20630
  }
20633
20631
  fail();
20634
20632
  };
20633
+ var foldM3 = (dictMonad) => (v) => (v1) => (v2) => {
20634
+ if (v2.tag === "Nil") {
20635
+ return dictMonad.Applicative0().pure(v1);
20636
+ }
20637
+ if (v2.tag === "Cons") {
20638
+ const $0 = v2._2;
20639
+ return dictMonad.Bind1().bind(v(v1)(v2._1))((b$p) => foldM3(dictMonad)(v)(b$p)($0));
20640
+ }
20641
+ fail();
20642
+ };
20635
20643
  var drop2 = (drop$a0$copy) => (drop$a1$copy) => {
20636
20644
  let drop$a0 = drop$a0$copy, drop$a1 = drop$a1$copy, drop$c = true, drop$r;
20637
20645
  while (drop$c) {
@@ -20805,7 +20813,10 @@ var filter3 = (p) => {
20805
20813
  var $KickUp = (_1, _2, _3, _4) => ({ tag: "KickUp", _1, _2, _3, _4 });
20806
20814
  var $$$Map = (tag, _1, _2, _3, _4, _5, _6, _7) => ({ tag, _1, _2, _3, _4, _5, _6, _7 });
20807
20815
  var $TreeContext = (tag, _1, _2, _3, _4, _5, _6) => ({ tag, _1, _2, _3, _4, _5, _6 });
20816
+ var identity15 = (x2) => x2;
20808
20817
  var Leaf2 = /* @__PURE__ */ $$$Map("Leaf");
20818
+ var Two = (value0) => (value1) => (value2) => (value3) => $$$Map("Two", value0, value1, value2, value3);
20819
+ var Three = (value0) => (value1) => (value2) => (value3) => (value4) => (value5) => (value6) => $$$Map("Three", value0, value1, value2, value3, value4, value5, value6);
20809
20820
  var size2 = (v) => {
20810
20821
  if (v.tag === "Leaf") {
20811
20822
  return 0;
@@ -20924,6 +20935,20 @@ var lookup2 = (dictOrd) => (k) => {
20924
20935
  };
20925
20936
  return go;
20926
20937
  };
20938
+ var functorMap = {
20939
+ map: (v) => (v1) => {
20940
+ if (v1.tag === "Leaf") {
20941
+ return Leaf2;
20942
+ }
20943
+ if (v1.tag === "Two") {
20944
+ return $$$Map("Two", functorMap.map(v)(v1._1), v1._2, v(v1._3), functorMap.map(v)(v1._4));
20945
+ }
20946
+ if (v1.tag === "Three") {
20947
+ 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));
20948
+ }
20949
+ fail();
20950
+ }
20951
+ };
20927
20952
  var fromZipper = (fromZipper$a0$copy) => (fromZipper$a1$copy) => (fromZipper$a2$copy) => {
20928
20953
  let fromZipper$a0 = fromZipper$a0$copy, fromZipper$a1 = fromZipper$a1$copy, fromZipper$a2 = fromZipper$a2$copy, fromZipper$c = true, fromZipper$r;
20929
20954
  while (fromZipper$c) {
@@ -21710,6 +21735,27 @@ var foldableWithIndexMap = {
21710
21735
  },
21711
21736
  Foldable0: () => foldableMap
21712
21737
  };
21738
+ var traversableMap = {
21739
+ traverse: (dictApplicative) => {
21740
+ const Apply0 = dictApplicative.Apply0();
21741
+ const $0 = Apply0.Functor0();
21742
+ return (v) => (v1) => {
21743
+ if (v1.tag === "Leaf") {
21744
+ return dictApplicative.pure(Leaf2);
21745
+ }
21746
+ if (v1.tag === "Two") {
21747
+ 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));
21748
+ }
21749
+ if (v1.tag === "Three") {
21750
+ 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));
21751
+ }
21752
+ fail();
21753
+ };
21754
+ },
21755
+ sequence: (dictApplicative) => traversableMap.traverse(dictApplicative)(identity15),
21756
+ Functor0: () => functorMap,
21757
+ Foldable1: () => foldableMap
21758
+ };
21713
21759
  var findMin = /* @__PURE__ */ (() => {
21714
21760
  const go = (go$a0$copy) => (go$a1$copy) => {
21715
21761
  let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
@@ -22152,7 +22198,7 @@ var intercalate3 = (sep) => (xs) => {
22152
22198
  };
22153
22199
  return go({ init: true, acc: Nil })(xs).acc;
22154
22200
  };
22155
- var identity17 = (x2) => x2;
22201
+ var identity18 = (x2) => x2;
22156
22202
  var isEmptySet = { isEmpty: isEmpty2 };
22157
22203
  var isEmptyObject = { isEmpty };
22158
22204
  var $$throw = (dictMonadThrow) => (x2) => dictMonadThrow.throwError(error(x2));
@@ -22252,13 +22298,13 @@ var bind2Flipped = (dictMonad) => {
22252
22298
  };
22253
22299
  var assertWith = (v) => (v1) => {
22254
22300
  if (v1) {
22255
- return identity17;
22301
+ return identity18;
22256
22302
  }
22257
22303
  return (v2) => throwException(error("Assertion failure: " + v))();
22258
22304
  };
22259
22305
  var assertWhen = (v) => (v1) => {
22260
22306
  if (!v) {
22261
- return (v$1) => identity17;
22307
+ return (v$1) => identity18;
22262
22308
  }
22263
22309
  if (v) {
22264
22310
  return (x2) => assertWith(v1)(x2());
@@ -22305,7 +22351,7 @@ function intersectionWith_Object(f) {
22305
22351
  }
22306
22352
 
22307
22353
  // output-es/Util.Map/index.js
22308
- var identity18 = (x2) => x2;
22354
+ var identity19 = (x2) => x2;
22309
22355
  var mapObjectString = {
22310
22356
  maplet: singleton,
22311
22357
  keys: /* @__PURE__ */ (() => {
@@ -22358,7 +22404,7 @@ var update2 = (dictShow) => (dictMap) => (f) => (k) => {
22358
22404
  };
22359
22405
 
22360
22406
  // output-es/Dict/index.js
22361
- var identity19 = (x2) => x2;
22407
+ var identity20 = (x2) => x2;
22362
22408
  var isEmptyDict = { isEmpty: (v) => isEmpty(v) };
22363
22409
  var setDictString = {
22364
22410
  empty,
@@ -22411,7 +22457,7 @@ var traversableDict = {
22411
22457
  const $0 = traversableWithIndexObject.traverseWithIndex(dictApplicative);
22412
22458
  return (f) => (m) => dictApplicative.Apply0().Functor0().map((v1) => v1)($0((v) => f)(m));
22413
22459
  },
22414
- sequence: (dictApplicative) => (v) => traversableDict.traverse(dictApplicative)(identity19)(v),
22460
+ sequence: (dictApplicative) => (v) => traversableDict.traverse(dictApplicative)(identity20)(v),
22415
22461
  Functor0: () => functorDict,
22416
22462
  Foldable1: () => foldableDict
22417
22463
  };
@@ -22488,16 +22534,16 @@ var toTuple = (v) => $Tuple(v._1, v._2);
22488
22534
  var unzip3 = (xys) => unzip(listMap(toTuple)(xys));
22489
22535
 
22490
22536
  // output-es/Lattice/index.js
22491
- var identity20 = (x2) => x2;
22492
- var meetSemilatticeUnit = { meet: (v) => identity20 };
22537
+ var identity21 = (x2) => x2;
22538
+ var meetSemilatticeUnit = { meet: (v) => identity21 };
22493
22539
  var meetSemilatticeBoolean = { meet: boolConj };
22494
- var joinSemilatticeUnit = { join: (v) => identity20 };
22540
+ var joinSemilatticeUnit = { join: (v) => identity21 };
22495
22541
  var boundedMeetSemilatticeUni = { top: void 0, MeetSemilattice0: () => meetSemilatticeUnit };
22496
22542
  var boundedMeetSemilatticeBoo = { top: true, MeetSemilattice0: () => meetSemilatticeBoolean };
22497
22543
  var boundedJoinSemilatticeUni = { bot: void 0, JoinSemilattice0: () => joinSemilatticeUnit };
22498
22544
 
22499
22545
  // output-es/Data.Profunctor.Choice/index.js
22500
- var identity21 = (x2) => x2;
22546
+ var identity22 = (x2) => x2;
22501
22547
  var fanin = (dictCategory) => {
22502
22548
  const identity1 = dictCategory.identity;
22503
22549
  const $0 = dictCategory.Semigroupoid0();
@@ -22510,7 +22556,7 @@ var fanin = (dictCategory) => {
22510
22556
  return v2._1;
22511
22557
  }
22512
22558
  fail();
22513
- })(identity21)(identity1))($1.compose(dictChoice.right(r))(dictChoice.left(l)));
22559
+ })(identity22)(identity1))($1.compose(dictChoice.right(r))(dictChoice.left(l)));
22514
22560
  };
22515
22561
  var choiceFn = /* @__PURE__ */ (() => ({
22516
22562
  left: (v) => (v1) => {
@@ -28802,7 +28848,7 @@ var between = (open) => (close) => (p) => (state1, more, lift12, $$throw2, done)
28802
28848
  var $Assoc = (tag) => tag;
28803
28849
  var $Operator = (tag, _1, _2) => ({ tag, _1, _2 });
28804
28850
  var choice2 = /* @__PURE__ */ choice(foldableList);
28805
- var identity22 = (x2) => x2;
28851
+ var identity23 = (x2) => x2;
28806
28852
  var AssocNone = /* @__PURE__ */ $Assoc("AssocNone");
28807
28853
  var AssocLeft = /* @__PURE__ */ $Assoc("AssocLeft");
28808
28854
  var AssocRight = /* @__PURE__ */ $Assoc("AssocRight");
@@ -28983,7 +29029,7 @@ var makeParser = (term) => (ops) => {
28983
29029
  if ($7) {
28984
29030
  return $22(v4, $6);
28985
29031
  }
28986
- return $32(v2$1, identity22);
29032
+ return $32(v2$1, identity23);
28987
29033
  });
28988
29034
  },
28989
29035
  $32
@@ -29001,7 +29047,7 @@ var makeParser = (term) => (ops) => {
29001
29047
  if ($7) {
29002
29048
  return $22(v4, $6);
29003
29049
  }
29004
- return $32(v2$1, identity22);
29050
+ return $32(v2$1, identity23);
29005
29051
  });
29006
29052
  },
29007
29053
  $32
@@ -29020,7 +29066,7 @@ var makeParser = (term) => (ops) => {
29020
29066
  if ($8) {
29021
29067
  return $32(v4, $7);
29022
29068
  }
29023
- return $42(v2$1, identity22);
29069
+ return $42(v2$1, identity23);
29024
29070
  });
29025
29071
  },
29026
29072
  $42
@@ -29038,7 +29084,7 @@ var makeParser = (term) => (ops) => {
29038
29084
  if ($8) {
29039
29085
  return $32(v4, $7);
29040
29086
  }
29041
- return $42(v2$1, identity22);
29087
+ return $42(v2$1, identity23);
29042
29088
  });
29043
29089
  },
29044
29090
  $42
@@ -29057,7 +29103,7 @@ var makeParser = (term) => (ops) => {
29057
29103
  if ($9) {
29058
29104
  return $42(v4, $8);
29059
29105
  }
29060
- return $52(v2$1, identity22);
29106
+ return $52(v2$1, identity23);
29061
29107
  });
29062
29108
  },
29063
29109
  $52
@@ -29075,7 +29121,7 @@ var makeParser = (term) => (ops) => {
29075
29121
  if ($9) {
29076
29122
  return $42(v4, $8);
29077
29123
  }
29078
- return $52(v2$1, identity22);
29124
+ return $52(v2$1, identity23);
29079
29125
  });
29080
29126
  },
29081
29127
  $52
@@ -29170,7 +29216,7 @@ var makeParser = (term) => (ops) => {
29170
29216
  if ($5) {
29171
29217
  return $$throw2(v4, $4);
29172
29218
  }
29173
- return $1(state1, identity22);
29219
+ return $1(state1, identity23);
29174
29220
  });
29175
29221
  },
29176
29222
  $1
@@ -29262,7 +29308,7 @@ var unions = /* @__PURE__ */ (() => {
29262
29308
  };
29263
29309
  return go(Leaf2);
29264
29310
  })();
29265
- var identity25 = (x2) => x2;
29311
+ var identity26 = (x2) => x2;
29266
29312
  var Unquote = (value0) => $DocCommentElem("Unquote", value0);
29267
29313
  var None = /* @__PURE__ */ $DocOpt("None");
29268
29314
  var Doc = (value0) => $DocOpt("Doc", value0);
@@ -29469,18 +29515,18 @@ var traversableDocCommentElem = (dictTraversable) => {
29469
29515
  };
29470
29516
  return {
29471
29517
  traverse: (dictApplicative) => {
29472
- const traverse2 = dictTraversable.traverse(dictApplicative);
29518
+ const traverse22 = dictTraversable.traverse(dictApplicative);
29473
29519
  return (f) => (m) => {
29474
29520
  if (m.tag === "Token") {
29475
29521
  return dictApplicative.pure($DocCommentElem("Token", m._1));
29476
29522
  }
29477
29523
  if (m.tag === "Unquote") {
29478
- return dictApplicative.Apply0().Functor0().map((v1) => $DocCommentElem("Unquote", v1))(traverse2(f)(m._1));
29524
+ return dictApplicative.Apply0().Functor0().map((v1) => $DocCommentElem("Unquote", v1))(traverse22(f)(m._1));
29479
29525
  }
29480
29526
  fail();
29481
29527
  };
29482
29528
  },
29483
- sequence: (dictApplicative) => (v) => traversableDocCommentElem(dictTraversable).traverse(dictApplicative)(identity25)(v),
29529
+ sequence: (dictApplicative) => (v) => traversableDocCommentElem(dictTraversable).traverse(dictApplicative)(identity26)(v),
29484
29530
  Functor0: () => functorDocCommentElem1,
29485
29531
  Foldable1: () => foldableDocCommentElem1
29486
29532
  };
@@ -29490,19 +29536,19 @@ var traversableDocOpt = (dictTraversable) => {
29490
29536
  const foldableDocOpt1 = foldableDocOpt(dictTraversable.Foldable1());
29491
29537
  return {
29492
29538
  traverse: (dictApplicative) => {
29493
- const traverse2 = traversableList.traverse(dictApplicative);
29539
+ const traverse22 = traversableList.traverse(dictApplicative);
29494
29540
  const traverse3 = traversableDocCommentElem(dictTraversable).traverse(dictApplicative);
29495
29541
  return (f) => (m) => {
29496
29542
  if (m.tag === "None") {
29497
29543
  return dictApplicative.pure(None);
29498
29544
  }
29499
29545
  if (m.tag === "Doc") {
29500
- return dictApplicative.Apply0().Functor0().map((v1) => $DocOpt("Doc", v1))(traverse2(traverse3(f))(m._1));
29546
+ return dictApplicative.Apply0().Functor0().map((v1) => $DocOpt("Doc", v1))(traverse22(traverse3(f))(m._1));
29501
29547
  }
29502
29548
  fail();
29503
29549
  };
29504
29550
  },
29505
- sequence: (dictApplicative) => (v) => traversableDocOpt(dictTraversable).traverse(dictApplicative)(identity25)(v),
29551
+ sequence: (dictApplicative) => (v) => traversableDocOpt(dictTraversable).traverse(dictApplicative)(identity26)(v),
29506
29552
  Functor0: () => functorDocOpt1,
29507
29553
  Foldable1: () => foldableDocOpt1
29508
29554
  };
@@ -29655,7 +29701,7 @@ var unions12 = /* @__PURE__ */ (() => {
29655
29701
  };
29656
29702
  return go(Leaf2);
29657
29703
  })();
29658
- var identity26 = (x2) => x2;
29704
+ var identity27 = (x2) => x2;
29659
29705
  var compare3 = /* @__PURE__ */ (() => ordTuple(ordString)(ordString).compare)();
29660
29706
  var compare4 = /* @__PURE__ */ (() => ordSet(ordString).compare)();
29661
29707
  var setSet2 = /* @__PURE__ */ setSet(ordString);
@@ -30168,7 +30214,7 @@ var traversableVarDef = {
30168
30214
  const Apply0 = dictApplicative.Apply0();
30169
30215
  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));
30170
30216
  },
30171
- sequence: (dictApplicative) => (v) => traversableVarDef.traverse(dictApplicative)(identity26)(v),
30217
+ sequence: (dictApplicative) => (v) => traversableVarDef.traverse(dictApplicative)(identity27)(v),
30172
30218
  Functor0: () => functorVarDef,
30173
30219
  Foldable1: () => foldableVarDef
30174
30220
  };
@@ -30178,7 +30224,7 @@ var traversableRecDefs = {
30178
30224
  const traverse5 = traversableDict.traverse(dictApplicative);
30179
30225
  return (f) => (m) => Apply0.apply(Apply0.Functor0().map((v2) => (v3) => $RecDefs(v2, v3))(f(m._1)))(traverse5(traversableElim.traverse(dictApplicative)(f))(m._2));
30180
30226
  },
30181
- sequence: (dictApplicative) => (v) => traversableRecDefs.traverse(dictApplicative)(identity26)(v),
30227
+ sequence: (dictApplicative) => (v) => traversableRecDefs.traverse(dictApplicative)(identity27)(v),
30182
30228
  Functor0: () => functorRecDefs,
30183
30229
  Foldable1: () => foldableRecDefs
30184
30230
  };
@@ -30240,7 +30286,7 @@ var traversableExpr = {
30240
30286
  fail();
30241
30287
  };
30242
30288
  },
30243
- sequence: (dictApplicative) => (v) => traversableExpr.traverse(dictApplicative)(identity26)(v),
30289
+ sequence: (dictApplicative) => (v) => traversableExpr.traverse(dictApplicative)(identity27)(v),
30244
30290
  Functor0: () => functorExpr,
30245
30291
  Foldable1: () => foldableExpr
30246
30292
  };
@@ -30263,7 +30309,7 @@ var traversableElim = {
30263
30309
  fail();
30264
30310
  };
30265
30311
  },
30266
- sequence: (dictApplicative) => (v) => traversableElim.traverse(dictApplicative)(identity26)(v),
30312
+ sequence: (dictApplicative) => (v) => traversableElim.traverse(dictApplicative)(identity27)(v),
30267
30313
  Functor0: () => functorElim,
30268
30314
  Foldable1: () => foldableElim
30269
30315
  };
@@ -30280,7 +30326,7 @@ var traversableCont = {
30280
30326
  fail();
30281
30327
  };
30282
30328
  },
30283
- sequence: (dictApplicative) => (v) => traversableCont.traverse(dictApplicative)(identity26)(v),
30329
+ sequence: (dictApplicative) => (v) => traversableCont.traverse(dictApplicative)(identity27)(v),
30284
30330
  Functor0: () => functorCont,
30285
30331
  Foldable1: () => foldableCont
30286
30332
  };
@@ -33643,13 +33689,13 @@ var varDefFwd = (dictMonadError) => {
33643
33689
  };
33644
33690
  var recDefsFwd = (dictMonadError) => {
33645
33691
  const Monad0 = dictMonadError.MonadThrow0().Monad0();
33646
- const traverse2 = traversableNonEmptyList.traverse(Monad0.Applicative0());
33692
+ const traverse22 = traversableNonEmptyList.traverse(Monad0.Applicative0());
33647
33693
  return (dictBoundedLattice) => {
33648
33694
  const top3 = dictBoundedLattice.BoundedMeetSemilattice1().top;
33649
33695
  return (xcs) => Monad0.Bind1().Apply0().Functor0().map((() => {
33650
33696
  const $0 = RecDefs(top3);
33651
33697
  return (x2) => $0(fromFoldable16(x2));
33652
- })())(traverse2(recDefFwd(dictMonadError)(dictBoundedLattice))((() => {
33698
+ })())(traverse22(recDefFwd(dictMonadError)(dictBoundedLattice))((() => {
33653
33699
  const $0 = wrappedOperation("groupBy")(groupBy((x2) => (y2) => x2._1 === y2._1))(xcs);
33654
33700
  return $NonEmpty($0._1, listMap(RecDef)($0._2));
33655
33701
  })()));
@@ -33851,7 +33897,7 @@ var exprFwd = (dictBoundedLattice) => {
33851
33897
  const Bind1 = Monad0.Bind1();
33852
33898
  const Apply0 = Bind1.Apply0();
33853
33899
  const Functor0 = Apply0.Functor0();
33854
- const traverse2 = traversableList.traverse(Applicative0);
33900
+ const traverse22 = traversableList.traverse(Applicative0);
33855
33901
  return (dictJoinSemilattice) => (v) => {
33856
33902
  if (v.tag === "Var") {
33857
33903
  return Applicative0.pure($Expr("Var", v._1));
@@ -33878,14 +33924,14 @@ var exprFwd = (dictBoundedLattice) => {
33878
33924
  const $0 = v._3;
33879
33925
  const $1 = v._4;
33880
33926
  const $2 = v._1;
33881
- return Bind1.bind(desugComment(dictBoundedLattice)(dictMonadError)(v._2))((edoc) => Functor0.map(Constr($2)(edoc)($0))(traverse2(exprFwd(dictBoundedLattice)(dictMonadError)(dictBoundedLattice.BoundedJoinSemilattice0().JoinSemilattice0()))($1)));
33927
+ return Bind1.bind(desugComment(dictBoundedLattice)(dictMonadError)(v._2))((edoc) => Functor0.map(Constr($2)(edoc)($0))(traverse22(exprFwd(dictBoundedLattice)(dictMonadError)(dictBoundedLattice.BoundedJoinSemilattice0().JoinSemilattice0()))($1)));
33882
33928
  }
33883
33929
  if (v.tag === "Dictionary") {
33884
33930
  const $0 = v._2;
33885
33931
  const $1 = v._1;
33886
33932
  const v1 = unzip(v._3);
33887
33933
  const $2 = v1._2;
33888
- 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(
33934
+ 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(
33889
33935
  k,
33890
33936
  v2
33891
33937
  ))(ks$p)(es))))));
@@ -34420,11 +34466,11 @@ var moduleFwd = (dictMonadError) => {
34420
34466
  const $0 = Monad0.Bind1().Apply0().Functor0();
34421
34467
  const varDefFwd1 = varDefFwd(dictMonadError);
34422
34468
  const recDefsFwd1 = recDefsFwd(dictMonadError);
34423
- const traverse2 = traversableList.traverse(Monad0.Applicative0());
34469
+ const traverse22 = traversableList.traverse(Monad0.Applicative0());
34424
34470
  return (dictBoundedLattice) => {
34425
34471
  const varDefFwd2 = varDefFwd1(dictBoundedLattice);
34426
34472
  const recDefsFwd2 = recDefsFwd1(dictBoundedLattice);
34427
- return (v) => $0.map(Module)(traverse2((v1) => {
34473
+ return (v) => $0.map(Module)(traverse22((v1) => {
34428
34474
  if (v1.tag === "Left") {
34429
34475
  return $0.map(Left)(varDefFwd2(v1._1));
34430
34476
  }
@@ -34521,7 +34567,7 @@ var toUnfoldable13 = /* @__PURE__ */ toAscUnfoldable(unfoldableList);
34521
34567
  var Simple = /* @__PURE__ */ $ExprType("Simple");
34522
34568
  var Expression = /* @__PURE__ */ $ExprType("Expression");
34523
34569
  var vert = (dictFoldable) => {
34524
- const fromFoldable26 = dictFoldable.foldr(Cons)(Nil);
34570
+ const fromFoldable27 = dictFoldable.foldr(Cons)(Nil);
34525
34571
  return (delim) => {
34526
34572
  const vert$p = (v) => {
34527
34573
  if (v.tag === "Nil") {
@@ -34537,7 +34583,7 @@ var vert = (dictFoldable) => {
34537
34583
  }
34538
34584
  fail();
34539
34585
  };
34540
- return (x2) => vert$p(fromFoldable26(x2));
34586
+ return (x2) => vert$p(fromFoldable27(x2));
34541
34587
  };
34542
34588
  };
34543
34589
  var vert1 = /* @__PURE__ */ vert(foldableArray);
@@ -35266,7 +35312,7 @@ var unions13 = /* @__PURE__ */ (() => {
35266
35312
  return go(Leaf2);
35267
35313
  })();
35268
35314
  var foldMap2 = /* @__PURE__ */ foldMap({ mempty: Leaf2, Semigroup0: () => ({ append: union3(ordDVertex$p) }) });
35269
- var identity27 = (x2) => x2;
35315
+ var identity28 = (x2) => x2;
35270
35316
  var ordTuple3 = /* @__PURE__ */ ordTuple(ordInt);
35271
35317
  var boundedLattice = { BoundedJoinSemilattice0: () => boundedJoinSemilatticeUni, BoundedMeetSemilattice1: () => boundedMeetSemilatticeUni };
35272
35318
  var show3 = /* @__PURE__ */ (() => showSet(showString).show)();
@@ -35394,7 +35440,7 @@ var mapEnvStringVal = {
35394
35440
  var highlightableVertex = {
35395
35441
  highlightIf: (v) => (doc2) => beside(beside(doc2)(checkOneLine(split("\n")(" _"))))(checkOneLine(split("\n")(" \u27E8" + v + "\u27E9")))
35396
35442
  };
35397
- var highlightableUnit = { highlightIf: (v) => identity27 };
35443
+ var highlightableUnit = { highlightIf: (v) => identity28 };
35398
35444
  var functorMatrixDim = { map: (f) => (m) => $Tuple(m._1, f(m._2)) };
35399
35445
  var functorVal = { map: (f) => (m) => $Val(f(m._1), functorDocOpt(functorVal).map(f)(m._2), functorBaseVal.map(f)(m._3)) };
35400
35446
  var functorMatrixRep = {
@@ -35449,7 +35495,7 @@ var functorEnvExpr = { map: (f) => (m) => $EnvExpr(_fmapObject(m._1, functorVal.
35449
35495
  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) };
35450
35496
  var traversableMatrixDim = {
35451
35497
  traverse: (dictApplicative) => (f) => (m) => dictApplicative.Apply0().Functor0().map((v1) => v1)(traversableTuple.traverse(dictApplicative)(f)(m)),
35452
- sequence: (dictApplicative) => (v) => traversableMatrixDim.traverse(dictApplicative)(identity27)(v),
35498
+ sequence: (dictApplicative) => (v) => traversableMatrixDim.traverse(dictApplicative)(identity28)(v),
35453
35499
  Functor0: () => functorMatrixDim,
35454
35500
  Foldable1: () => foldableMatrixDim
35455
35501
  };
@@ -35675,7 +35721,7 @@ var traversableVal = {
35675
35721
  const Apply0 = dictApplicative.Apply0();
35676
35722
  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));
35677
35723
  },
35678
- sequence: (dictApplicative) => (v) => traversableVal.traverse(dictApplicative)(identity27)(v),
35724
+ sequence: (dictApplicative) => (v) => traversableVal.traverse(dictApplicative)(identity28)(v),
35679
35725
  Functor0: () => functorVal,
35680
35726
  Foldable1: () => foldableVal
35681
35727
  };
@@ -35711,7 +35757,7 @@ var traversableFun = {
35711
35757
  fail();
35712
35758
  };
35713
35759
  },
35714
- sequence: (dictApplicative) => (v) => traversableFun.traverse(dictApplicative)(identity27)(v),
35760
+ sequence: (dictApplicative) => (v) => traversableFun.traverse(dictApplicative)(identity28)(v),
35715
35761
  Functor0: () => functorFun,
35716
35762
  Foldable1: () => foldableFun
35717
35763
  };
@@ -35720,7 +35766,7 @@ var traversableEnv = {
35720
35766
  const traverse8 = traversableDict.traverse(dictApplicative);
35721
35767
  return (f) => (m) => dictApplicative.Apply0().Functor0().map((v1) => v1)(traverse8(traversableVal.traverse(dictApplicative)(f))(m));
35722
35768
  },
35723
- sequence: (dictApplicative) => (v) => traversableEnv.traverse(dictApplicative)(identity27)(v),
35769
+ sequence: (dictApplicative) => (v) => traversableEnv.traverse(dictApplicative)(identity28)(v),
35724
35770
  Functor0: () => functorEnv,
35725
35771
  Foldable1: () => foldableEnv
35726
35772
  };
@@ -35764,7 +35810,7 @@ var traversableBaseVal = {
35764
35810
  fail();
35765
35811
  };
35766
35812
  },
35767
- sequence: (dictApplicative) => (v) => traversableBaseVal.traverse(dictApplicative)(identity27)(v),
35813
+ sequence: (dictApplicative) => (v) => traversableBaseVal.traverse(dictApplicative)(identity28)(v),
35768
35814
  Functor0: () => functorBaseVal,
35769
35815
  Foldable1: () => foldableBaseVal
35770
35816
  };
@@ -38294,7 +38340,7 @@ var viewDocViewUnit = {
38294
38340
  };
38295
38341
 
38296
38342
  // output-es/App.View.LineChart/index.js
38297
- var identity28 = (x2) => x2;
38343
+ var identity29 = (x2) => x2;
38298
38344
  var join = (v) => (v1) => {
38299
38345
  if (v1.tag === "Inert") {
38300
38346
  return v;
@@ -38348,7 +38394,7 @@ var viewLineChartUnit = {
38348
38394
  const $3 = attrs(point2)(fromFoldable9((() => {
38349
38395
  const $32 = definitely("index within bounds")(index(v3.points)(point$p.j));
38350
38396
  const sel = join($32.x._2)($32.y._2);
38351
- const fill$p = (isPersistent(sel) ? (a) => colorShade(a)(-30) : identity28)(nameCol(definitely("absurd")((() => {
38397
+ const fill$p = (isPersistent(sel) ? (a) => colorShade(a)(-30) : identity29)(nameCol(definitely("absurd")((() => {
38352
38398
  const $4 = v3.name._1;
38353
38399
  return findIndex((v$1) => v$1 === $4)(arrayMap((x2) => x2.name._1)($0));
38354
38400
  })())));
@@ -38389,7 +38435,7 @@ var viewLineChartUnit = {
38389
38435
  return [
38390
38436
  $Tuple(
38391
38437
  "stroke",
38392
- (isTransient(sel) ? (a) => colorShade(a)(-30) : identity28)((isPersistent(sel) ? (a) => colorShade(a)(-30) : identity28)(nameCol(definitely("absurd")((() => {
38438
+ (isTransient(sel) ? (a) => colorShade(a)(-30) : identity29)((isPersistent(sel) ? (a) => colorShade(a)(-30) : identity29)(nameCol(definitely("absurd")((() => {
38393
38439
  const $3 = v3.name._1;
38394
38440
  return findIndex((v$1) => v$1 === $3)(arrayMap((x2) => x2.name._1)($0));
38395
38441
  })()))))
@@ -38893,8 +38939,8 @@ var toStringWith = (v) => {
38893
38939
  var $Filter = (tag) => tag;
38894
38940
  var toUnfoldable10 = /* @__PURE__ */ toUnfoldable4(unfoldableArray);
38895
38941
  var $$for = /* @__PURE__ */ (() => {
38896
- const traverse2 = traversableArray.traverse(applicativeEffect);
38897
- return (x2) => (f) => traverse2(f)(x2);
38942
+ const traverse22 = traversableArray.traverse(applicativeEffect);
38943
+ return (x2) => (f) => traverse22(f)(x2);
38898
38944
  })();
38899
38945
  var for_5 = /* @__PURE__ */ for_(applicativeEffect)(foldableArray);
38900
38946
  var forWithIndex_4 = /* @__PURE__ */ forWithIndex_(applicativeEffect)(foldableWithIndexArray);
@@ -39167,9 +39213,9 @@ var viewTextUnit = {
39167
39213
  const $0 = v1._1;
39168
39214
  const $1 = select(":nth-child(1)")(rootElement);
39169
39215
  return () => {
39170
- const elem2 = $1();
39216
+ const elem3 = $1();
39171
39217
  const listener = eventListener((x2) => redraw(selectionEventData$p(x2)._2))();
39172
- const $2 = styles(elem2)(fromFoldable9(textAttrs(textualString)($0)))();
39218
+ const $2 = styles(elem3)(fromFoldable9(textAttrs(textualString)($0)))();
39173
39219
  return for_2(["mousedown", "mouseenter", "mouseleave"])((ev) => on(ev)(listener)($2))();
39174
39220
  };
39175
39221
  }
@@ -39263,7 +39309,7 @@ var pack32 = (x2) => (v) => v(viewScatterPlotUnit)(x2);
39263
39309
  var pack4 = (x2) => (v) => v(viewMultiViewUnit)(x2);
39264
39310
  var pack5 = (x2) => (v) => v(viewParagraphUnit)(x2);
39265
39311
  var pack6 = (x2) => (v) => v(viewLinkUnit)(x2);
39266
- var identity29 = (x2) => x2;
39312
+ var identity30 = (x2) => x2;
39267
39313
  var pack7 = (x2) => (v) => v(viewTableViewUnit)(x2);
39268
39314
  var pack8 = (x2) => (v) => v(viewMatrixViewUnit)(x2);
39269
39315
  var fromFoldable11 = /* @__PURE__ */ (() => fromFoldableImpl(foldableList.foldr))();
@@ -39455,7 +39501,7 @@ var view = () => (v) => (v1) => (v2) => {
39455
39501
  return pack5($Paragraph(false, arrayApply(vws)(arrayMap((v$1) => Nothing)(vws))));
39456
39502
  }
39457
39503
  if (v1._3._1 === "Nil" || v1._3._1 === ":") {
39458
- const records = arrayMap(dict(identity29))(reflectValSelStates\u{1D54A}Array.from()(v1));
39504
+ const records = arrayMap(dict(identity30))(reflectValSelStates\u{1D54A}Array.from()(v1));
39459
39505
  const colNames = headers(records);
39460
39506
  return pack7({
39461
39507
  title: v,
@@ -39471,7 +39517,7 @@ var view = () => (v) => (v1) => (v2) => {
39471
39517
  }
39472
39518
  }
39473
39519
  if (v1._3._1 === "Nil" || v1._3._1 === ":") {
39474
- const records = arrayMap(dict(identity29))(reflectValSelStates\u{1D54A}Array.from()(v1));
39520
+ const records = arrayMap(dict(identity30))(reflectValSelStates\u{1D54A}Array.from()(v1));
39475
39521
  const colNames = headers(records);
39476
39522
  return pack7({
39477
39523
  title: v,
@@ -39920,6 +39966,7 @@ var greaterThanOrEq = /* @__PURE__ */ (() => {
39920
39966
  return (a1) => (a2) => $0.compare(a1)(a2) !== "LT";
39921
39967
  })();
39922
39968
  var show32 = (v) => "(Tuple " + showIntImpl(v._1) + " " + showIntImpl(v._2) + ")";
39969
+ var traverse2 = /* @__PURE__ */ (() => traversableList.traverse(applicativeMaybe))();
39923
39970
  var concatM = (dictMonad) => foldableList.foldr((() => {
39924
39971
  const $0 = dictMonad.Bind1();
39925
39972
  return (f) => (g) => (a) => $0.bind(f(a))(g);
@@ -40063,9 +40110,9 @@ var graphGC = (dictGraph) => {
40063
40110
  };
40064
40111
  var closeDefs = (dictMonadWithGraphAlloc) => {
40065
40112
  const Monad0 = dictMonadWithGraphAlloc.MonadWithGraph2().Monad0();
40066
- const traverse2 = traversableDict.traverse(Monad0.Applicative0());
40113
+ const traverse2$1 = traversableDict.traverse(Monad0.Applicative0());
40067
40114
  const $$new = dictMonadWithGraphAlloc.new(typeNameVal);
40068
- return (\u03B3) => (\u03C1) => (\u03B1s) => Monad0.Bind1().Apply0().Functor0().map(Env)(traverse2((\u03C3) => {
40115
+ return (\u03B3) => (\u03C1) => (\u03B1s) => Monad0.Bind1().Apply0().Functor0().map(Env)(traverse2$1((\u03C3) => {
40069
40116
  const \u03C1$p = forDefs(\u03C1)(\u03C3);
40070
40117
  return $$new((a) => Val(a)(None))(\u03B1s)($BaseVal(
40071
40118
  "Fun",
@@ -40094,7 +40141,7 @@ var new$p = (dictMonadWithGraphAlloc) => {
40094
40141
  if (v2.tag === "None") {
40095
40142
  return $$new((\u03B1s$p) => (u$p) => $Val(\u03B1s$p, None, u$p))(v1)(v3);
40096
40143
  }
40097
- return Bind1.bind(fresh)((\u03B1) => Bind1.bind(evalDocOpt(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(unionWith((v$1) => identity18)(v)((() => {
40144
+ return Bind1.bind(fresh)((\u03B1) => Bind1.bind(evalDocOpt(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(unionWith((v$1) => identity19)(v)((() => {
40098
40145
  const $0 = {};
40099
40146
  $0.this = $Val(\u03B1, None, v3);
40100
40147
  return $0;
@@ -40142,8 +40189,8 @@ var $$eval = (dictMonadWithGraphAlloc) => {
40142
40189
  const Bind1 = Monad0.Bind1();
40143
40190
  const $0 = Bind1.Apply0().Functor0();
40144
40191
  const Applicative0 = Monad0.Applicative0();
40145
- const traverse2 = traversableList.traverse(Applicative0);
40146
- const traverse3 = traversablePair.traverse(Applicative0);
40192
+ const traverse3 = traversableList.traverse(Applicative0);
40193
+ const traverse4 = traversablePair.traverse(Applicative0);
40147
40194
  const sequence2 = traversableArray.traverse(Applicative0)(identity5);
40148
40195
  return (dictLoadFile) => (v) => (v1) => (v2) => {
40149
40196
  if (v1.tag === "Var") {
@@ -40164,7 +40211,7 @@ var $$eval = (dictMonadWithGraphAlloc) => {
40164
40211
  if (v1.tag === "Dictionary") {
40165
40212
  const $1 = v1._2;
40166
40213
  const $2 = v1._1;
40167
- return Bind1.bind($0.map(unzip3)(traverse2(traverse3((() => {
40214
+ return Bind1.bind($0.map(unzip3)(traverse3(traverse4((() => {
40168
40215
  const $3 = $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(v);
40169
40216
  return (a) => $3(a)(v2);
40170
40217
  })()))(v1._3)))((v3) => {
@@ -40200,7 +40247,7 @@ var $$eval = (dictMonadWithGraphAlloc) => {
40200
40247
  return go$r;
40201
40248
  };
40202
40249
  return go(0)($3);
40203
- })()))(() => Bind1.bind(traverse2((() => {
40250
+ })()))(() => Bind1.bind(traverse3((() => {
40204
40251
  const $5 = $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(v);
40205
40252
  return (a) => $5(a)(v2);
40206
40253
  })())($3))((vs) => new$p(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(v)(insert3(ordVertex)($4)()(v2))($2)($BaseVal("Constr", $1, vs))));
@@ -40222,7 +40269,7 @@ var $$eval = (dictMonadWithGraphAlloc) => {
40222
40269
  1
40223
40270
  )) + "); got (" + show32($Tuple($6, $7)) + ")"))(() => Bind1.bind(sequence2(arrayBind(range(1)($6))((i) => [
40224
40271
  sequence2(arrayBind(range(1)($7))((j) => [
40225
- $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(unionWith((v$1) => identity18)(v)(disjointUnion2((() => {
40272
+ $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(unionWith((v$1) => identity19)(v)(disjointUnion2((() => {
40226
40273
  const $10 = {};
40227
40274
  $10[$3] = $Val($8, None, $BaseVal("Int", i));
40228
40275
  return $10;
@@ -40296,7 +40343,7 @@ var $$eval = (dictMonadWithGraphAlloc) => {
40296
40343
  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) => {
40297
40344
  const $3 = v4._3;
40298
40345
  const $4 = v4._1;
40299
- return Bind1.bind(evalDocOpt(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(unionWith((v$1) => identity18)(v)((() => {
40346
+ return Bind1.bind(evalDocOpt(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(unionWith((v$1) => identity19)(v)((() => {
40300
40347
  const $5 = {};
40301
40348
  $5.this = v4;
40302
40349
  return $5;
@@ -40306,12 +40353,12 @@ var $$eval = (dictMonadWithGraphAlloc) => {
40306
40353
  if (v1.tag === "Let") {
40307
40354
  const $1 = v1._2;
40308
40355
  const $2 = v1._1._1;
40309
- return Bind1.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(v)(v1._1._2)(v2))((v3) => Bind1.bind(match1(v3)($2))((v4) => $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(unionWith((v$1) => identity18)(v)(v4._1))($1)(v4._2._2)));
40356
+ return Bind1.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(v)(v1._1._2)(v2))((v3) => Bind1.bind(match1(v3)($2))((v4) => $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(unionWith((v$1) => identity19)(v)(v4._1))($1)(v4._2._2)));
40310
40357
  }
40311
40358
  if (v1.tag === "LetRec") {
40312
40359
  const $1 = v1._2;
40313
40360
  const $2 = v1._1._1;
40314
- return Bind1.bind(closeDefs1(v)(v1._1._2)(insert3(ordVertex)($2)()(v2)))((\u03B3$p) => $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(unionWith((v$1) => identity18)(v)(\u03B3$p))($1)(insert3(ordVertex)($2)()(v2)));
40361
+ return Bind1.bind(closeDefs1(v)(v1._1._2)(insert3(ordVertex)($2)()(v2)))((\u03B3$p) => $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(unionWith((v$1) => identity19)(v)(\u03B3$p))($1)(insert3(ordVertex)($2)()(v2)));
40315
40362
  }
40316
40363
  fail();
40317
40364
  };
@@ -40323,7 +40370,7 @@ var concatDocs = (dictMonadWithGraphAlloc) => (dictMonadReader) => {
40323
40370
  const $0 = v._3;
40324
40371
  const $1 = v._2;
40325
40372
  const $2 = v._1;
40326
- return Monad0.Bind1().bind(evalDocOpt(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(unionWith((v$1) => identity18)(\u03B3)((() => {
40373
+ return Monad0.Bind1().bind(evalDocOpt(dictMonadWithGraphAlloc)(dictMonadReader)(dictLoadFile)(unionWith((v$1) => identity19)(\u03B3)((() => {
40327
40374
  const $3 = {};
40328
40375
  $3.this = $Val($2, None, $0);
40329
40376
  return $3;
@@ -40345,7 +40392,7 @@ var apply2 = (dictMonadWithGraphAlloc) => {
40345
40392
  const $1 = v._1;
40346
40393
  const $2 = v._3._1._1;
40347
40394
  const $3 = v._3._1._3;
40348
- 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)(unionWith((v$1) => identity18)(unionWith((v$1) => identity18)($2)(\u03B32))(v3._1))(v3._2._1.tag === "ContExpr" ? v3._2._1._1 : throwException(error("Expression expected"))())(insert3(ordVertex)($1)()(v3._2._2))));
40395
+ 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)(unionWith((v$1) => identity19)(unionWith((v$1) => identity19)($2)(\u03B32))(v3._1))(v3._2._1.tag === "ContExpr" ? v3._2._1._1 : throwException(error("Expression expected"))())(insert3(ordVertex)($1)()(v3._2._2))));
40349
40396
  }
40350
40397
  if (v._3._1.tag === "Foreign") {
40351
40398
  const $1 = v._3._1._1._2;
@@ -40465,11 +40512,11 @@ var eval_module = (dictMonadWithGraphAlloc) => {
40465
40512
  if (v1._1.tag === "Left") {
40466
40513
  const $1 = v1._2;
40467
40514
  const $2 = v1._1._1._1;
40468
- return $0.bind(eval3(unionWith((v$1) => identity18)(\u03B3)(v))(v1._1._1._2)(v2))((v3) => $0.bind(match1(v3)($2))((v4) => go(unionWith((v$1) => identity18)(v)(v4._1))($1)(v4._2._2)));
40515
+ return $0.bind(eval3(unionWith((v$1) => identity19)(\u03B3)(v))(v1._1._1._2)(v2))((v3) => $0.bind(match1(v3)($2))((v4) => go(unionWith((v$1) => identity19)(v)(v4._1))($1)(v4._2._2)));
40469
40516
  }
40470
40517
  if (v1._1.tag === "Right") {
40471
40518
  const $1 = v1._2;
40472
- return $0.bind(closeDefs1(unionWith((v$1) => identity18)(\u03B3)(v))(v1._1._1._2)(insert3(ordVertex)(v1._1._1._1)()(v2)))((\u03B3$p$p) => go(unionWith((v$1) => identity18)(v)(\u03B3$p$p))($1)(v2));
40519
+ return $0.bind(closeDefs1(unionWith((v$1) => identity19)(\u03B3)(v))(v1._1._1._2)(insert3(ordVertex)(v1._1._1._1)()(v2)))((\u03B3$p$p) => go(unionWith((v$1) => identity19)(v)(\u03B3$p$p))($1)(v2));
40473
40520
  }
40474
40521
  }
40475
40522
  fail();
@@ -40492,14 +40539,87 @@ var eval_progCxt = (dictMonadWithGraphAlloc) => {
40492
40539
  return (dictLoadFile) => {
40493
40540
  const eval_module3 = eval_module2(dictLoadFile);
40494
40541
  const eval3 = eval2(dictLoadFile);
40495
- return (v) => concatM1(foldableList.foldr(Cons)(listMap((v1) => (\u03B3) => {
40496
- const $2 = v1._1;
40497
- return $0.bind(eval3(\u03B3)(v1._2)(setSet4.empty))((v2) => $1.pure(unionWith((v$1) => identity18)(\u03B3)((() => {
40498
- const $3 = {};
40499
- $3[$2] = v2;
40500
- return $3;
40501
- })())));
40502
- })(reverse2(v.datasets)))(listMap((mod) => (\u03B3) => $0.bind(eval_module3(\u03B3)(mod)(setSet4.empty))((\u03B3$p) => $1.pure(unionWith((v$1) => identity18)(\u03B3)(\u03B3$p))))(reverse2(v.mods))))(v.primitives);
40542
+ return (v) => (v1) => {
40543
+ const $2 = v.datasets;
40544
+ const $3 = v1.graph;
40545
+ const $4 = v1.modules;
40546
+ const $5 = v.primitives;
40547
+ const $6 = v1.roots;
40548
+ return $0.bind(foldM3(Monad0)((\u03B3s) => (name3) => {
40549
+ const v2 = definitely("deps evaluated")((() => {
40550
+ const $7 = lookup2(ordString)(name3)($3);
40551
+ if ($7.tag === "Just") {
40552
+ const $8 = traverse2((dep) => lookup2(ordString)(dep)(\u03B3s))($7._1);
40553
+ if ($8.tag === "Just") {
40554
+ const $9 = lookup2(ordString)(name3)($4);
40555
+ if ($9.tag === "Just") {
40556
+ return $Maybe("Just", $Tuple($9._1, $8._1));
40557
+ }
40558
+ if ($9.tag === "Nothing") {
40559
+ return Nothing;
40560
+ }
40561
+ fail();
40562
+ }
40563
+ if ($8.tag === "Nothing") {
40564
+ return Nothing;
40565
+ }
40566
+ fail();
40567
+ }
40568
+ if ($7.tag === "Nothing") {
40569
+ return Nothing;
40570
+ }
40571
+ fail();
40572
+ })());
40573
+ return $0.bind(eval_module3((() => {
40574
+ const go = (go$a0$copy) => (go$a1$copy) => {
40575
+ let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
40576
+ while (go$c) {
40577
+ const b = go$a0, v$1 = go$a1;
40578
+ if (v$1.tag === "Nil") {
40579
+ go$c = false;
40580
+ go$r = b;
40581
+ continue;
40582
+ }
40583
+ if (v$1.tag === "Cons") {
40584
+ go$a0 = unionWith((v$2) => identity19)(b)(v$1._1);
40585
+ go$a1 = v$1._2;
40586
+ continue;
40587
+ }
40588
+ fail();
40589
+ }
40590
+ return go$r;
40591
+ };
40592
+ return go($5)(v2._2);
40593
+ })())(v2._1)(setSet4.empty))((\u03B3$p) => $1.pure(insert3(ordString)(name3)(\u03B3$p)(\u03B3s)));
40594
+ })(Leaf2)(v1.topsorted))((\u03B3s) => {
40595
+ const go = (go$a0$copy) => (go$a1$copy) => {
40596
+ let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
40597
+ while (go$c) {
40598
+ const b = go$a0, v$1 = go$a1;
40599
+ if (v$1.tag === "Nil") {
40600
+ go$c = false;
40601
+ go$r = b;
40602
+ continue;
40603
+ }
40604
+ if (v$1.tag === "Cons") {
40605
+ go$a0 = unionWith((v$2) => identity19)(b)(v$1._1);
40606
+ go$a1 = v$1._2;
40607
+ continue;
40608
+ }
40609
+ fail();
40610
+ }
40611
+ return go$r;
40612
+ };
40613
+ return concatM1(listMap((v2) => (\u03B3) => {
40614
+ const $7 = v2._1;
40615
+ return $0.bind(eval3(\u03B3)(v2._2)(setSet4.empty))((v3) => $1.pure(unionWith((v$1) => identity19)(\u03B3)((() => {
40616
+ const $8 = {};
40617
+ $8[$7] = v3;
40618
+ return $8;
40619
+ })())));
40620
+ })(reverse2($2)))(go($5)(listMap((dep) => definitely("has env")(lookup2(ordString)(dep)(\u03B3s)))($6)));
40621
+ });
40622
+ };
40503
40623
  };
40504
40624
  };
40505
40625
  };
@@ -40519,17 +40639,14 @@ var graphEval = (dictMonadAff) => {
40519
40639
  const monadReaderStateT2 = monadReaderStateT(monadReaderStateT(dictMonadReader));
40520
40640
  return (dictLoadFile) => (dictMonadError) => {
40521
40641
  const eval1 = $$eval(monadWithGraphAllocWithGr(dictMonadError))(monadReaderStateT2)((() => {
40522
- const loadFile1 = dictLoadFile.loadFile(dictMonadError)(dictMonadAff);
40642
+ const loadFileFromPath1 = dictLoadFile.loadFileFromPath(dictMonadError)(dictMonadAff);
40523
40643
  return {
40524
- loadFile: (dictMonadError1) => (dictMonadAff1) => (folders) => {
40525
- const $3 = loadFile1(folders);
40526
- return (x2) => {
40527
- const $4 = $3(x2);
40528
- 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(
40529
- x$1,
40530
- s
40531
- )));
40532
- };
40644
+ loadFileFromPath: (dictMonadError1) => (dictMonadAff1) => (x2) => {
40645
+ const $3 = loadFileFromPath1(x2);
40646
+ 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(
40647
+ x$1,
40648
+ s
40649
+ )));
40533
40650
  }
40534
40651
  };
40535
40652
  })());
@@ -40560,6 +40677,87 @@ var graphEval = (dictMonadAff) => {
40560
40677
  };
40561
40678
  };
40562
40679
 
40680
+ // output-es/File/index.js
40681
+ var bindExceptT2 = /* @__PURE__ */ bindExceptT(monadAff);
40682
+ var applicativeExceptT2 = /* @__PURE__ */ applicativeExceptT(monadAff);
40683
+ var Folder = (x2) => x2;
40684
+ var show4 = /* @__PURE__ */ showArrayImpl(showStringImpl);
40685
+ var loadFileAff = {
40686
+ loadFileFromPath: (dictMonadError) => (dictMonadAff) => (v) => _bind(bindExceptT2.bind(dictMonadAff.liftAff(_bind(request(driver)({
40687
+ method: $Either("Left", HEAD),
40688
+ url: v,
40689
+ headers: [],
40690
+ content: Nothing,
40691
+ username: Nothing,
40692
+ password: Nothing,
40693
+ withCredentials: false,
40694
+ responseFormat: $ResponseFormat("String", identity),
40695
+ timeout: Nothing
40696
+ }))((resp) => _pure((() => {
40697
+ if (resp.tag === "Right") {
40698
+ if (resp._1.status === 200) {
40699
+ return $Either("Right", $Tuple(resp._1, v));
40700
+ }
40701
+ return $Either("Left", RequestFailedError);
40702
+ }
40703
+ if (resp.tag === "Left") {
40704
+ return $Either("Left", resp._1);
40705
+ }
40706
+ fail();
40707
+ })()))))((v1) => {
40708
+ const $0 = v1._2;
40709
+ return bindExceptT2.bind(applicativeExceptT2.pure())(() => bindExceptT2.bind(dictMonadAff.liftAff(request(driver)({
40710
+ method: $Either("Left", GET),
40711
+ url: $0,
40712
+ headers: [],
40713
+ content: Nothing,
40714
+ username: Nothing,
40715
+ password: Nothing,
40716
+ withCredentials: false,
40717
+ responseFormat: $ResponseFormat("String", identity),
40718
+ timeout: Nothing
40719
+ })))((contents) => applicativeExceptT2.pure(contents.body)));
40720
+ }))((result) => _pure((() => {
40721
+ if (result.tag === "Left") {
40722
+ return Nothing;
40723
+ }
40724
+ if (result.tag === "Right") {
40725
+ return $Maybe("Just", result._1);
40726
+ }
40727
+ fail();
40728
+ })()))
40729
+ };
40730
+ var prependFolder = (v) => (v1) => v + "/" + v1;
40731
+ var loadFile = (dictLoadFile) => (dictMonad) => {
40732
+ const $0 = dictMonad.Applicative0();
40733
+ return (dictMonadError) => {
40734
+ const loadFileFromPath2 = dictLoadFile.loadFileFromPath(dictMonadError);
40735
+ return (dictMonadAff) => {
40736
+ const loadFileFromPath3 = loadFileFromPath2(dictMonadAff);
40737
+ return (folders) => (file) => {
40738
+ const paths = arrayApply(arrayMap(prependFolder)(folders))([file]);
40739
+ return dictMonad.Bind1().bind(foldM(dictMonad)((v) => (v1) => {
40740
+ if (v.tag === "Just") {
40741
+ return $0.pure($Maybe("Just", v._1));
40742
+ }
40743
+ if (v.tag === "Nothing") {
40744
+ return loadFileFromPath3(v1);
40745
+ }
40746
+ fail();
40747
+ })(Nothing)(paths))((result) => {
40748
+ if (result.tag === "Just") {
40749
+ return $0.pure(result._1);
40750
+ }
40751
+ if (result.tag === "Nothing") {
40752
+ return throwException(error("File not found in any path: " + show4(paths)))();
40753
+ }
40754
+ fail();
40755
+ });
40756
+ };
40757
+ };
40758
+ };
40759
+ };
40760
+
40563
40761
  // output-es/Data.CodePoint.Unicode/index.js
40564
40762
  var isUpper = (x2) => checkAttr([512, 524288])(x2);
40565
40763
  var isSpace = (c) => {
@@ -40721,7 +40919,7 @@ var toLowerSimple = /* @__PURE__ */ convert(uTowlower);
40721
40919
  var toUpperSimple = /* @__PURE__ */ convert(uTowupper);
40722
40920
 
40723
40921
  // output-es/Parsing.Token/index.js
40724
- var identity30 = (x2) => x2;
40922
+ var identity31 = (x2) => x2;
40725
40923
  var choice3 = /* @__PURE__ */ choice(foldableArray);
40726
40924
  var toUnfoldable15 = /* @__PURE__ */ toUnfoldable2(unfoldableArray);
40727
40925
  var theReservedNames = (v) => {
@@ -41034,10 +41232,10 @@ var makeTokenParser = (v) => {
41034
41232
  if ($132) {
41035
41233
  return $42(v4$1, $122);
41036
41234
  }
41037
- return $52(v2, identity30);
41235
+ return $52(v2, identity31);
41038
41236
  });
41039
41237
  },
41040
- (state2, a) => $22((v2$1) => $52(state2, identity30))
41238
+ (state2, a) => $22((v2$1) => $52(state2, identity31))
41041
41239
  )));
41042
41240
  });
41043
41241
  },
@@ -42303,7 +42501,7 @@ var onlyIf = (b) => (a) => {
42303
42501
  };
42304
42502
  var choose2 = /* @__PURE__ */ choose(altParserT);
42305
42503
  var fanin3 = /* @__PURE__ */ fanin(categoryFn)(choiceFn);
42306
- var identity31 = (x2) => x2;
42504
+ var identity32 = (x2) => x2;
42307
42505
  var operators = (binaryOp) => fromFoldable20(listMap(arrayMap((v) => $Operator(
42308
42506
  "Infix",
42309
42507
  (() => {
@@ -42327,6 +42525,10 @@ var operators = (binaryOp) => fromFoldable20(listMap(arrayMap((v) => $Operator(
42327
42525
  }
42328
42526
  fail();
42329
42527
  })(foldableMap.foldr(Cons)(Nil)(opDefs))))));
42528
+ var letters = ($$char) => {
42529
+ const $0 = some(alternativeParserT)(lazyParserT)($$char);
42530
+ return (state1, more, lift12, $$throw2, done) => more((v1) => $0(state1, more, lift12, $$throw2, (state2, a) => more((v2) => done(state2, fromCharArray(a)))));
42531
+ };
42330
42532
  var languageDef = /* @__PURE__ */ (() => {
42331
42533
  const opChar = oneOf([":", "!", "#", "$", "%", "&", "*", "+", ".", "/", "<", "=", ">", "?", "@", "\\", "^", "|", "-", "~"]);
42332
42534
  return {
@@ -42380,7 +42582,7 @@ var languageDef = /* @__PURE__ */ (() => {
42380
42582
  })(),
42381
42583
  opStart: opChar,
42382
42584
  opLetter: opChar,
42383
- reservedNames: ["as", "else", "fun", "if", "in", "let", "match", "then"],
42585
+ reservedNames: ["as", "else", "fun", "if", "in", "let", "match", "then", "import"],
42384
42586
  reservedOpNames: ["|", "..", "=", "<-", "->"],
42385
42587
  caseSensitive: true
42386
42588
  };
@@ -42415,6 +42617,34 @@ var keyword2 = (str$p) => {
42415
42617
  }
42416
42618
  return throwException(error(str$p + " is not a reserved word"))();
42417
42619
  };
42620
+ var imports_ = /* @__PURE__ */ manyRec2(/* @__PURE__ */ (() => {
42621
+ const $0 = keyword2("import");
42622
+ const $1 = joinWith("/");
42623
+ const $2 = sepBy1(token.identifier)(token.reservedOp("."));
42624
+ return (state1, more, lift12, $$throw2, done) => more((v2) => more((v1) => $0(
42625
+ state1,
42626
+ more,
42627
+ lift12,
42628
+ $$throw2,
42629
+ (state2, a) => more((v2$1) => more((v3) => more((v1$1) => $2(
42630
+ state2,
42631
+ more,
42632
+ lift12,
42633
+ $$throw2,
42634
+ (state2$1, a$1) => more((v2$2) => {
42635
+ const $3 = $1(fromFoldable111(a$1));
42636
+ return more((v4) => done(state2$1, $3));
42637
+ })
42638
+ ))))
42639
+ )));
42640
+ })());
42641
+ var withImports = (p) => topLevel((state1, more, lift12, $$throw2, done) => more((v1) => imports_(
42642
+ state1,
42643
+ more,
42644
+ lift12,
42645
+ $$throw2,
42646
+ (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))))))
42647
+ )));
42418
42648
  var ident = (state1, more, lift12, $$throw2, done) => more((v1) => token.identifier(
42419
42649
  state1,
42420
42650
  more,
@@ -42716,17 +42946,8 @@ var varDefs = (expr$p) => {
42716
42946
  )));
42717
42947
  };
42718
42948
  var commentToken = /* @__PURE__ */ (() => {
42719
- const $0 = some(alternativeParserT)(lazyParserT)(docCommentLetter);
42720
- return (state1, more, lift12, $$throw2, done) => more((v1) => more((v1$1) => $0(
42721
- state1,
42722
- more,
42723
- lift12,
42724
- $$throw2,
42725
- (state2, a) => more((v2) => {
42726
- const $1 = fromCharArray(a);
42727
- return more((v2$1) => done(state2, $DocCommentElem("Token", $1)));
42728
- })
42729
- )));
42949
+ const $0 = letters(docCommentLetter);
42950
+ return (state1, more, lift12, $$throw2, done) => more((v1) => $0(state1, more, lift12, $$throw2, (state2, a) => more((v2) => done(state2, $DocCommentElem("Token", a)))));
42730
42951
  })();
42731
42952
  var commentExpr = (expr$p) => (state1, more, lift12, $$throw2, done) => more((v2) => more((v1) => string3("$")(
42732
42953
  state1,
@@ -43406,10 +43627,10 @@ var expr_$lazy = /* @__PURE__ */ binding(() => {
43406
43627
  if ($47) {
43407
43628
  return $42($ParseState(v4$5._1, v4$5._2, false), $46);
43408
43629
  }
43409
- return $43($ParseState($29, $30, false), identity31);
43630
+ return $43($ParseState($29, $30, false), identity32);
43410
43631
  });
43411
43632
  },
43412
- (state2, a) => $25((v2$3) => $43(state2, identity31))
43633
+ (state2, a) => $25((v2$3) => $43(state2, identity32))
43413
43634
  )));
43414
43635
  });
43415
43636
  },
@@ -43450,10 +43671,10 @@ var expr_$lazy = /* @__PURE__ */ binding(() => {
43450
43671
  if ($45) {
43451
43672
  return $40($ParseState(v4$4._1, v4$4._2, false), $44);
43452
43673
  }
43453
- return $41($ParseState($29, $30, false), identity31);
43674
+ return $41($ParseState($29, $30, false), identity32);
43454
43675
  });
43455
43676
  },
43456
- (state2, a) => $25((v2$3) => $41(state2, identity31))
43677
+ (state2, a) => $25((v2$3) => $41(state2, identity32))
43457
43678
  )));
43458
43679
  });
43459
43680
  },
@@ -43797,25 +44018,19 @@ var expr_$lazy = /* @__PURE__ */ binding(() => {
43797
44018
  return go;
43798
44019
  });
43799
44020
  var expr_ = /* @__PURE__ */ expr_$lazy();
43800
- var module_ = /* @__PURE__ */ (() => {
43801
- const $0 = topLevel((() => {
43802
- const $02 = sepBy_try(defs(expr_))(token.semi);
43803
- return (state1, more, lift12, $$throw2, done) => more((v2) => more((v1) => $02(
43804
- state1,
43805
- more,
43806
- lift12,
43807
- $$throw2,
43808
- (state2, a) => more((v2$1) => more((v3) => token.semi(state2, more, lift12, $$throw2, (state3, a$1) => more((v4) => done(state3, a)))))
43809
- )));
43810
- })());
43811
- return (state1, more, lift12, $$throw2, done) => more((v1) => $0(
44021
+ var module_ = /* @__PURE__ */ withImports(/* @__PURE__ */ (() => {
44022
+ const $0 = sepBy_try(defs(expr_))(token.semi);
44023
+ return (state1, more, lift12, $$throw2, done) => more((v2) => more((v1) => more((v1$1) => $0(
43812
44024
  state1,
43813
44025
  more,
43814
44026
  lift12,
43815
44027
  $$throw2,
43816
- (state2, a) => more((v2) => done(state2, $Module(bindList.bind(a)(identity13))))
43817
- ));
43818
- })();
44028
+ (state2, a) => more((v2$1) => {
44029
+ const $1 = $Module(bindList.bind(a)(identity13));
44030
+ return more((v2$2) => more((v3) => token.semi(state2, more, lift12, $$throw2, (state3, a$1) => more((v4) => done(state3, $1)))));
44031
+ })
44032
+ ))));
44033
+ })());
43819
44034
 
43820
44035
  // output-es/Primitive.Defs/index.js
43821
44036
  var foldM4 = (dictMonad) => (f) => (b0) => foldableDict.foldl((b) => (a) => dictMonad.Bind1().bind(b)((a$1) => f(a$1)(a)))(dictMonad.Applicative0().pure(b0));
@@ -43997,7 +44212,7 @@ var dict_intersectionWith = /* @__PURE__ */ $Tuple(
43997
44212
  const $1 = v._1;
43998
44213
  const $2 = v._2._1._1;
43999
44214
  const $3 = v._2._2._1._1;
44000
- return Bind1.bind($0.map(Dictionary3)($0.map(DictRep)(traversableDict.traverse(Applicative0)(identity19)(intersectionWith_Object((v2) => (v3) => {
44215
+ return Bind1.bind($0.map(Dictionary3)($0.map(DictRep)(traversableDict.traverse(Applicative0)(identity20)(intersectionWith_Object((v2) => (v3) => {
44001
44216
  const $4 = v3._2;
44002
44217
  const $5 = v2._1;
44003
44218
  const $6 = v3._1;
@@ -44218,7 +44433,7 @@ var unions4 = /* @__PURE__ */ (() => {
44218
44433
  };
44219
44434
  return go(Leaf2);
44220
44435
  })();
44221
- var identity32 = (x2) => x2;
44436
+ var identity33 = (x2) => x2;
44222
44437
  var verticesProgCxtVertex = {
44223
44438
  vertices: (v) => union7(unions13(listMap(verticesValVertex.vertices)(mapObjectString.values(v.primitives))))(union7(unions4(listMap(verticesModuleVertex.vertices)(v.mods)))(unions4(listMap((x2) => verticesExprVertex.vertices(x2._2))(v.datasets))))
44224
44439
  };
@@ -44295,13 +44510,47 @@ var traversableProgCxt = {
44295
44510
  const traverse9 = traversableEnv.traverse(dictApplicative);
44296
44511
  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));
44297
44512
  },
44298
- sequence: (dictApplicative) => (v) => traversableProgCxt.traverse(dictApplicative)(identity32)(v),
44513
+ sequence: (dictApplicative) => (v) => traversableProgCxt.traverse(dictApplicative)(identity33)(v),
44299
44514
  Functor0: () => functorProgCxt,
44300
44515
  Foldable1: () => foldableProgCxt
44301
44516
  };
44302
44517
 
44303
44518
  // output-es/Module/index.js
44519
+ var all3 = /* @__PURE__ */ (() => foldableList.foldMap((() => {
44520
+ const semigroupConj1 = { append: (v) => (v1) => v && v1 };
44521
+ return { mempty: true, Semigroup0: () => semigroupConj1 };
44522
+ })()))();
44523
+ var elem2 = /* @__PURE__ */ (() => {
44524
+ const any1 = foldableList.foldMap((() => {
44525
+ const semigroupDisj1 = { append: (v) => (v1) => v || v1 };
44526
+ return { mempty: false, Semigroup0: () => semigroupDisj1 };
44527
+ })());
44528
+ return (x2) => any1(($0) => x2 === $0);
44529
+ })();
44530
+ var fromFoldable21 = /* @__PURE__ */ (() => foldableSet.foldr(Cons)(Nil))();
44304
44531
  var boundedLattice2 = { BoundedJoinSemilattice0: () => boundedJoinSemilatticeUni, BoundedMeetSemilattice1: () => boundedMeetSemilatticeUni };
44532
+ var unions5 = /* @__PURE__ */ (() => {
44533
+ const go = (go$a0$copy) => (go$a1$copy) => {
44534
+ let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
44535
+ while (go$c) {
44536
+ const b = go$a0, v = go$a1;
44537
+ if (v.tag === "Nil") {
44538
+ go$c = false;
44539
+ go$r = b;
44540
+ continue;
44541
+ }
44542
+ if (v.tag === "Cons") {
44543
+ go$a0 = unionWith2(ordDVertex$p)($$const)(b)(v._1);
44544
+ go$a1 = v._2;
44545
+ continue;
44546
+ }
44547
+ fail();
44548
+ }
44549
+ return go$r;
44550
+ };
44551
+ return go(Leaf2);
44552
+ })();
44553
+ var union8 = /* @__PURE__ */ (() => setSet(ordDVertex$p).union)();
44305
44554
  var concatM2 = (dictMonad) => foldrArray((() => {
44306
44555
  const $0 = dictMonad.Bind1();
44307
44556
  return (f) => (g) => (a) => $0.bind(f(a))(g);
@@ -44323,38 +44572,105 @@ var parse = (dictMonadError) => {
44323
44572
  };
44324
44573
  };
44325
44574
  };
44326
- var parseProgram = (dictLoadFile) => (folders) => (file) => (dictMonadAff) => (dictMonadError) => dictMonadAff.MonadEffect0().Monad0().Bind1().bind(dictLoadFile.loadFile(dictMonadError)(dictMonadAff)(folders)(file))((() => {
44327
- const $0 = parse(dictMonadError);
44328
- return (a) => $0(a)(topLevel(expr_));
44329
- })());
44330
- var module_2 = (dictMonadAff) => {
44575
+ var loadModuleGraph = (dictMonadAff) => {
44331
44576
  const Monad0 = dictMonadAff.MonadEffect0().Monad0();
44332
- const Bind1 = Monad0.Bind1();
44333
- const Applicative0 = Monad0.Applicative0();
44577
+ const $0 = Monad0.Bind1();
44578
+ const $1 = Monad0.Applicative0();
44334
44579
  return (dictMonadError) => {
44335
44580
  const parse1 = parse(dictMonadError);
44336
44581
  const desugarModuleFwd = moduleFwd(dictMonadError)(boundedLattice2);
44337
- return (dictLoadFile) => {
44338
- const loadFile = dictLoadFile.loadFile(dictMonadError)(dictMonadAff);
44339
- return (folders) => (file) => (v) => {
44340
- const $0 = v.mods;
44341
- return Bind1.bind(Applicative0.pure())(() => Bind1.bind(loadFile(folders)(file))((src) => Bind1.bind(Bind1.bind(parse1(src)(module_))(desugarModuleFwd))((mod) => Applicative0.pure({
44342
- primitives: v.primitives,
44343
- mods: $List("Cons", mod, $0),
44344
- datasets: v.datasets
44345
- }))));
44582
+ return (dictMonadReader) => {
44583
+ const ask = dictMonadReader.MonadAsk0().ask;
44584
+ return (dictLoadFile) => {
44585
+ const loadFile2 = loadFile(dictLoadFile)(Monad0)(dictMonadError)(dictMonadAff);
44586
+ return (roots) => {
44587
+ const collectModules = (visited) => (graph) => (modules) => (imports) => {
44588
+ if (imports.tag === "Nil") {
44589
+ return $1.pure($Tuple(graph, modules));
44590
+ }
44591
+ if (imports.tag === "Cons") {
44592
+ if ((() => {
44593
+ const $2 = lookup2(ordString)(imports._1)(visited);
44594
+ if ($2.tag === "Nothing") {
44595
+ return false;
44596
+ }
44597
+ if ($2.tag === "Just") {
44598
+ return true;
44599
+ }
44600
+ fail();
44601
+ })()) {
44602
+ return collectModules(visited)(graph)(modules)(imports._2);
44603
+ }
44604
+ return $0.bind($0.bind(ask)((v) => $0.bind(loadFile2(v.fluidSrcPaths)(imports._1 + ".fld"))((src) => $0.bind(parse1(src)(module_))((v1) => {
44605
+ const $2 = v1._2;
44606
+ return $0.bind(desugarModuleFwd(v1._1))((mod$p) => $1.pure($Tuple(
44607
+ mod$p,
44608
+ imports._1 === "lib/prelude" ? $2 : $List("Cons", "lib/prelude", $2)
44609
+ )));
44610
+ }))))((v) => collectModules(insert3(ordString)(imports._1)()(visited))(insert3(ordString)(imports._1)(v._2)(graph))(insert3(ordString)(imports._1)(v._1)(modules))(foldableList.foldr(Cons)(imports._2)(v._2)));
44611
+ }
44612
+ fail();
44613
+ };
44614
+ return $0.bind(collectModules(Leaf2)(Leaf2)(Leaf2)(roots))((v) => {
44615
+ const $2 = v._1;
44616
+ return $1.pure({
44617
+ roots,
44618
+ topsorted: (() => {
44619
+ const go = (go$a0$copy) => (go$a1$copy) => {
44620
+ let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
44621
+ while (go$c) {
44622
+ const v$1 = go$a0, v1 = go$a1;
44623
+ if (v$1.tag === "Nil") {
44624
+ go$c = false;
44625
+ go$r = reverse2(v1);
44626
+ continue;
44627
+ }
44628
+ const v2 = find(foldableList)((mod) => {
44629
+ const v22 = lookup2(ordString)(mod)($2);
44630
+ if (v22.tag === "Nothing") {
44631
+ return true;
44632
+ }
44633
+ if (v22.tag === "Just") {
44634
+ return all3((dep) => !elem2(dep)(v$1))(v22._1);
44635
+ }
44636
+ fail();
44637
+ })(v$1);
44638
+ if (v2.tag === "Nothing") {
44639
+ go$c = false;
44640
+ go$r = throwException(error("Modules contain circular imports"))();
44641
+ continue;
44642
+ }
44643
+ if (v2.tag === "Just") {
44644
+ go$a0 = deleteBy2(eqStringImpl)(v2._1)(v$1);
44645
+ go$a1 = $List("Cons", v2._1, v1);
44646
+ continue;
44647
+ }
44648
+ fail();
44649
+ }
44650
+ return go$r;
44651
+ };
44652
+ return go(fromFoldable21(functorMap.map((v$1) => {
44653
+ })($2)))(Nil);
44654
+ })(),
44655
+ graph: $2,
44656
+ modules: v._2
44657
+ });
44658
+ });
44659
+ };
44346
44660
  };
44347
44661
  };
44348
44662
  };
44349
44663
  };
44350
44664
  var initialConfig = (dictMonadAff) => {
44351
44665
  const Monad0 = dictMonadAff.MonadEffect0().Monad0();
44352
- const Bind1 = Monad0.Bind1();
44353
- const Applicative0 = Monad0.Applicative0();
44354
- const $0 = monadAllocAllocT(Monad0);
44355
- const fresh1 = $0.fresh;
44356
- const alloc = traversableProgCxt.traverse($0.Monad0().Applicative0())((v) => fresh1);
44357
- const $1 = bindStateT(Monad0);
44666
+ const $0 = bindStateT(Monad0);
44667
+ const $1 = monadAllocAllocT(Monad0);
44668
+ const Applicative0 = $1.Monad0().Applicative0();
44669
+ const fresh1 = $1.fresh;
44670
+ const alloc1 = traversableProgCxt.traverse(Applicative0)((v) => fresh1);
44671
+ const applicativeStateT2 = applicativeStateT(Monad0);
44672
+ const traverse1 = traversableMap.traverse(applicativeStateT2);
44673
+ const alloc2 = traversableModule.traverse(Applicative0)((v) => fresh1);
44358
44674
  const runWithGraphT_spy2 = runWithGraphT_spy({
44359
44675
  Applicative0: () => applicativeStateT(Monad0),
44360
44676
  Bind1: () => bindStateT(Monad0)
@@ -44367,30 +44683,35 @@ var initialConfig = (dictMonadAff) => {
44367
44683
  const eval_progCxt1 = eval_progCxt2(monadReaderStateT(monadReaderStateT(dictMonadReader)));
44368
44684
  return (dictLoadFile) => {
44369
44685
  const eval_progCxt22 = eval_progCxt1((() => {
44370
- const loadFile1 = dictLoadFile.loadFile(dictMonadError)(dictMonadAff);
44686
+ const loadFileFromPath1 = dictLoadFile.loadFileFromPath(dictMonadError)(dictMonadAff);
44371
44687
  return {
44372
- loadFile: (dictMonadError1) => (dictMonadAff1) => (folders) => {
44373
- const $4 = loadFile1(folders);
44374
- return (x2) => {
44375
- const $5 = $4(x2);
44376
- 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(
44377
- x$1,
44378
- s
44379
- )));
44380
- };
44688
+ loadFileFromPath: (dictMonadError1) => (dictMonadAff1) => (x2) => {
44689
+ const $4 = loadFileFromPath1(x2);
44690
+ 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(
44691
+ x$1,
44692
+ s
44693
+ )));
44381
44694
  }
44382
44695
  };
44383
44696
  })());
44384
- 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(
44697
+ 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)({
44698
+ modules: modules$p,
44699
+ graph: moduleCxt.graph,
44700
+ roots: moduleCxt.roots,
44701
+ topsorted: moduleCxt.topsorted
44702
+ }))(union8(verticesProgCxtVertex.vertices(progCxt$p))(unions5(listMap(verticesModuleVertex.vertices)(foldableMap.foldr(Cons)(Nil)(modules$p))))))((v) => applicativeStateT2.pure($Tuple(
44385
44703
  progCxt$p,
44386
- (() => {
44387
- const $4 = dictFV.fv(e);
44388
- return filterWithKey((x2) => {
44389
- const $5 = setSet(ordString).member(x2)($4);
44390
- return (v$1) => $5;
44391
- })(v._2);
44392
- })()
44393
- )))))(0))((v) => Applicative0.pure({ n: v._1, progCxt: v._2._2._1, "\u03B3": v._2._2._2 })));
44704
+ $Tuple(
44705
+ modules$p,
44706
+ (() => {
44707
+ const $4 = dictFV.fv(e);
44708
+ return filterWithKey((x2) => {
44709
+ const $5 = setSet(ordString).member(x2)($4);
44710
+ return (v$1) => $5;
44711
+ })(v._2);
44712
+ })()
44713
+ )
44714
+ ))))))(0))((v) => Monad0.Applicative0().pure({ n: v._1, progCxt: v._2._2._1, "\u03B3": v._2._2._2._2 }));
44394
44715
  };
44395
44716
  };
44396
44717
  };
@@ -44398,37 +44719,46 @@ var initialConfig = (dictMonadAff) => {
44398
44719
  var prepConfig = (dictMonadAff) => {
44399
44720
  const Monad0 = dictMonadAff.MonadEffect0().Monad0();
44400
44721
  const $0 = Monad0.Bind1();
44722
+ const loadModuleGraph1 = loadModuleGraph(dictMonadAff);
44401
44723
  const initialConfig1 = initialConfig(dictMonadAff);
44402
44724
  return (dictMonadError) => {
44725
+ const loadModuleGraph2 = loadModuleGraph1(dictMonadError);
44403
44726
  const desug1 = exprFwd(boundedLattice2)(dictMonadError)(joinSemilatticeUnit);
44404
44727
  const initialConfig2 = initialConfig1(dictMonadError);
44405
44728
  return (dictMonadReader) => {
44406
- const ask = dictMonadReader.MonadAsk0().ask;
44729
+ const loadModuleGraph3 = loadModuleGraph2(dictMonadReader);
44407
44730
  const initialConfig3 = initialConfig2(dictMonadReader);
44408
44731
  return (dictLoadFile) => {
44732
+ const loadModuleGraph4 = loadModuleGraph3(dictLoadFile);
44409
44733
  const initialConfig4 = initialConfig3(dictLoadFile)(fVExpr);
44410
- 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({
44411
- s,
44412
- e,
44413
- gconfig
44414
- })))));
44734
+ return (progCxt) => (fluidSrc) => $0.bind(parse(dictMonadError)(fluidSrc)(withImports(expr_)))((v) => {
44735
+ const $1 = v._1;
44736
+ 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({
44737
+ s: $1,
44738
+ e,
44739
+ gconfig
44740
+ }))));
44741
+ });
44415
44742
  };
44416
44743
  };
44417
44744
  };
44418
44745
  };
44419
44746
  var datasetAs = (dictMonadAff) => {
44420
44747
  const Monad0 = dictMonadAff.MonadEffect0().Monad0();
44421
- const $0 = Monad0.Bind1();
44748
+ const Bind1 = Monad0.Bind1();
44422
44749
  return (dictMonadError) => {
44423
44750
  const desug1 = exprFwd(boundedLattice2)(dictMonadError)(joinSemilatticeUnit);
44424
- return (dictLoadFile) => (folders) => (v) => (v1) => {
44425
- const $1 = v1.datasets;
44426
- const $2 = v._1;
44427
- return $0.bind($0.bind(parseProgram(dictLoadFile)(folders)(v._2)(dictMonadAff)(dictMonadError))(desug1))((e\u03B1) => Monad0.Applicative0().pure({
44428
- primitives: v1.primitives,
44429
- mods: v1.mods,
44430
- datasets: $List("Cons", $Tuple($2, e\u03B1), $1)
44431
- }));
44751
+ return (dictLoadFile) => {
44752
+ const loadFile2 = loadFile(dictLoadFile)(Monad0)(dictMonadError)(dictMonadAff);
44753
+ return (folders) => (v) => (v1) => {
44754
+ const $0 = v1.datasets;
44755
+ const $1 = v._1;
44756
+ return Bind1.bind(loadFile2(folders)(v._2))((src) => Bind1.bind(Bind1.bind(Bind1.Apply0().Functor0().map(fst)(parse(dictMonadError)(src)(withImports(expr_))))(desug1))((e\u03B1) => Monad0.Applicative0().pure({
44757
+ primitives: v1.primitives,
44758
+ mods: v1.mods,
44759
+ datasets: $List("Cons", $Tuple($1, e\u03B1), $0)
44760
+ })));
44761
+ };
44432
44762
  };
44433
44763
  };
44434
44764
  };
@@ -44436,21 +44766,18 @@ var loadProgCxt = (dictMonadAff) => {
44436
44766
  const Monad0 = dictMonadAff.MonadEffect0().Monad0();
44437
44767
  const $0 = Monad0.Bind1();
44438
44768
  const concatM1 = concatM2(Monad0);
44439
- const module_1 = module_2(dictMonadAff);
44440
44769
  const datasetAs1 = datasetAs(dictMonadAff);
44441
44770
  return (dictMonadError) => {
44442
- const module_22 = module_1(dictMonadError);
44443
44771
  const datasetAs2 = datasetAs1(dictMonadError);
44444
44772
  return (dictMonadReader) => {
44445
44773
  const ask = dictMonadReader.MonadAsk0().ask;
44446
44774
  return (dictLoadFile) => {
44447
- const module_3 = module_22(dictLoadFile);
44448
44775
  const datasetAs3 = datasetAs2(dictLoadFile);
44449
- return (mods) => (datasets) => $0.bind(ask)((v) => $0.bind($0.bind(Monad0.Applicative0().pure({
44776
+ return (datasets) => $0.bind(ask)((v) => $0.bind(Monad0.Applicative0().pure({
44450
44777
  primitives,
44451
44778
  mods: Nil,
44452
44779
  datasets: Nil
44453
- }))(concatM1(arrayMap(module_3(v.fluidSrcPaths))(["lib/prelude", ...mods]))))(concatM1(arrayMap((() => {
44780
+ }))(concatM1(arrayMap((() => {
44454
44781
  const $1 = datasetAs3(v.fluidSrcPaths);
44455
44782
  return (x2) => $1($Tuple(x2._1, x2._2));
44456
44783
  })())(datasets))));
@@ -44460,12 +44787,12 @@ var loadProgCxt = (dictMonadAff) => {
44460
44787
  };
44461
44788
 
44462
44789
  // output-es/App.Fig/index.js
44463
- var fromFoldable21 = /* @__PURE__ */ fromFoldable(foldableSet);
44790
+ var fromFoldable25 = /* @__PURE__ */ fromFoldable(foldableSet);
44464
44791
  var ordVal2 = /* @__PURE__ */ ordVal(ordVertex);
44465
44792
  var botOf2 = /* @__PURE__ */ (() => ({ botOf: functorSelStates.map((v) => false) }))();
44466
44793
  var select\u{1D539}s = /* @__PURE__ */ (() => select\u03B1s\u{1D539}Vertex(applyVal)(foldableVal)["select\u{1D539}s"])();
44467
44794
  var fromFoldable112 = /* @__PURE__ */ fromFoldable(foldableDict);
44468
- var fromFoldable25 = /* @__PURE__ */ foldlArray((m) => (a) => insert3(ordString)(a)()(m))(Leaf2);
44795
+ var fromFoldable26 = /* @__PURE__ */ foldlArray((m) => (a) => insert3(ordString)(a)()(m))(Leaf2);
44469
44796
  var graphGC2 = /* @__PURE__ */ graphGC(graphGraphImpl);
44470
44797
  var graphGC1 = /* @__PURE__ */ graphGC2(applyVal)(applyEnvExpr)(foldableVal)(foldableEnvExpr);
44471
44798
  var graphGC22 = /* @__PURE__ */ graphGC2(applyEnvExpr)(applyVal)(foldableEnvExpr)(foldableVal);
@@ -44489,7 +44816,7 @@ var \u03B9from\u03B1s = (dictGraph) => (g) => {
44489
44816
  }
44490
44817
  return Nothing;
44491
44818
  });
44492
- return (x2) => fromFoldable21($0(x2));
44819
+ return (x2) => fromFoldable25($0(x2));
44493
44820
  };
44494
44821
  var unprojExpr = (dictBoundedMeetSemilattice) => (v) => {
44495
44822
  const $0 = v._2;
@@ -44815,16 +45142,15 @@ var loadFig = (dictMonadAff) => {
44815
45142
  const loadProgCxt3 = loadProgCxt22(dictLoadFile);
44816
45143
  const prepConfig3 = prepConfig22(dictLoadFile);
44817
45144
  const graphEval22 = graphEval1(dictLoadFile)(dictMonadError);
44818
- return (v) => {
44819
- const $1 = v.file;
44820
- const $2 = v.inputs;
44821
- const $3 = v.linking;
44822
- return $0.bind(loadProgCxt3(v.imports)(v.datasets))((progCxt) => $0.bind(prepConfig3($1)(progCxt))((v1) => {
44823
- const $4 = v1.s;
45145
+ return (v) => (fluidSrc) => {
45146
+ const $1 = v.inputs;
45147
+ const $2 = v.linking;
45148
+ return $0.bind(loadProgCxt3(v.datasets))((progCxt) => $0.bind(prepConfig3(progCxt)(fluidSrc))((v1) => {
45149
+ const $3 = v1.s;
44824
45150
  return $0.bind(graphEval22(v1.gconfig)(v1.e))((v2) => {
44825
- const $5 = v2.g;
44826
- const $6 = v2["out\u03B1"];
44827
- const $7 = v2["in\u03B1"]._1;
45151
+ const $4 = v2.g;
45152
+ const $5 = v2["out\u03B1"];
45153
+ const $6 = v2["in\u03B1"]._1;
44828
45154
  const opEval = {
44829
45155
  g: $GraphImpl({ out: v2.g._1.in_, in_: v2.g._1.out, sinks: v2.g._1.sources, sources: v2.g._1.sinks, vertices: v2.g._1.vertices }),
44830
45156
  graph_fwd: v2.graph_fwd,
@@ -44832,86 +45158,86 @@ var loadFig = (dictMonadAff) => {
44832
45158
  "in\u03B1": v2["out\u03B1"],
44833
45159
  "out\u03B1": v2["in\u03B1"]
44834
45160
  };
44835
- const inputs$p = fromFoldable25($2);
45161
+ const inputs$p = fromFoldable26($1);
44836
45162
  const v3 = functorEnvExpr.map((v$1) => {
44837
45163
  })(v2["in\u03B1"]);
44838
- const $8 = unrestrictGC(boundedMeetSemilatticeBoo)(v3._1)(inputs$p);
44839
- const $9 = unprojExpr(boundedMeetSemilatticeBoo)($EnvExpr(v3._1, v3._2));
44840
- const $10 = filterWithKey((x2) => {
44841
- const $102 = setSet(ordString).member(x2)(inputs$p);
44842
- return (v$1) => $102;
44843
- })($7);
44844
- const $11 = _fmapObject($7, functorVal.map((v$1) => false));
44845
- const $12 = functorVal.map((v$1) => false)($6);
45164
+ const $7 = unrestrictGC(boundedMeetSemilatticeBoo)(v3._1)(inputs$p);
45165
+ const $8 = unprojExpr(boundedMeetSemilatticeBoo)($EnvExpr(v3._1, v3._2));
45166
+ const $9 = filterWithKey((x2) => {
45167
+ const $92 = setSet(ordString).member(x2)(inputs$p);
45168
+ return (v$1) => $92;
45169
+ })($6);
45170
+ const $10 = _fmapObject($6, functorVal.map((v$1) => false));
45171
+ const $11 = functorVal.map((v$1) => false)($5);
44846
45172
  const graphgc_op = graphGC1(opEval);
44847
45173
  const graphgc = graphGC22(v2);
44848
- const inertFwd = verticesGraphImpl.vertices(graphgc.fwd($9.fwd($8.fwd($11)))._2);
44849
- const inertBwd = setSet5.difference(verticesGraphImpl.vertices($5))(verticesGraphImpl.vertices(graphgc.bwd(functorVal.map((v$1) => true)($6))._2));
44850
- const $13 = select\u03B1s\u{1D539}Vertex2["select\u{1D539}s"]($7)(inertBwd);
44851
- const $14 = select\u{1D539}s($6)(inertFwd);
44852
- const $15 = _fmapObject($13, functorVal.map(selState));
44853
- const $16 = functorVal.map(selState)($14);
44854
- const demands = lift1($15)((v6) => {
44855
- const $17 = graphgc.bwd(v6);
44856
- return $Tuple($8.bwd($9.bwd($17._1)), $17._2);
45174
+ const inertFwd = verticesGraphImpl.vertices(graphgc.fwd($8.fwd($7.fwd($10)))._2);
45175
+ const inertBwd = setSet5.difference(verticesGraphImpl.vertices($4))(verticesGraphImpl.vertices(graphgc.bwd(functorVal.map((v$1) => true)($5))._2));
45176
+ const $12 = select\u03B1s\u{1D539}Vertex2["select\u{1D539}s"]($6)(inertBwd);
45177
+ const $13 = select\u{1D539}s($5)(inertFwd);
45178
+ const $14 = _fmapObject($12, functorVal.map(selState));
45179
+ const $15 = functorVal.map(selState)($13);
45180
+ const demands = lift1($14)((v6) => {
45181
+ const $16 = graphgc.bwd(v6);
45182
+ return $Tuple($7.bwd($8.bwd($16._1)), $16._2);
44857
45183
  });
44858
- const demandedBy = lift2($16)((\u03B31) => graphgc_op.bwd(deMorgan((x2) => $9.fwd($8.fwd(x2)))(\u03B31)));
45184
+ const demandedBy = lift2($15)((\u03B31) => graphgc_op.bwd(deMorgan((x2) => $8.fwd($7.fwd(x2)))(\u03B31)));
44859
45185
  return Monad0.Applicative0().pure({
44860
45186
  spec: v,
44861
- s: $4,
45187
+ s: $3,
44862
45188
  "\u03B3": intersectionWith_Object(apply)(_fmapObject(
44863
45189
  intersectionWith_Object(apply)(_fmapObject(
44864
- _fmapObject($13, functorVal.map(selStates)),
45190
+ _fmapObject($12, functorVal.map(selStates)),
44865
45191
  applyVal.apply
44866
- ))($11),
45192
+ ))($10),
44867
45193
  applyVal.apply
44868
- ))($11),
44869
- v: applyVal.apply(applyVal.apply(functorVal.map(selStates)($14))($12))($12),
45194
+ ))($10),
45195
+ v: applyVal.apply(applyVal.apply(functorVal.map(selStates)($13))($11))($11),
44870
45196
  "\u03B9": empty,
44871
45197
  linkedOutputs: (selType) => (v6) => {
44872
45198
  const v$p = functorVal.map(getSel(selType))(v6);
44873
45199
  const v7 = demands(v$p);
44874
- return $Tuple(v7._1, $Tuple($3 ? demandedBy(v7._1)._1 : v$p, verticesGraphImpl.vertices(v7._2)));
45200
+ return $Tuple(v7._1, $Tuple($2 ? demandedBy(v7._1)._1 : v$p, verticesGraphImpl.vertices(v7._2)));
44875
45201
  },
44876
45202
  linkedInputs: (selType) => (\u03B31) => {
44877
45203
  const \u03B3$p = _fmapObject(\u03B31, functorVal.map(getSel(selType)));
44878
45204
  const v6 = demandedBy(\u03B3$p);
44879
- return $Tuple($3 ? demands(v6._1)._1 : \u03B3$p, $Tuple(v6._1, verticesGraphImpl.vertices(v6._2)));
45205
+ return $Tuple($2 ? demands(v6._1)._1 : \u03B3$p, $Tuple(v6._1, verticesGraphImpl.vertices(v6._2)));
44880
45206
  },
44881
45207
  linkIntermediates: (\u03B9) => {
44882
45208
  const \u03B1s = select\u03B1s\u{1D539}Vertex2["select\u03B1s"](_fmapObject(
44883
45209
  \u03B9,
44884
45210
  functorVal.map((x2) => {
44885
- const $17 = getSel(Transient)(x2);
44886
- if ($17.tag === "Inert") {
45211
+ const $16 = getSel(Transient)(x2);
45212
+ if ($16.tag === "Inert") {
44887
45213
  return false;
44888
45214
  }
44889
- if ($17.tag === "Reactive") {
44890
- return $17._1;
45215
+ if ($16.tag === "Reactive") {
45216
+ return $16._1;
44891
45217
  }
44892
45218
  fail();
44893
45219
  })
44894
- ))(\u03B9from\u03B1s(graphGraphImpl)($5)(mapObjectString.keys(\u03B9)));
45220
+ ))(\u03B9from\u03B1s(graphGraphImpl)($4)(mapObjectString.keys(\u03B9)));
44895
45221
  return $Tuple(
44896
- intersectionWith_Object(apply)(_fmapObject($15, applyVal.apply))(select\u03B1s\u{1D539}Vertex2["select\u{1D539}s"]($7)(verticesGraphImpl.vertices(bwdSlice3($Tuple(
45222
+ intersectionWith_Object(apply)(_fmapObject($14, applyVal.apply))(select\u03B1s\u{1D539}Vertex2["select\u{1D539}s"]($6)(verticesGraphImpl.vertices(bwdSlice3($Tuple(
44897
45223
  \u03B1s,
44898
45224
  v2.g
44899
45225
  ))))),
44900
45226
  $Tuple(
44901
- applyVal.apply($16)(select\u{1D539}s($6)(verticesGraphImpl.vertices(bwdSlice3($Tuple(\u03B1s, opEval.g))))),
45227
+ applyVal.apply($15)(select\u{1D539}s($5)(verticesGraphImpl.vertices(bwdSlice3($Tuple(\u03B1s, opEval.g))))),
44902
45228
  map2(ordDVertex$p)((\u03B1) => $Tuple(
44903
45229
  \u03B1,
44904
- definitely("in graph")(_lookup(Nothing, Just, \u03B1, $5._1.out))._2
45230
+ definitely("in graph")(_lookup(Nothing, Just, \u03B1, $4._1.out))._2
44905
45231
  ))(\u03B1s)
44906
45232
  )
44907
45233
  );
44908
45234
  },
44909
45235
  dir: { persistent: LinkedOutputs, transient: LinkedOutputs },
44910
- in_views: _fmapObject($10, (v$1) => Nothing),
45236
+ in_views: _fmapObject($9, (v$1) => Nothing),
44911
45237
  out_view: Nothing,
44912
45238
  intermediate_views: empty,
44913
45239
  in_roots: fold((z) => (v$1) => (a) => insert3(ordVertex)(a)()(z))(Leaf2)(_fmapObject(
44914
- $10,
45240
+ $9,
44915
45241
  (v6) => v6._1
44916
45242
  )),
44917
45243
  inerts: intersection3(inertFwd)(inertBwd)
@@ -45246,69 +45572,6 @@ var gDecodeJsonCons = (dictDecodeJsonField) => (dictGDecodeJson) => (dictIsSymbo
45246
45572
  }
45247
45573
  });
45248
45574
 
45249
- // output-es/File/index.js
45250
- var Folder = (x2) => x2;
45251
-
45252
- // output-es/Module.Web/index.js
45253
- var findM = (xs) => (f) => (base2) => foldrArray((x2) => (acc) => applyAff.apply(_map(altEither.alt)(acc))(f(x2)))(_pure(base2))(xs);
45254
- var loadFileWebT = (dictMonadThrow) => {
45255
- const Monad0 = dictMonadThrow.Monad0();
45256
- const bind1 = bindReaderT(Monad0.Bind1()).bind;
45257
- const monadWebT1 = monadReaderT(Monad0);
45258
- const bindExceptT2 = bindExceptT(monadWebT1);
45259
- const applicativeExceptT2 = applicativeExceptT(monadWebT1);
45260
- const $0 = Monad0.Applicative0();
45261
- return {
45262
- loadFile: (dictMonadError) => (dictMonadAff) => (folders) => (v) => bind1(bindExceptT2.bind(dictMonadAff.liftAff(findM(arrayMap((() => {
45263
- const $1 = v + ".fld";
45264
- return (a) => a + "/" + $1;
45265
- })())(folders))((v1) => _bind(request(driver)({
45266
- method: $Either("Left", HEAD),
45267
- url: v1,
45268
- headers: [],
45269
- content: Nothing,
45270
- username: Nothing,
45271
- password: Nothing,
45272
- withCredentials: false,
45273
- responseFormat: $ResponseFormat("String", identity),
45274
- timeout: Nothing
45275
- }))((resp) => _pure((() => {
45276
- if (resp.tag === "Right") {
45277
- if (resp._1.status === 200) {
45278
- return $Either("Right", $Tuple(resp._1, v1));
45279
- }
45280
- return $Either("Left", RequestFailedError);
45281
- }
45282
- if (resp.tag === "Left") {
45283
- return $Either("Left", resp._1);
45284
- }
45285
- fail();
45286
- })())))($Either("Left", RequestFailedError))))((v1) => {
45287
- const $1 = v1._2;
45288
- return bindExceptT2.bind(applicativeExceptT2.pure())(() => bindExceptT2.bind(dictMonadAff.liftAff(request(driver)({
45289
- method: $Either("Left", GET),
45290
- url: $1,
45291
- headers: [],
45292
- content: Nothing,
45293
- username: Nothing,
45294
- password: Nothing,
45295
- withCredentials: false,
45296
- responseFormat: $ResponseFormat("String", identity),
45297
- timeout: Nothing
45298
- })))((contents) => applicativeExceptT2.pure(contents.body)));
45299
- }))((result) => {
45300
- if (result.tag === "Left") {
45301
- return monadThrowReaderT(dictMonadThrow).throwError(error(printError(result._1)));
45302
- }
45303
- if (result.tag === "Right") {
45304
- const $1 = $0.pure(result._1);
45305
- return (v$1) => $1;
45306
- }
45307
- fail();
45308
- })
45309
- };
45310
- };
45311
-
45312
45575
  // output-es/App.LoadFigure/index.js
45313
45576
  var gDecodeJsonCons2 = /* @__PURE__ */ gDecodeJsonCons(/* @__PURE__ */ (() => {
45314
45577
  const $0 = decodeArray(caseJsonString($Either(
@@ -45356,39 +45619,27 @@ var decodeJson = /* @__PURE__ */ (() => decodeRecord(gDecodeJsonCons((() => {
45356
45619
  return Nothing;
45357
45620
  }
45358
45621
  };
45359
- })())(gDecodeJsonCons({
45360
- decodeJsonField: (j) => {
45361
- if (j.tag === "Just") {
45362
- return $Maybe(
45363
- "Just",
45364
- _caseJson(
45365
- (v) => $Either("Left", $JsonDecodeError("TypeMismatch", "String")),
45366
- (v) => $Either("Left", $JsonDecodeError("TypeMismatch", "String")),
45367
- (v) => $Either("Left", $JsonDecodeError("TypeMismatch", "String")),
45368
- Right,
45369
- (v) => $Either("Left", $JsonDecodeError("TypeMismatch", "String")),
45370
- (v) => $Either("Left", $JsonDecodeError("TypeMismatch", "String")),
45371
- j._1
45372
- )
45373
- );
45374
- }
45375
- return Nothing;
45376
- }
45377
- })(gDecodeJsonCons2(gDecodeJsonCons2(gDecodeJsonCons2(gDecodeJsonCons1(gDecodeJsonCons1(gDecodeJsonNil)({ reflectSymbol: () => "query" })()())({
45622
+ })())(gDecodeJsonCons2(gDecodeJsonCons2(gDecodeJsonCons1(gDecodeJsonCons1(gDecodeJsonNil)({ reflectSymbol: () => "query" })()())({
45378
45623
  reflectSymbol: () => "linking"
45379
- })()())({ reflectSymbol: () => "inputs" })()())({ reflectSymbol: () => "imports" })()())({ reflectSymbol: () => "fluidSrcPath" })()())({ reflectSymbol: () => "file" })()())({
45380
- reflectSymbol: () => "datasets"
45381
- })()())().decodeJson)();
45382
- var monadAffWebT = /* @__PURE__ */ monadAffReader(monadAffAff);
45383
- var monadErrorErrorWebT = /* @__PURE__ */ monadErrorReaderT(monadErrorAff);
45384
- var loadFileWebT2 = /* @__PURE__ */ loadFileWebT(monadThrowAff);
45385
- var loadFig2 = /* @__PURE__ */ loadFig(monadAffWebT)(monadErrorErrorWebT)(/* @__PURE__ */ monadReaderReaderT(monadAff))(loadFileWebT2);
45386
- var loadFile$p = (folders) => (file) => (dictMonadAff) => (dictMonadError) => dictMonadAff.MonadEffect0().Monad0().Bind1().Apply0().Functor0().map((v) => $Tuple(file, v))(loadFileWebT2.loadFile(dictMonadError)(dictMonadAff)(folders)(file));
45624
+ })()())({ reflectSymbol: () => "inputs" })()())({ reflectSymbol: () => "fluidSrcPath" })()())({ reflectSymbol: () => "datasets" })()())().decodeJson)();
45625
+ var loadFig2 = /* @__PURE__ */ loadFig(/* @__PURE__ */ monadAffReader(monadAffAff))(/* @__PURE__ */ monadErrorReaderT(monadErrorAff))(/* @__PURE__ */ monadReaderReaderT(monadAff))({
45626
+ loadFileFromPath: (dictMonadError1) => (dictMonadAff1) => (x2) => {
45627
+ const $0 = loadFileAff.loadFileFromPath(monadErrorAff)(monadAffAff)(x2);
45628
+ return (v) => $0;
45629
+ }
45630
+ });
45631
+ var loadSpec = (filename) => _bind($$get(driver)($ResponseFormat("Json", identity))(filename))((result) => {
45632
+ if (result.tag === "Left") {
45633
+ return throwException(error("Json fetching failed with " + printError(result._1)))();
45634
+ }
45635
+ if (result.tag === "Right") {
45636
+ return _pure(result._1.body);
45637
+ }
45638
+ fail();
45639
+ });
45387
45640
  var figSpecFromJson = (v) => ({
45388
45641
  fluidSrcPaths: arrayMap(Folder)(v.fluidSrcPath),
45389
45642
  datasets: v.datasets,
45390
- imports: v.imports,
45391
- file: v.file,
45392
45643
  inputs: v.inputs,
45393
45644
  query: v.query ? $Maybe(
45394
45645
  "Just",
@@ -45408,25 +45659,79 @@ var figSpecFromJson = (v) => ({
45408
45659
  ) : Nothing,
45409
45660
  linking: v.linking
45410
45661
  });
45411
- var loadFigure = (fileName) => runAffs_((v) => drawFig(v._1)(v._2))([
45412
- _bind($$get(driver)($ResponseFormat("Json", identity))(fileName))((result) => {
45413
- if (result.tag === "Left") {
45414
- return throwException(error("Json fetching failed with " + printError(result._1)))();
45662
+ var loadFigureSpecSrc = (jsonSpec) => (fluidSrc) => runAffs_((v) => drawFig(v._1)(v._2))([
45663
+ (() => {
45664
+ const v = decodeJson(jsonSpec);
45665
+ if (v.tag === "Left") {
45666
+ return throwException(error("JSON decoding failed with " + showJsonDecodeError.show(v._1)))();
45415
45667
  }
45416
- if (result.tag === "Right") {
45417
- const v = decodeJson(result._1.body);
45418
- if (v.tag === "Left") {
45419
- return throwException(error("JSON decoding failed with " + showJsonDecodeError.show(v._1)))();
45668
+ if (v.tag === "Right") {
45669
+ const v1 = figSpecFromJson(v._1);
45670
+ return _map((v2) => $Tuple("fig", v2))(loadFig2(v1)(fluidSrc)({ fluidSrcPaths: v1.fluidSrcPaths }));
45671
+ }
45672
+ fail();
45673
+ })()
45674
+ ]);
45675
+ var loadFigureSpec = (jsonSpec) => (srcFile) => {
45676
+ const $0 = _makeFiber(
45677
+ ffiUtil,
45678
+ _bind(loadFileAff.loadFileFromPath(monadErrorAff)(monadAffAff)(srcFile))((fluidSrc) => _liftEffect(loadFigureSpecSrc(jsonSpec)(definitely("absurd")(fluidSrc))))
45679
+ );
45680
+ return () => {
45681
+ const fiber = $0();
45682
+ fiber.run();
45683
+ };
45684
+ };
45685
+ var loadFigure = (specFile) => (srcFile) => {
45686
+ const $0 = _makeFiber(ffiUtil, _bind(loadSpec(specFile))((jsonSpec) => _liftEffect(loadFigureSpec(jsonSpec)(srcFile))));
45687
+ return () => {
45688
+ const fiber = $0();
45689
+ fiber.run();
45690
+ };
45691
+ };
45692
+ var loadFigureSrc = (specFile) => (fluidSrc) => {
45693
+ const $0 = _makeFiber(ffiUtil, _bind(loadSpec(specFile))((jsonSpec) => _liftEffect(loadFigureSpecSrc(jsonSpec)(fluidSrc))));
45694
+ return () => {
45695
+ const fiber = $0();
45696
+ fiber.run();
45697
+ };
45698
+ };
45699
+ var drawCode2 = (file) => {
45700
+ const $0 = split("/")(file);
45701
+ const $1 = index($0)($0.length - 1 | 0);
45702
+ const filename = (() => {
45703
+ if ($1.tag === "Just") {
45704
+ const $22 = index(split(".")($1._1))(0);
45705
+ if ($22.tag === "Just") {
45706
+ if ($22._1 === "") {
45707
+ return Nothing;
45708
+ }
45709
+ return $Maybe("Just", $22._1);
45420
45710
  }
45421
- if (v.tag === "Right") {
45422
- const v1 = figSpecFromJson(v._1);
45423
- return _map((v2) => $Tuple("fig", v2))(loadFig2(v1)({ fluidSrcPaths: v1.fluidSrcPaths }));
45711
+ if ($22.tag === "Nothing") {
45712
+ return Nothing;
45424
45713
  }
45714
+ fail();
45715
+ }
45716
+ if ($1.tag === "Nothing") {
45717
+ return Nothing;
45425
45718
  }
45426
45719
  fail();
45427
- })
45428
- ]);
45429
- var drawCode2 = (folder) => (file) => runAffs_(drawFile)([loadFile$p([folder])(file)(monadAffWebT)(monadErrorErrorWebT)({ fluidSrcPaths: [folder] })]);
45720
+ })();
45721
+ const errNotFound = "drawCode: File not found: " + file;
45722
+ const errEmptyName = "drawCode: Filename cannot be empty: " + file;
45723
+ const $2 = _makeFiber(
45724
+ ffiUtil,
45725
+ _bind(loadFileAff.loadFileFromPath(monadErrorAff)(monadAffAff)(file))((fluidSrc) => _liftEffect(drawFile($Tuple(
45726
+ definitely(errEmptyName)(filename),
45727
+ definitely(errNotFound)(fluidSrc)
45728
+ ))))
45729
+ );
45730
+ return () => {
45731
+ const fiber = $2();
45732
+ fiber.run();
45733
+ };
45734
+ };
45430
45735
  export {
45431
45736
  decodeJson,
45432
45737
  drawCode2 as drawCode,
@@ -45435,8 +45740,8 @@ export {
45435
45740
  gDecodeJsonCons1,
45436
45741
  loadFig2 as loadFig,
45437
45742
  loadFigure,
45438
- loadFile$p,
45439
- loadFileWebT2 as loadFileWebT,
45440
- monadAffWebT,
45441
- monadErrorErrorWebT
45743
+ loadFigureSpec,
45744
+ loadFigureSpecSrc,
45745
+ loadFigureSrc,
45746
+ loadSpec
45442
45747
  };