@explorable-viz/fluid 0.7.86 → 0.7.87

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.
@@ -744,8 +744,8 @@ var foldableArray = {
744
744
  }
745
745
  };
746
746
  var foldrDefault = (dictFoldable) => {
747
- const foldMap2 = dictFoldable.foldMap(monoidEndo);
748
- return (c) => (u) => (xs) => foldMap2((x2) => c(x2))(xs)(u);
747
+ const foldMap22 = dictFoldable.foldMap(monoidEndo);
748
+ return (c) => (u) => (xs) => foldMap22((x2) => c(x2))(xs)(u);
749
749
  };
750
750
 
751
751
  // output-es/Unsafe.Coerce/foreign.js
@@ -8429,19 +8429,19 @@ var FacetProvider = class {
8429
8429
  this.value = value;
8430
8430
  this.id = nextID++;
8431
8431
  }
8432
- dynamicSlot(addresses) {
8432
+ dynamicSlot(addresses2) {
8433
8433
  var _a2;
8434
8434
  let getter = this.value;
8435
8435
  let compare2 = this.facet.compareInput;
8436
- let id3 = this.id, idx = addresses[id3] >> 1, multi = this.type == 2;
8436
+ let id3 = this.id, idx = addresses2[id3] >> 1, multi = this.type == 2;
8437
8437
  let depDoc = false, depSel = false, depAddrs = [];
8438
8438
  for (let dep of this.dependencies) {
8439
8439
  if (dep == "doc")
8440
8440
  depDoc = true;
8441
8441
  else if (dep == "selection")
8442
8442
  depSel = true;
8443
- else if ((((_a2 = addresses[dep.id]) !== null && _a2 !== void 0 ? _a2 : 1) & 1) == 0)
8444
- depAddrs.push(addresses[dep.id]);
8443
+ else if ((((_a2 = addresses2[dep.id]) !== null && _a2 !== void 0 ? _a2 : 1) & 1) == 0)
8444
+ depAddrs.push(addresses2[dep.id]);
8445
8445
  }
8446
8446
  return {
8447
8447
  create(state) {
@@ -8492,11 +8492,11 @@ function ensureAll(state, addrs) {
8492
8492
  changed = true;
8493
8493
  return changed;
8494
8494
  }
8495
- function dynamicFacetSlot(addresses, facet, providers) {
8496
- let providerAddrs = providers.map((p) => addresses[p.id]);
8495
+ function dynamicFacetSlot(addresses2, facet, providers) {
8496
+ let providerAddrs = providers.map((p) => addresses2[p.id]);
8497
8497
  let providerTypes = providers.map((p) => p.type);
8498
8498
  let dynamic = providerAddrs.filter((p) => !(p & 1));
8499
- let idx = addresses[facet.id] >> 1;
8499
+ let idx = addresses2[facet.id] >> 1;
8500
8500
  function get3(state) {
8501
8501
  let values2 = [];
8502
8502
  for (let i = 0; i < providerAddrs.length; i++) {
@@ -8562,8 +8562,8 @@ var StateField = class {
8562
8562
  let init6 = state.facet(initField).find((i) => i.field == this);
8563
8563
  return ((init6 === null || init6 === void 0 ? void 0 : init6.create) || this.createF)(state);
8564
8564
  }
8565
- slot(addresses) {
8566
- let idx = addresses[this.id] >> 1;
8565
+ slot(addresses2) {
8566
+ let idx = addresses2[this.id] >> 1;
8567
8567
  return {
8568
8568
  create: (state) => {
8569
8569
  state.values[idx] = this.create(state);
@@ -27856,9 +27856,9 @@ var member3 = /* @__PURE__ */ (() => setSet(ordVertex).member)();
27856
27856
  var select\u03B1s\u{1D539}Vertex = (dictApply) => {
27857
27857
  const $0 = dictApply.Functor0();
27858
27858
  return (dictFoldable) => {
27859
- const unions12 = dictFoldable.foldl(union3(ordVertex))(Leaf2);
27859
+ const unions22 = dictFoldable.foldl(union3(ordVertex))(Leaf2);
27860
27860
  return {
27861
- "select\u03B1s": (v\u{1D539}) => (v\u03B1) => unions12(dictApply.apply($0.map((v) => {
27861
+ "select\u03B1s": (v\u{1D539}) => (v\u03B1) => unions22(dictApply.apply($0.map((v) => {
27862
27862
  if (v) {
27863
27863
  return singleton3;
27864
27864
  }
@@ -27868,12 +27868,19 @@ var select\u03B1s\u{1D539}Vertex = (dictApply) => {
27868
27868
  };
27869
27869
  };
27870
27870
  };
27871
+ var eqDVertex = { eq: (v) => (v1) => v._1 === v1._1 };
27872
+ var ordDVertex = { compare: (v) => (v1) => ordString.compare(v._1)(v1._1), Eq0: () => eqDVertex };
27873
+ var unions1 = /* @__PURE__ */ foldlArray(/* @__PURE__ */ union3(ordDVertex))(Leaf2);
27874
+ var verticesDict = (dictVertices) => {
27875
+ const vertices1 = dictVertices.vertices;
27876
+ return { vertices: (d) => unions1(arrayMap(vertices1)(values(d))) };
27877
+ };
27871
27878
  var showVertices = (\u03B1s) => "{" + joinWith(", ")(fromFoldable4(map2(ordString)(unsafeCoerce)(\u03B1s))) + "}";
27872
27879
  var showEdgeList = (es) => joinWith("\n")([
27873
27880
  "digraph G {",
27874
27881
  ...arrayMap((v) => " " + v)([
27875
27882
  "rankdir = RL",
27876
- ...arrayMap((v) => v._1 + " -> {" + joinWith(", ")(fromFoldable4(map2(ordString)(unsafeCoerce)(v._2))) + "}")(fromFoldable13(reverse2(es)))
27883
+ ...arrayMap((v) => v._1._1 + " -> {" + joinWith(", ")(fromFoldable4(map2(ordString)(unsafeCoerce)(v._2))) + "}")(fromFoldable13(reverse2(es)))
27877
27884
  ]),
27878
27885
  "}"
27879
27886
  ]);
@@ -27883,7 +27890,13 @@ var toEdgeList = (dictGraph) => (g) => {
27883
27890
  return $Step("Done", v._2);
27884
27891
  }
27885
27892
  if (v._1.tag === "Cons") {
27886
- return $Step("Loop", $Tuple(v._1._2, $List("Cons", $Tuple(v._1._1, dictGraph.outN(g)(v._1._1)), v._2)));
27893
+ return $Step(
27894
+ "Loop",
27895
+ $Tuple(
27896
+ v._1._2,
27897
+ $List("Cons", $Tuple($Tuple(v._1._1, dictGraph.vertexData(g)(v._1._1)), dictGraph.outN(g)(v._1._1)), v._2)
27898
+ )
27899
+ );
27887
27900
  }
27888
27901
  fail();
27889
27902
  };
@@ -27940,6 +27953,8 @@ var inEdges = (dictGraph) => (g) => (\u03B1s) => {
27940
27953
  };
27941
27954
  return go($0($Tuple(fromFoldable22(\u03B1s), Nil)));
27942
27955
  };
27956
+ var addresses = /* @__PURE__ */ map2(ordVertex)((x2) => x2._1);
27957
+ var showVertices$p = (x2) => showVertices(addresses(x2));
27943
27958
 
27944
27959
  // output-es/Data.CatQueue/index.js
27945
27960
  var $CatQueue = (_1, _2) => ({ tag: "CatQueue", _1, _2 });
@@ -28154,15 +28169,20 @@ var peek = /* @__PURE__ */ peekImpl2(Just)(Nothing);
28154
28169
  var $GraphImpl = (_1) => ({ tag: "GraphImpl", _1 });
28155
28170
  var eqSet = { eq: (v) => (v1) => eqMap(eqVertex)(eqUnit).eq(v)(v1) };
28156
28171
  var eq = /* @__PURE__ */ (() => eqObject(eqSet).eq)();
28157
- var fromFoldable6 = /* @__PURE__ */ foldlArray((m) => (a) => insert3(ordVertex)(a)()(m))(Leaf2);
28172
+ var fromFoldable15 = /* @__PURE__ */ foldlArray((m) => (a) => insert3(ordVertex)(a)()(m))(Leaf2);
28158
28173
  var toUnfoldable6 = /* @__PURE__ */ toUnfoldable4(unfoldableList);
28159
- var fromFoldable15 = /* @__PURE__ */ (() => foldableSet.foldr(Cons)(Nil))();
28160
- var fromFoldable23 = /* @__PURE__ */ (() => foldableSet.foldl((m) => (a) => insert3(ordVertex)(a)()(m))(Leaf2))();
28174
+ var fromFoldable23 = /* @__PURE__ */ (() => foldableSet.foldr(Cons)(Nil))();
28175
+ var fromFoldable32 = /* @__PURE__ */ (() => foldableSet.foldl((m) => (a) => insert3(ordVertex)(a)()(m))(Leaf2))();
28161
28176
  var toUnfoldable12 = /* @__PURE__ */ toAscUnfoldable(unfoldableArray);
28162
- var fromFoldable32 = /* @__PURE__ */ fromFoldable2(ordVertex)(foldableArray);
28163
- var verticesGraphImpl = { vertices: (v) => v._1.vertices };
28164
- var eqGraphImpl = { eq: (v) => (v1) => eq(v._1.out)(v1._1.out) };
28165
- var sinks$p = (m) => fromFoldable6(arrayMap((x2) => x2._1)(filter((x2) => x2._2.tag === "Leaf")(toArrayWithKey(Tuple)(m))));
28177
+ var fromFoldable42 = /* @__PURE__ */ fromFoldable2(ordVertex)(foldableArray);
28178
+ var verticesGraphImpl = {
28179
+ vertices: (v) => fold((z) => (v$1) => (a) => insert3(ordDVertex)(a)()(z))(Leaf2)(_mapWithKey(
28180
+ v._1.out,
28181
+ (k) => (v1) => $Tuple(k, v1._2)
28182
+ ))
28183
+ };
28184
+ var eqGraphImpl = { eq: (v) => (v1) => eq(_fmapObject(v._1.out, fst))(_fmapObject(v1._1.out, fst)) };
28185
+ var sinks$p = (m) => fromFoldable15(arrayMap((x2) => x2._1)(filter((x2) => x2._2._1.tag === "Leaf")(toArrayWithKey(Tuple)(m))));
28166
28186
  var init5 = (\u03B1s) => () => {
28167
28187
  const obj = {};
28168
28188
  return monadRecST.tailRecM((v) => {
@@ -28170,11 +28190,11 @@ var init5 = (\u03B1s) => () => {
28170
28190
  return () => $Step("Done", v._2);
28171
28191
  }
28172
28192
  if (v._1.tag === "Cons") {
28173
- const $0 = v._1._1;
28193
+ const $0 = v._1._1._1;
28174
28194
  const $1 = v._1._2;
28175
28195
  const $2 = v._2;
28176
28196
  return () => {
28177
- $2[$0] = Leaf2;
28197
+ $2[$0] = $Tuple(Leaf2, v._1._1._2);
28178
28198
  return $Step("Loop", $Tuple($1, $2));
28179
28199
  };
28180
28200
  }
@@ -28205,34 +28225,6 @@ var assertPresent = (v) => (v1) => {
28205
28225
  }
28206
28226
  fail();
28207
28227
  };
28208
- var addIfMissing = (acc) => (v) => {
28209
- const $0 = peek(v)(acc);
28210
- return () => {
28211
- const v1 = $0();
28212
- if (v1.tag === "Nothing") {
28213
- acc[v] = Leaf2;
28214
- return acc;
28215
- }
28216
- if (v1.tag === "Just") {
28217
- return acc;
28218
- }
28219
- fail();
28220
- };
28221
- };
28222
- var addIfMissing$p = (\u03B1s) => (acc) => monadRecST.tailRecM((v) => {
28223
- if (v._1.tag === "Nil") {
28224
- return () => $Step("Done", v._2);
28225
- }
28226
- if (v._1.tag === "Cons") {
28227
- const $0 = v._1._2;
28228
- const $1 = addIfMissing(v._2)(v._1._1);
28229
- return () => {
28230
- const acc$p$p = $1();
28231
- return $Step("Loop", $Tuple($0, acc$p$p));
28232
- };
28233
- }
28234
- fail();
28235
- })($Tuple(\u03B1s, acc));
28236
28228
  var outMap = (\u03B1s) => (es) => {
28237
28229
  const $0 = init5(\u03B1s);
28238
28230
  return () => {
@@ -28244,33 +28236,48 @@ var outMap = (\u03B1s) => (es) => {
28244
28236
  if (v._1.tag === "Cons") {
28245
28237
  const $1 = v._2;
28246
28238
  const $2 = v._1._2;
28247
- const $3 = v._1._1._1;
28248
- const $4 = v._1._1._2;
28249
- const $5 = peek($3)($1);
28239
+ const $3 = v._1._1._1._2;
28240
+ const $4 = v._1._1._1._1;
28241
+ const $5 = v._1._1._2;
28242
+ const $6 = peek($4)($1);
28250
28243
  return () => {
28251
- const $6 = $5();
28244
+ const $7 = $6();
28252
28245
  if ((() => {
28253
- if ($6.tag === "Nothing") {
28246
+ if ($7.tag === "Nothing") {
28254
28247
  return true;
28255
28248
  }
28256
- if ($6.tag === "Just") {
28257
- return eqMap(eqVertex)(eqUnit).eq($6._1)(Leaf2);
28249
+ if ($7.tag === "Just") {
28250
+ return eqMap(eqVertex)(eqUnit).eq($7._1._1)(Leaf2);
28258
28251
  }
28259
28252
  fail();
28260
28253
  })()) {
28261
- const \u03B2s$p = toUnfoldable6($4);
28262
- monadRecST.tailRecM(assertPresent($1))(\u03B2s$p)();
28263
- $1[$3] = $4;
28264
- const acc$p = addIfMissing$p(\u03B2s$p)($1)();
28265
- return $Step("Loop", $Tuple($2, acc$p));
28254
+ monadRecST.tailRecM(assertPresent($1))(toUnfoldable6($5))();
28255
+ $1[$4] = $Tuple($5, $3);
28256
+ return $Step("Loop", $Tuple($2, $1));
28266
28257
  }
28267
- return throwException(error("Duplicate edge list entry for " + showStringImpl($3)))()();
28258
+ return throwException(error("Duplicate edge list entry for " + showStringImpl($4)))()();
28268
28259
  };
28269
28260
  }
28270
28261
  fail();
28271
28262
  })($Tuple(es, out))();
28272
28263
  };
28273
28264
  };
28265
+ var addIfMissing = (acc) => (v) => {
28266
+ const $0 = v._2;
28267
+ const $1 = v._1;
28268
+ const $2 = peek($1)(acc);
28269
+ return () => {
28270
+ const v1 = $2();
28271
+ if (v1.tag === "Nothing") {
28272
+ acc[$1] = $Tuple(Leaf2, $0);
28273
+ return acc;
28274
+ }
28275
+ if (v1.tag === "Just") {
28276
+ return acc;
28277
+ }
28278
+ fail();
28279
+ };
28280
+ };
28274
28281
  var inMap = (\u03B1s) => (es) => {
28275
28282
  const $0 = init5(\u03B1s);
28276
28283
  return () => {
@@ -28281,37 +28288,38 @@ var inMap = (\u03B1s) => (es) => {
28281
28288
  }
28282
28289
  if (v._1.tag === "Cons") {
28283
28290
  const $1 = v._1._2;
28284
- const $2 = v._1._1._1;
28285
- const $3 = monadRecST.tailRecM((v1) => {
28286
- if (v1._1.tag === "Nil") {
28287
- return () => $Step("Done", v1._2);
28291
+ const $2 = v._1._1._1._2;
28292
+ const $3 = v._1._1._1._1;
28293
+ const $4 = monadRecST.tailRecM((v2) => {
28294
+ if (v2._1.tag === "Nil") {
28295
+ return () => $Step("Done", v2._2);
28288
28296
  }
28289
- if (v1._1.tag === "Cons") {
28290
- const $32 = v1._2;
28291
- const $4 = v1._1._1;
28292
- const $5 = v1._1._2;
28293
- const $6 = peek($4)($32);
28297
+ if (v2._1.tag === "Cons") {
28298
+ const $42 = v2._2;
28299
+ const $5 = v2._1._1;
28300
+ const $6 = v2._1._2;
28301
+ const $7 = peek($5)($42);
28294
28302
  return () => {
28295
- const v1$1 = $6();
28303
+ const v1 = $7();
28296
28304
  const acc$p = (() => {
28297
- if (v1$1.tag === "Nothing") {
28298
- $32[$4] = $$$Map("Two", Leaf2, $2, void 0, Leaf2);
28299
- return $32;
28305
+ if (v1.tag === "Nothing") {
28306
+ $42[$5] = $Tuple($$$Map("Two", Leaf2, $3, void 0, Leaf2), $2);
28307
+ return $42;
28300
28308
  }
28301
- if (v1$1.tag === "Just") {
28302
- $32[$4] = insert3(ordVertex)($2)()(v1$1._1);
28303
- return $32;
28309
+ if (v1.tag === "Just") {
28310
+ $42[$5] = $Tuple(insert3(ordVertex)($3)()(v1._1._1), $2);
28311
+ return $42;
28304
28312
  }
28305
28313
  fail();
28306
28314
  })();
28307
- return $Step("Loop", $Tuple($5, acc$p));
28315
+ return $Step("Loop", $Tuple($6, acc$p));
28308
28316
  };
28309
28317
  }
28310
28318
  fail();
28311
28319
  })($Tuple(toUnfoldable6(v._1._1._2), v._2));
28312
28320
  return () => {
28313
- const a = $3();
28314
- const acc$p = addIfMissing(a)($2)();
28321
+ const $5 = $4();
28322
+ const acc$p = addIfMissing($5)($Tuple($3, $2))();
28315
28323
  return $Step("Loop", $Tuple($1, acc$p));
28316
28324
  };
28317
28325
  }
@@ -28320,7 +28328,8 @@ var inMap = (\u03B1s) => (es) => {
28320
28328
  };
28321
28329
  };
28322
28330
  var graphGraphImpl = {
28323
- outN: (v) => (\u03B1) => definitely("in graph")(_lookup(Nothing, Just, \u03B1, v._1.out)),
28331
+ outN: (v) => (\u03B1) => definitely("in graph")(_lookup(Nothing, Just, \u03B1, v._1.out))._1,
28332
+ vertexData: (v) => (\u03B1) => definitely("in graph")(_lookup(Nothing, Just, \u03B1, v._1.out))._2,
28324
28333
  inN: (g) => graphGraphImpl.outN(graphGraphImpl.op(g)),
28325
28334
  elem: (\u03B1) => (v) => {
28326
28335
  const $0 = _lookup(Nothing, Just, \u03B1, v._1.out);
@@ -28344,7 +28353,7 @@ var graphGraphImpl = {
28344
28353
  vertices: Leaf2
28345
28354
  }),
28346
28355
  fromEdgeList: (\u03B1s) => (es) => {
28347
- const \u03B1s$p = fromFoldable15(\u03B1s);
28356
+ const \u03B1s$p = fromFoldable23(\u03B1s);
28348
28357
  const es$p = reverse2(es);
28349
28358
  const in_ = inMap(\u03B1s$p)(es$p)();
28350
28359
  const out = outMap(\u03B1s$p)(es$p)();
@@ -28353,13 +28362,13 @@ var graphGraphImpl = {
28353
28362
  in_,
28354
28363
  sinks: sinks$p(out),
28355
28364
  sources: sinks$p(in_),
28356
- vertices: fromFoldable23(map2(ordVertex)(Vertex)(mapObjectString.keys(out)))
28365
+ vertices: fromFoldable32(map2(ordVertex)(Vertex)(mapObjectString.keys(out)))
28357
28366
  });
28358
28367
  },
28359
- topologicalSort: (v) => reverse2(topologicalSort(ordVertex)(fromFoldable32(arrayMap((x2) => $Tuple(
28368
+ topologicalSort: (v) => reverse2(topologicalSort(ordVertex)(fromFoldable42(arrayMap((x2) => $Tuple(
28360
28369
  x2._1,
28361
28370
  $Tuple(void 0, x2._2)
28362
- ))(toUnfoldable12(_fmapObject(v._1.out, toUnfoldable6)))))),
28371
+ ))(toUnfoldable12(_fmapObject(_fmapObject(v._1.out, fst), toUnfoldable6)))))),
28363
28372
  Eq0: () => eqGraphImpl,
28364
28373
  Vertices1: () => verticesGraphImpl
28365
28374
  };
@@ -29175,12 +29184,34 @@ var $Elim = (tag, _1, _2) => ({ tag, _1, _2 });
29175
29184
  var $Expr = (tag, _1, _2, _3, _4) => ({ tag, _1, _2, _3, _4 });
29176
29185
  var $RecDefs = (_1, _2) => ({ tag: "RecDefs", _1, _2 });
29177
29186
  var $VarDef = (_1, _2) => ({ tag: "VarDef", _1, _2 });
29187
+ var union5 = /* @__PURE__ */ (() => setSet(ordDVertex).union)();
29188
+ var unions12 = /* @__PURE__ */ (() => {
29189
+ const go = (go$a0$copy) => (go$a1$copy) => {
29190
+ let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
29191
+ while (go$c) {
29192
+ const b = go$a0, v = go$a1;
29193
+ if (v.tag === "Nil") {
29194
+ go$c = false;
29195
+ go$r = b;
29196
+ continue;
29197
+ }
29198
+ if (v.tag === "Cons") {
29199
+ go$a0 = unionWith2(ordDVertex)($$const)(b)(v._1);
29200
+ go$a1 = v._2;
29201
+ continue;
29202
+ }
29203
+ fail();
29204
+ }
29205
+ return go$r;
29206
+ };
29207
+ return go(Leaf2);
29208
+ })();
29178
29209
  var eqSet2 = { eq: (v) => (v1) => eqMap(eqString)(eqUnit).eq(v)(v1) };
29179
29210
  var identity25 = (x2) => x2;
29180
29211
  var setSet2 = /* @__PURE__ */ setSet(ordString);
29181
- var fromFoldable7 = /* @__PURE__ */ (() => foldableSet.foldl((m) => (a) => insert3(ordString)(a)()(m))(Leaf2))();
29212
+ var fromFoldable6 = /* @__PURE__ */ (() => foldableSet.foldl((m) => (a) => insert3(ordString)(a)()(m))(Leaf2))();
29182
29213
  var asMaplet2 = /* @__PURE__ */ asMaplet(mapDictString);
29183
- var unions1 = /* @__PURE__ */ (() => {
29214
+ var unions3 = /* @__PURE__ */ (() => {
29184
29215
  const go = (go$a0$copy) => (go$a1$copy) => {
29185
29216
  let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
29186
29217
  while (go$c) {
@@ -29216,6 +29247,97 @@ var ElimDict = (value0) => (value1) => $Elim("ElimDict", value0, value1);
29216
29247
  var VarDef = (value0) => (value1) => $VarDef(value0, value1);
29217
29248
  var RecDefs = (value0) => (value1) => $RecDefs(value0, value1);
29218
29249
  var Module = (x2) => x2;
29250
+ var typeNameRecDefs = { typeName: (v) => "RecDefs" };
29251
+ var pack = (x2) => (k) => k(typeNameRecDefs)(x2);
29252
+ var typeNameExpr = { typeName: (v) => "Expr" };
29253
+ var pack1 = (x2) => (k) => k(typeNameExpr)(x2);
29254
+ var verticesVarDefVertex = { vertices: (v) => union5(verticesElimVertex.vertices(v._1))(verticesExprVertex.vertices(v._2)) };
29255
+ var verticesRecDefsVertex = {
29256
+ vertices: (v) => union5($$$Map("Two", Leaf2, $Tuple(v._1, pack(v)), void 0, Leaf2))(verticesDict(verticesElimVertex).vertices(v._2))
29257
+ };
29258
+ var verticesExprVertex = {
29259
+ vertices: (v) => {
29260
+ if (v.tag === "Var") {
29261
+ return Leaf2;
29262
+ }
29263
+ if (v.tag === "Op") {
29264
+ return Leaf2;
29265
+ }
29266
+ if (v.tag === "Int") {
29267
+ return $$$Map("Two", Leaf2, $Tuple(v._1, pack1(v)), void 0, Leaf2);
29268
+ }
29269
+ if (v.tag === "Float") {
29270
+ return $$$Map("Two", Leaf2, $Tuple(v._1, pack1(v)), void 0, Leaf2);
29271
+ }
29272
+ if (v.tag === "Str") {
29273
+ return $$$Map("Two", Leaf2, $Tuple(v._1, pack1(v)), void 0, Leaf2);
29274
+ }
29275
+ if (v.tag === "Dictionary") {
29276
+ return union5($$$Map("Two", Leaf2, $Tuple(v._1, pack1(v)), void 0, Leaf2))(unions12(listMap((v1) => union5(verticesExprVertex.vertices(v1._1))(verticesExprVertex.vertices(v1._2)))(v._2)));
29277
+ }
29278
+ if (v.tag === "Constr") {
29279
+ return union5($$$Map("Two", Leaf2, $Tuple(v._1, pack1(v)), void 0, Leaf2))(unions12(listMap(verticesExprVertex.vertices)(v._3)));
29280
+ }
29281
+ if (v.tag === "Matrix") {
29282
+ return union5($$$Map("Two", Leaf2, $Tuple(v._1, pack1(v)), void 0, Leaf2))(union5(verticesExprVertex.vertices(v._2))(verticesExprVertex.vertices(v._4)));
29283
+ }
29284
+ if (v.tag === "Lambda") {
29285
+ return union5($$$Map("Two", Leaf2, $Tuple(v._1, pack1(v)), void 0, Leaf2))(verticesElimVertex.vertices(v._2));
29286
+ }
29287
+ if (v.tag === "Project") {
29288
+ return verticesExprVertex.vertices(v._1);
29289
+ }
29290
+ if (v.tag === "DProject") {
29291
+ return union5(verticesExprVertex.vertices(v._1))(verticesExprVertex.vertices(v._2));
29292
+ }
29293
+ if (v.tag === "App") {
29294
+ return union5(verticesExprVertex.vertices(v._1))(verticesExprVertex.vertices(v._2));
29295
+ }
29296
+ if (v.tag === "Let") {
29297
+ return union5(verticesVarDefVertex.vertices(v._1))(verticesExprVertex.vertices(v._2));
29298
+ }
29299
+ if (v.tag === "LetRec") {
29300
+ return union5(verticesRecDefsVertex.vertices(v._1))(verticesExprVertex.vertices(v._2));
29301
+ }
29302
+ fail();
29303
+ }
29304
+ };
29305
+ var verticesElimVertex = {
29306
+ vertices: (v) => {
29307
+ if (v.tag === "ElimVar") {
29308
+ return verticesContVertex.vertices(v._2);
29309
+ }
29310
+ if (v.tag === "ElimConstr") {
29311
+ return verticesDict(verticesContVertex).vertices(v._1);
29312
+ }
29313
+ if (v.tag === "ElimDict") {
29314
+ return verticesContVertex.vertices(v._2);
29315
+ }
29316
+ fail();
29317
+ }
29318
+ };
29319
+ var verticesContVertex = {
29320
+ vertices: (v) => {
29321
+ if (v.tag === "ContExpr") {
29322
+ return verticesExprVertex.vertices(v._1);
29323
+ }
29324
+ if (v.tag === "ContElim") {
29325
+ return verticesElimVertex.vertices(v._1);
29326
+ }
29327
+ fail();
29328
+ }
29329
+ };
29330
+ var verticesModuleVertex = {
29331
+ vertices: (v) => unions12(listMap((v1) => {
29332
+ if (v1.tag === "Left") {
29333
+ return verticesVarDefVertex.vertices(v1._1);
29334
+ }
29335
+ if (v1.tag === "Right") {
29336
+ return verticesRecDefsVertex.vertices(v1._1);
29337
+ }
29338
+ fail();
29339
+ })(v))
29340
+ };
29219
29341
  var joinSemilatticeVarDef = (dictJoinSemilattice) => ({ join: (v) => (v1) => $VarDef(joinSemilatticeElim(dictJoinSemilattice).join(v._1)(v1._1), joinSemilatticeExpr(dictJoinSemilattice).join(v._2)(v1._2)) });
29220
29342
  var joinSemilatticeRecDefs = (dictJoinSemilattice) => ({ join: (v) => (v1) => $RecDefs(dictJoinSemilattice.join(v._1)(v1._1), unionWith(joinSemilatticeElim(dictJoinSemilattice).join)(v._2)(v1._2)) });
29221
29343
  var joinSemilatticeExpr = (dictJoinSemilattice) => ({
@@ -30143,7 +30265,7 @@ var applyCont = {
30143
30265
  var fVDict = (dictFV) => {
30144
30266
  const fv1 = dictFV.fv;
30145
30267
  return {
30146
- fv: (\u03C1) => setSet2.difference(fold((z) => (v) => union3(ordString)(z))(Leaf2)(_fmapObject(\u03C1, fv1)))(fromFoldable7(mapObjectString.keys(\u03C1)))
30268
+ fv: (\u03C1) => setSet2.difference(fold((z) => (v) => union3(ordString)(z))(Leaf2)(_fmapObject(\u03C1, fv1)))(fromFoldable6(mapObjectString.keys(\u03C1)))
30147
30269
  };
30148
30270
  };
30149
30271
  var foldlModuleDef = (v) => (v1) => (v2) => {
@@ -30277,10 +30399,10 @@ var fVExpr = {
30277
30399
  return Leaf2;
30278
30400
  }
30279
30401
  if (v.tag === "Dictionary") {
30280
- return unions1(listMap((v1) => setSet2.union(fVExpr.fv(v1._1))(fVExpr.fv(v1._2)))(v._2));
30402
+ return unions3(listMap((v1) => setSet2.union(fVExpr.fv(v1._1))(fVExpr.fv(v1._2)))(v._2));
30281
30403
  }
30282
30404
  if (v.tag === "Constr") {
30283
- return unions1(listMap(fVExpr.fv)(v._3));
30405
+ return unions3(listMap(fVExpr.fv)(v._3));
30284
30406
  }
30285
30407
  if (v.tag === "Matrix") {
30286
30408
  return setSet2.union(fVExpr.fv(v._2))(fVExpr.fv(v._4));
@@ -30475,7 +30597,7 @@ var ClauseIsSymbol = { reflectSymbol: () => "Clause" };
30475
30597
  var difference3 = /* @__PURE__ */ difference(eqString);
30476
30598
  var toUnfoldable7 = /* @__PURE__ */ toUnfoldable4(unfoldableList);
30477
30599
  var monadThrowExceptT2 = /* @__PURE__ */ monadThrowExceptT(monadIdentity);
30478
- var fromFoldable8 = /* @__PURE__ */ fromFoldable(foldableArray);
30600
+ var fromFoldable7 = /* @__PURE__ */ fromFoldable(foldableArray);
30479
30601
  var fromFoldable16 = /* @__PURE__ */ fromFoldable(foldableNonEmptyList);
30480
30602
  var fromFoldable24 = /* @__PURE__ */ fromFoldable(foldableList);
30481
30603
  var monadErrorExceptT2 = /* @__PURE__ */ monadErrorExceptT(monadIdentity);
@@ -32215,7 +32337,7 @@ var forConstrBwd = (v) => (v1) => {
32215
32337
  }
32216
32338
  fail();
32217
32339
  };
32218
- var elimBool = (\u03BA) => (\u03BA$p) => $Elim("ElimConstr", fromFoldable8([$Tuple("True", \u03BA), $Tuple("False", \u03BA$p)]));
32340
+ var elimBool = (\u03BA) => (\u03BA$p) => $Elim("ElimConstr", fromFoldable7([$Tuple("True", \u03BA), $Tuple("False", \u03BA$p)]));
32219
32341
  var econs = (\u03B1) => (e) => (e$p) => $Expr("Constr", \u03B1, ":", $List("Cons", e, $List("Cons", e$p, Nil)));
32220
32342
  var ctrFor = (v) => {
32221
32343
  if (v.tag === "Left") {
@@ -32676,7 +32798,7 @@ var listCompFwd = (dictMonadError) => {
32676
32798
  $1,
32677
32799
  $Elim(
32678
32800
  "ElimConstr",
32679
- fromFoldable8([
32801
+ fromFoldable7([
32680
32802
  $Tuple("True", $Cont("ContExpr", e)),
32681
32803
  $Tuple("False", $Cont("ContExpr", $Expr("Constr", $1, "Nil", Nil)))
32682
32804
  ])
@@ -33342,7 +33464,7 @@ var toUnfoldable13 = /* @__PURE__ */ toAscUnfoldable(unfoldableList);
33342
33464
  var Simple = /* @__PURE__ */ $ExprType("Simple");
33343
33465
  var Expression = /* @__PURE__ */ $ExprType("Expression");
33344
33466
  var vert = (dictFoldable) => {
33345
- const fromFoldable29 = dictFoldable.foldr(Cons)(Nil);
33467
+ const fromFoldable28 = dictFoldable.foldr(Cons)(Nil);
33346
33468
  return (delim) => {
33347
33469
  const vert$p = (v) => {
33348
33470
  if (v.tag === "Nil") {
@@ -33358,7 +33480,7 @@ var vert = (dictFoldable) => {
33358
33480
  }
33359
33481
  fail();
33360
33482
  };
33361
- return (x2) => vert$p(fromFoldable29(x2));
33483
+ return (x2) => vert$p(fromFoldable28(x2));
33362
33484
  };
33363
33485
  };
33364
33486
  var vert1 = /* @__PURE__ */ vert(foldableArray);
@@ -34033,11 +34155,36 @@ var $EnvExpr = (_1, _2) => ({ tag: "EnvExpr", _1, _2 });
34033
34155
  var $ForeignOp$p = (_1) => ({ tag: "ForeignOp'", _1 });
34034
34156
  var $Fun = (tag, _1, _2, _3) => ({ tag, _1, _2, _3 });
34035
34157
  var $Val = (_1, _2) => ({ tag: "Val", _1, _2 });
34158
+ var setSet3 = /* @__PURE__ */ setSet(ordDVertex);
34159
+ var unions = /* @__PURE__ */ foldlArray(/* @__PURE__ */ union3(ordDVertex))(Leaf2);
34160
+ var vertices = /* @__PURE__ */ (() => verticesDict(verticesElimVertex).vertices)();
34161
+ var unions13 = /* @__PURE__ */ (() => {
34162
+ const go = (go$a0$copy) => (go$a1$copy) => {
34163
+ let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
34164
+ while (go$c) {
34165
+ const b = go$a0, v = go$a1;
34166
+ if (v.tag === "Nil") {
34167
+ go$c = false;
34168
+ go$r = b;
34169
+ continue;
34170
+ }
34171
+ if (v.tag === "Cons") {
34172
+ go$a0 = unionWith2(ordDVertex)($$const)(b)(v._1);
34173
+ go$a1 = v._2;
34174
+ continue;
34175
+ }
34176
+ fail();
34177
+ }
34178
+ return go$r;
34179
+ };
34180
+ return go(Leaf2);
34181
+ })();
34182
+ var foldMap2 = /* @__PURE__ */ foldMap({ mempty: Leaf2, Semigroup0: () => ({ append: union3(ordDVertex) }) });
34036
34183
  var identity26 = (x2) => x2;
34037
34184
  var boundedLattice = { BoundedJoinSemilattice0: () => boundedJoinSemilatticeUni, BoundedMeetSemilattice1: () => boundedMeetSemilatticeUni };
34038
- var show3 = /* @__PURE__ */ (() => showSet(showString).show)();
34039
- var fromFoldable9 = /* @__PURE__ */ (() => foldableSet.foldl((m) => (a) => insert3(ordString)(a)()(m))(Leaf2))();
34040
- var setSet3 = /* @__PURE__ */ setSet(ordString);
34185
+ var show1 = /* @__PURE__ */ (() => showSet(showString).show)();
34186
+ var fromFoldable8 = /* @__PURE__ */ (() => foldableSet.foldl((m) => (a) => insert3(ordString)(a)()(m))(Leaf2))();
34187
+ var setSet1 = /* @__PURE__ */ setSet(ordString);
34041
34188
  var toUnfoldable14 = /* @__PURE__ */ toUnfoldable4(unfoldableList);
34042
34189
  var intersection2 = /* @__PURE__ */ intersection(ordString);
34043
34190
  var Val = (value0) => (value1) => $Val(value0, value1);
@@ -34048,6 +34195,78 @@ var Dictionary3 = (value0) => $BaseVal("Dictionary", value0);
34048
34195
  var DictRep = (x2) => x2;
34049
34196
  var MatrixRep = (x2) => x2;
34050
34197
  var Env = (x2) => x2;
34198
+ var typeNameMatrixDim = { typeName: (v) => "MatrixDim" };
34199
+ var pack2 = (x2) => (k) => k(typeNameMatrixDim)(x2);
34200
+ var typeNameDictKey = { typeName: (v) => "DictKey" };
34201
+ var pack12 = (x2) => (k) => k(typeNameDictKey)(x2);
34202
+ var typeNameBaseVal = { typeName: (v) => "BaseVal" };
34203
+ var pack22 = (x2) => (k) => k(typeNameBaseVal)(x2);
34204
+ var verticesValVertex = {
34205
+ vertices: (v) => setSet3.union($$$Map("Two", Leaf2, $Tuple(v._1, pack22(v._2)), void 0, Leaf2))(verticesBaseValVertex.vertices(v._2))
34206
+ };
34207
+ var verticesMatrixRepVertex = {
34208
+ vertices: (v) => setSet3.union(unions(concat(arrayMap(arrayMap(verticesValVertex.vertices))(v._1))))(setSet3.union($$$Map(
34209
+ "Two",
34210
+ Leaf2,
34211
+ $Tuple(v._2._1._2, pack2(v._2._1)),
34212
+ void 0,
34213
+ Leaf2
34214
+ ))($$$Map("Two", Leaf2, $Tuple(v._2._2._2, pack2(v._2._2)), void 0, Leaf2)))
34215
+ };
34216
+ var verticesFunVertex = {
34217
+ vertices: (v) => {
34218
+ if (v.tag === "Closure") {
34219
+ return setSet3.union(verticesEnvVertex.vertices(v._1))(setSet3.union(vertices(v._2))(verticesElimVertex.vertices(v._3)));
34220
+ }
34221
+ if (v.tag === "Foreign") {
34222
+ return unions13(listMap(verticesValVertex.vertices)(v._2));
34223
+ }
34224
+ if (v.tag === "PartialConstr") {
34225
+ return unions13(listMap(verticesValVertex.vertices)(v._2));
34226
+ }
34227
+ fail();
34228
+ }
34229
+ };
34230
+ var verticesEnvVertex = { vertices: (v) => unions13(listMap(verticesValVertex.vertices)(mapObjectString.values(v))) };
34231
+ var verticesDictRepVertex = {
34232
+ vertices: (v) => foldMap2((k) => (v1) => setSet3.union($$$Map(
34233
+ "Two",
34234
+ Leaf2,
34235
+ $Tuple(v1._1, pack12($Tuple(k, v1._1))),
34236
+ void 0,
34237
+ Leaf2
34238
+ ))(verticesValVertex.vertices(v1._2)))(v)
34239
+ };
34240
+ var verticesBaseValVertex = {
34241
+ vertices: (v) => {
34242
+ if (v.tag === "Int") {
34243
+ return setSet3.empty;
34244
+ }
34245
+ if (v.tag === "Float") {
34246
+ return setSet3.empty;
34247
+ }
34248
+ if (v.tag === "Str") {
34249
+ return setSet3.empty;
34250
+ }
34251
+ if (v.tag === "Constr") {
34252
+ return unions13(listMap(verticesValVertex.vertices)(v._2));
34253
+ }
34254
+ if (v.tag === "Dictionary") {
34255
+ return verticesDictRepVertex.vertices(v._1);
34256
+ }
34257
+ if (v.tag === "Matrix") {
34258
+ return verticesMatrixRepVertex.vertices(v._1);
34259
+ }
34260
+ if (v.tag === "Fun") {
34261
+ return verticesFunVertex.vertices(v._1);
34262
+ }
34263
+ fail();
34264
+ }
34265
+ };
34266
+ var verticesEnvExprVertex = {
34267
+ vertices: (v) => setSet3.union(unions13(listMap(verticesValVertex.vertices)(mapObjectString.values(v._1))))(verticesExprVertex.vertices(v._2))
34268
+ };
34269
+ var joinSemilatticeMatrixDim = (dictJoinSemilattice) => ({ join: (v) => (v1) => $Tuple(mustEq(eqInt)(showInt)(v._1)(v1._1), dictJoinSemilattice.join(v._2)(v1._2)) });
34051
34270
  var isEmptyEnv = { isEmpty: (v) => isEmpty(v) };
34052
34271
  var setEnvString = {
34053
34272
  empty,
@@ -34101,6 +34320,7 @@ var highlightableBoolean = {
34101
34320
  fail();
34102
34321
  }
34103
34322
  };
34323
+ var functorMatrixDim = { map: (f) => (m) => $Tuple(m._1, f(m._2)) };
34104
34324
  var functorVal = { map: (f) => (m) => $Val(f(m._1), functorBaseVal.map(f)(m._2)) };
34105
34325
  var functorMatrixRep = {
34106
34326
  map: (f) => (m) => $Tuple(
@@ -34161,6 +34381,13 @@ var botOfUnit$x215Raw$x215 = (dictBoundedJoinSemilattice) => ({
34161
34381
  })()
34162
34382
  });
34163
34383
  var functorEnvExpr = { map: (f) => (m) => $EnvExpr(_fmapObject(m._1, functorVal.map(f)), functorExpr.map(f)(m._2)) };
34384
+ 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) };
34385
+ var traversableMatrixDim = {
34386
+ traverse: (dictApplicative) => (f) => (m) => dictApplicative.Apply0().Functor0().map((v1) => v1)(traversableTuple.traverse(dictApplicative)(f)(m)),
34387
+ sequence: (dictApplicative) => (v) => traversableMatrixDim.traverse(dictApplicative)(identity26)(v),
34388
+ Functor0: () => functorMatrixDim,
34389
+ Foldable1: () => foldableMatrixDim
34390
+ };
34164
34391
  var foldableVal = {
34165
34392
  foldl: (f) => (z) => (m) => foldableBaseVal.foldl(f)(f(z)(m._1))(m._2),
34166
34393
  foldr: (f) => (z) => (m) => f(m._1)(foldableBaseVal.foldr(f)(z)(m._2)),
@@ -34235,20 +34462,20 @@ var foldableFun = {
34235
34462
  foldMap: (dictMonoid) => {
34236
34463
  const $0 = dictMonoid.Semigroup0();
34237
34464
  const foldMap1 = foldMap(dictMonoid);
34238
- const foldMap6 = foldableElim.foldMap(dictMonoid);
34239
- const foldMap7 = foldableList.foldMap(dictMonoid);
34465
+ const foldMap8 = foldableElim.foldMap(dictMonoid);
34466
+ const foldMap9 = foldableList.foldMap(dictMonoid);
34240
34467
  return (f) => (m) => {
34241
34468
  if (m.tag === "Closure") {
34242
34469
  return $0.append(foldableEnv.foldMap(dictMonoid)(f)(m._1))($0.append((() => {
34243
- const $1 = foldMap6(f);
34470
+ const $1 = foldMap8(f);
34244
34471
  return foldMap1((v) => $1)(m._2);
34245
- })())(foldMap6(f)(m._3)));
34472
+ })())(foldMap8(f)(m._3)));
34246
34473
  }
34247
34474
  if (m.tag === "Foreign") {
34248
- return foldMap7(foldableVal.foldMap(dictMonoid)(f))(m._2);
34475
+ return foldMap9(foldableVal.foldMap(dictMonoid)(f))(m._2);
34249
34476
  }
34250
34477
  if (m.tag === "PartialConstr") {
34251
- return foldMap7(foldableVal.foldMap(dictMonoid)(f))(m._2);
34478
+ return foldMap9(foldableVal.foldMap(dictMonoid)(f))(m._2);
34252
34479
  }
34253
34480
  fail();
34254
34481
  };
@@ -34336,7 +34563,7 @@ var foldableBaseVal = {
34336
34563
  },
34337
34564
  foldMap: (dictMonoid) => {
34338
34565
  const mempty = dictMonoid.mempty;
34339
- const foldMap5 = foldableList.foldMap(dictMonoid);
34566
+ const foldMap7 = foldableList.foldMap(dictMonoid);
34340
34567
  return (f) => (m) => {
34341
34568
  if (m.tag === "Int") {
34342
34569
  return mempty;
@@ -34348,7 +34575,7 @@ var foldableBaseVal = {
34348
34575
  return mempty;
34349
34576
  }
34350
34577
  if (m.tag === "Constr") {
34351
- return foldMap5(foldableVal.foldMap(dictMonoid)(f))(m._2);
34578
+ return foldMap7(foldableVal.foldMap(dictMonoid)(f))(m._2);
34352
34579
  }
34353
34580
  if (m.tag === "Dictionary") {
34354
34581
  return foldableDictRep.foldMap(dictMonoid)(f)(m._1);
@@ -34367,9 +34594,9 @@ var foldableEnvExpr = {
34367
34594
  foldl: (f) => (z) => (m) => foldableExpr.foldl(f)(fold((z$1) => (v) => foldableVal.foldl(f)(z$1))(z)(m._1))(m._2),
34368
34595
  foldr: (f) => (z) => (m) => foldableEnv.foldr(f)(foldableExpr.foldr(f)(z)(m._2))(m._1),
34369
34596
  foldMap: (dictMonoid) => {
34370
- const foldMap5 = foldableEnv.foldMap(dictMonoid);
34371
- const foldMap6 = foldableExpr.foldMap(dictMonoid);
34372
- return (f) => (m) => dictMonoid.Semigroup0().append(foldMap5(f)(m._1))(foldMap6(f)(m._2));
34597
+ const foldMap7 = foldableEnv.foldMap(dictMonoid);
34598
+ const foldMap8 = foldableExpr.foldMap(dictMonoid);
34599
+ return (f) => (m) => dictMonoid.Semigroup0().append(foldMap7(f)(m._1))(foldMap8(f)(m._2));
34373
34600
  }
34374
34601
  };
34375
34602
  var traversableVal = {
@@ -34384,8 +34611,8 @@ var traversableVal = {
34384
34611
  var traversableMatrixRep = {
34385
34612
  traverse: (dictApplicative) => {
34386
34613
  const bitraverse1 = bitraversableTuple.bitraverse(dictApplicative);
34387
- const traverse7 = traversableArray.traverse(dictApplicative);
34388
- return (f) => (v) => dictApplicative.Apply0().Functor0().map(MatrixRep)(bitraverse1(traverse7(traverse7(traversableVal.traverse(dictApplicative)(f))))(bitraverse1(traversableTuple.traverse(dictApplicative)(f))(traversableTuple.traverse(dictApplicative)(f)))(v));
34614
+ const traverse8 = traversableArray.traverse(dictApplicative);
34615
+ return (f) => (v) => dictApplicative.Apply0().Functor0().map(MatrixRep)(bitraverse1(traverse8(traverse8(traversableVal.traverse(dictApplicative)(f))))(bitraverse1(traversableMatrixDim.traverse(dictApplicative)(f))(traversableMatrixDim.traverse(dictApplicative)(f)))(v));
34389
34616
  },
34390
34617
  sequence: (dictApplicative) => traversableMatrixRep.traverse(dictApplicative)(identity5),
34391
34618
  Functor0: () => functorMatrixRep,
@@ -34395,20 +34622,20 @@ var traversableFun = {
34395
34622
  traverse: (dictApplicative) => {
34396
34623
  const Apply0 = dictApplicative.Apply0();
34397
34624
  const $0 = Apply0.Functor0();
34398
- const traverse7 = traversableDict.traverse(dictApplicative);
34399
- const traverse8 = traversableElim.traverse(dictApplicative);
34400
- const traverse9 = traversableList.traverse(dictApplicative);
34625
+ const traverse8 = traversableDict.traverse(dictApplicative);
34626
+ const traverse9 = traversableElim.traverse(dictApplicative);
34627
+ const traverse10 = traversableList.traverse(dictApplicative);
34401
34628
  return (f) => (m) => {
34402
34629
  if (m.tag === "Closure") {
34403
- return Apply0.apply(Apply0.apply($0.map((v3) => (v4) => (v5) => $Fun("Closure", v3, v4, v5))(traversableEnv.traverse(dictApplicative)(f)(m._1)))(traverse7(traverse8(f))(m._2)))(traverse8(f)(m._3));
34630
+ return Apply0.apply(Apply0.apply($0.map((v3) => (v4) => (v5) => $Fun("Closure", v3, v4, v5))(traversableEnv.traverse(dictApplicative)(f)(m._1)))(traverse8(traverse9(f))(m._2)))(traverse9(f)(m._3));
34404
34631
  }
34405
34632
  if (m.tag === "Foreign") {
34406
34633
  const $1 = m._1;
34407
- return $0.map((v2) => $Fun("Foreign", $1, v2))(traverse9(traversableVal.traverse(dictApplicative)(f))(m._2));
34634
+ return $0.map((v2) => $Fun("Foreign", $1, v2))(traverse10(traversableVal.traverse(dictApplicative)(f))(m._2));
34408
34635
  }
34409
34636
  if (m.tag === "PartialConstr") {
34410
34637
  const $1 = m._1;
34411
- return $0.map((v2) => $Fun("PartialConstr", $1, v2))(traverse9(traversableVal.traverse(dictApplicative)(f))(m._2));
34638
+ return $0.map((v2) => $Fun("PartialConstr", $1, v2))(traverse10(traversableVal.traverse(dictApplicative)(f))(m._2));
34412
34639
  }
34413
34640
  fail();
34414
34641
  };
@@ -34419,8 +34646,8 @@ var traversableFun = {
34419
34646
  };
34420
34647
  var traversableEnv = {
34421
34648
  traverse: (dictApplicative) => {
34422
- const traverse7 = traversableDict.traverse(dictApplicative);
34423
- return (f) => (m) => dictApplicative.Apply0().Functor0().map((v1) => v1)(traverse7(traversableVal.traverse(dictApplicative)(f))(m));
34649
+ const traverse8 = traversableDict.traverse(dictApplicative);
34650
+ return (f) => (m) => dictApplicative.Apply0().Functor0().map((v1) => v1)(traverse8(traversableVal.traverse(dictApplicative)(f))(m));
34424
34651
  },
34425
34652
  sequence: (dictApplicative) => (v) => traversableEnv.traverse(dictApplicative)(identity26)(v),
34426
34653
  Functor0: () => functorEnv,
@@ -34428,9 +34655,9 @@ var traversableEnv = {
34428
34655
  };
34429
34656
  var traversableDictRep = {
34430
34657
  traverse: (dictApplicative) => {
34431
- const traverse7 = traversableDict.traverse(dictApplicative);
34658
+ const traverse8 = traversableDict.traverse(dictApplicative);
34432
34659
  const bitraverse1 = bitraversableTuple.bitraverse(dictApplicative);
34433
- return (f) => (v) => dictApplicative.Apply0().Functor0().map(DictRep)(traverse7(bitraverse1(f)(traversableVal.traverse(dictApplicative)(f)))(v));
34660
+ return (f) => (v) => dictApplicative.Apply0().Functor0().map(DictRep)(traverse8(bitraverse1(f)(traversableVal.traverse(dictApplicative)(f)))(v));
34434
34661
  },
34435
34662
  sequence: (dictApplicative) => traversableDictRep.traverse(dictApplicative)(identity5),
34436
34663
  Functor0: () => functorDictRep,
@@ -34439,7 +34666,7 @@ var traversableDictRep = {
34439
34666
  var traversableBaseVal = {
34440
34667
  traverse: (dictApplicative) => {
34441
34668
  const $0 = dictApplicative.Apply0().Functor0();
34442
- const traverse7 = traversableList.traverse(dictApplicative);
34669
+ const traverse8 = traversableList.traverse(dictApplicative);
34443
34670
  return (f) => (m) => {
34444
34671
  if (m.tag === "Int") {
34445
34672
  return dictApplicative.pure($BaseVal("Int", m._1));
@@ -34452,7 +34679,7 @@ var traversableBaseVal = {
34452
34679
  }
34453
34680
  if (m.tag === "Constr") {
34454
34681
  const $1 = m._1;
34455
- return $0.map((v2) => $BaseVal("Constr", $1, v2))(traverse7(traversableVal.traverse(dictApplicative)(f))(m._2));
34682
+ return $0.map((v2) => $BaseVal("Constr", $1, v2))(traverse8(traversableVal.traverse(dictApplicative)(f))(m._2));
34456
34683
  }
34457
34684
  if (m.tag === "Dictionary") {
34458
34685
  return $0.map((v1) => $BaseVal("Dictionary", v1))(traversableDictRep.traverse(dictApplicative)(f)(m._1));
@@ -34586,14 +34813,12 @@ var expandableBaseValRawBaseV = (dictBoundedJoinSemilattice) => ({
34586
34813
  return throwException(error("Shape mismatch"))();
34587
34814
  }
34588
34815
  });
34816
+ var applyMatrixDim = { apply: (v) => (v1) => $Tuple(mustEq(eqInt)(showInt)(v._1)(v1._1), v._2(v1._2)), Functor0: () => functorMatrixDim };
34589
34817
  var applyVal = { apply: (v) => (v1) => $Val(v._1(v1._1), applyBaseVal.apply(v._2)(v1._2)), Functor0: () => functorVal };
34590
34818
  var applyMatrixRep = {
34591
34819
  apply: (v) => (v1) => $Tuple(
34592
34820
  zipWith(zipWith(applyVal.apply))(v._1)(v1._1),
34593
- $Tuple(
34594
- $Tuple(mustEq(eqInt)(showInt)(v._2._1._1)(v1._2._1._1), v._2._1._2(v1._2._1._2)),
34595
- $Tuple(mustEq(eqInt)(showInt)(v._2._2._1)(v1._2._2._1), v._2._2._2(v1._2._2._2))
34596
- )
34821
+ $Tuple(applyMatrixDim.apply(v._2._1)(v1._2._1), applyMatrixDim.apply(v._2._2)(v1._2._2))
34597
34822
  ),
34598
34823
  Functor0: () => functorMatrixRep
34599
34824
  };
@@ -34681,15 +34906,15 @@ var applyEnvExpr = {
34681
34906
  Functor0: () => functorEnvExpr
34682
34907
  };
34683
34908
  var joinSemilatticeVal = (dictJoinSemilattice) => ({ join: (v) => (v1) => $Val(dictJoinSemilattice.join(v._1)(v1._1), joinSemilatticeBaseVal(dictJoinSemilattice).join(v._2)(v1._2)) });
34684
- var joinSemilatticeMatrixRep = (dictJoinSemilattice) => ({
34685
- join: (v) => (v1) => $Tuple(
34686
- joinSemilatticeArray(joinSemilatticeArray(joinSemilatticeVal(dictJoinSemilattice))).join(v._1)(v1._1),
34687
- $Tuple(
34688
- $Tuple(mustEq(eqInt)(showInt)(v._2._1._1)(v1._2._1._1), dictJoinSemilattice.join(v._2._1._2)(v1._2._1._2)),
34689
- $Tuple(mustEq(eqInt)(showInt)(v._2._2._1)(v1._2._2._1), dictJoinSemilattice.join(v._2._2._2)(v1._2._2._2))
34909
+ var joinSemilatticeMatrixRep = (dictJoinSemilattice) => {
34910
+ const $0 = joinSemilatticeMatrixDim(dictJoinSemilattice);
34911
+ return {
34912
+ join: (v) => (v1) => $Tuple(
34913
+ joinSemilatticeArray(joinSemilatticeArray(joinSemilatticeVal(dictJoinSemilattice))).join(v._1)(v1._1),
34914
+ $Tuple($0.join(v._2._1)(v1._2._1), $0.join(v._2._2)(v1._2._2))
34690
34915
  )
34691
- )
34692
- });
34916
+ };
34917
+ };
34693
34918
  var joinSemilatticeFun = (dictJoinSemilattice) => {
34694
34919
  const joinSemilatticeElim2 = joinSemilatticeElim(dictJoinSemilattice);
34695
34920
  return {
@@ -34781,7 +35006,7 @@ var joinSemilatticeBaseVal = (dictJoinSemilattice) => {
34781
35006
  };
34782
35007
  };
34783
35008
  var annUnit = { Highlightable0: () => highlightableUnit, BoundedLattice1: () => boundedLattice };
34784
- var unrestrictGC = (dictBoundedMeetSemilattice) => (\u03B3) => (xs) => assertWith(show3(xs) + " are in environment ")(difference2(ordString)(xs)(mapObjectString.keys(\u03B3)).tag === "Leaf")({
35009
+ var unrestrictGC = (dictBoundedMeetSemilattice) => (\u03B3) => (xs) => assertWith(show1(xs) + " are in environment ")(difference2(ordString)(xs)(mapObjectString.keys(\u03B3)).tag === "Leaf")({
34785
35010
  fwd: (\u03B3$p) => assertWith("")(difference2(ordString)(mapObjectString.keys(\u03B3$p))(mapObjectString.keys(\u03B3)).tag === "Leaf")(union(\u03B3$p)(setObjectString.difference((() => {
34786
35011
  const $0 = dictBoundedMeetSemilattice.top;
34787
35012
  return _fmapObject(\u03B3, functorVal.map((v) => $0));
@@ -34789,10 +35014,11 @@ var unrestrictGC = (dictBoundedMeetSemilattice) => (\u03B3) => (xs) => assertWit
34789
35014
  bwd: (\u03B3$p) => assertWith("")(eqMap(eqString)(eqUnit).eq(mapObjectString.keys(\u03B3$p))(mapObjectString.keys(\u03B3)))(filterWithKey((x2) => {
34790
35015
  const $0 = setSet(ordString).member(x2)(xs);
34791
35016
  return (v) => $0;
34792
- })(\u03B3$p))
35017
+ })(\u03B3$p)),
35018
+ connection: void 0
34793
35019
  });
34794
35020
  var reaches = (\u03C1) => (xs) => {
34795
- const dom_\u03C1 = fromFoldable9(mapObjectString.keys(\u03C1));
35021
+ const dom_\u03C1 = fromFoldable8(mapObjectString.keys(\u03C1));
34796
35022
  const go = (go$a0$copy) => (go$a1$copy) => {
34797
35023
  let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
34798
35024
  while (go$c) {
@@ -34803,20 +35029,20 @@ var reaches = (\u03C1) => (xs) => {
34803
35029
  continue;
34804
35030
  }
34805
35031
  if (v.tag === "Cons") {
34806
- if (setSet3.member(v._1)(v1)) {
35032
+ if (setSet1.member(v._1)(v1)) {
34807
35033
  go$a0 = v._2;
34808
35034
  go$a1 = v1;
34809
35035
  continue;
34810
35036
  }
34811
35037
  go$a0 = foldableList.foldr(Cons)(v._2)(toUnfoldable14(intersection2(fVElim.fv($$get2(showString)(mapDictString)(v._1)(\u03C1)))(dom_\u03C1)));
34812
- go$a1 = setSet3.union($$$Map("Two", Leaf2, v._1, void 0, Leaf2))(v1);
35038
+ go$a1 = setSet1.union($$$Map("Two", Leaf2, v._1, void 0, Leaf2))(v1);
34813
35039
  continue;
34814
35040
  }
34815
35041
  fail();
34816
35042
  }
34817
35043
  return go$r;
34818
35044
  };
34819
- return go(toUnfoldable14(xs))(setSet3.empty);
35045
+ return go(toUnfoldable14(xs))(setSet1.empty);
34820
35046
  };
34821
35047
  var matrixPut = (i) => (j) => (\u03B4v) => (v) => {
34822
35048
  const vs_i = definitely("index within bounds")(index(v._1)(i - 1 | 0));
@@ -34836,12 +35062,19 @@ var matrixGet = (i) => (j) => (v) => definitely("index out of bounds!")((() => {
34836
35062
  fail();
34837
35063
  })());
34838
35064
  var forDefs = (\u03C1) => (\u03C3) => {
34839
- const $0 = reaches(\u03C1)(intersection2(fVElim.fv(\u03C3))(fromFoldable9(mapObjectString.keys(\u03C1))));
35065
+ const $0 = reaches(\u03C1)(intersection2(fVElim.fv(\u03C3))(fromFoldable8(mapObjectString.keys(\u03C1))));
34840
35066
  return filterWithKey((x2) => {
34841
35067
  const $1 = setSet(ordString).member(x2)($0);
34842
35068
  return (v) => $1;
34843
35069
  })(\u03C1);
34844
35070
  };
35071
+ var asVal = (e) => {
35072
+ const type$p = e((dictTypeName) => dictTypeName.typeName);
35073
+ if (type$p === "BaseVal") {
35074
+ return $Either("Left", e((dictTypeName) => unsafeCoerce));
35075
+ }
35076
+ return $Either("Right", type$p);
35077
+ };
34845
35078
 
34846
35079
  // output-es/Primitive/index.js
34847
35080
  var fanin2 = /* @__PURE__ */ fanin(categoryFn)(choiceFn);
@@ -34872,21 +35105,11 @@ var unary = (dictBoundedJoinSemilattice) => {
34872
35105
  id3,
34873
35106
  $ForeignOp$p({
34874
35107
  arity: 1,
34875
- "op'": (dictMonadWithGraphAlloc) => (dictMonadError) => {
34876
- const $0 = dictMonadError.MonadThrow0().Monad0().Bind1().Apply0().Functor0();
34877
- return (v) => {
35108
+ "op'": (dictMonadWithGraphAlloc) => {
35109
+ const $$new = dictMonadWithGraphAlloc.new(typeNameBaseVal);
35110
+ return (dictMonadError) => (v) => {
34878
35111
  if (v.tag === "Cons" && v._2.tag === "Nil") {
34879
- const $1 = v._1._2;
34880
- return $0.map((() => {
34881
- const $2 = f.o;
34882
- return (v$1) => $Val(v$1._2, $2.pack(v$1._1));
34883
- })())($0.map((v2) => $Tuple(f.fwd(f.i.unpack($1)), v2))(dictMonadWithGraphAlloc.new($$$Map(
34884
- "Two",
34885
- Leaf2,
34886
- v._1._1,
34887
- void 0,
34888
- Leaf2
34889
- ))));
35112
+ return $$new(Val)($$$Map("Two", Leaf2, v._1._1, void 0, Leaf2))(f.o.pack(f.fwd(f.i.unpack(v._1._2))));
34890
35113
  }
34891
35114
  fail();
34892
35115
  };
@@ -35029,20 +35252,17 @@ var binaryZero = (dictBoundedJoinSemilattice) => {
35029
35252
  id3,
35030
35253
  $ForeignOp$p({
35031
35254
  arity: 2,
35032
- "op'": (dictMonadWithGraphAlloc) => (dictMonadError) => {
35033
- const $0 = dictMonadError.MonadThrow0().Monad0().Bind1().Apply0().Functor0();
35034
- return (v) => {
35255
+ "op'": (dictMonadWithGraphAlloc) => {
35256
+ const $$new = dictMonadWithGraphAlloc.new(typeNameBaseVal);
35257
+ return (dictMonadError) => (v) => {
35035
35258
  if (v.tag === "Cons" && v._2.tag === "Cons" && v._2._2.tag === "Nil") {
35036
- const $1 = f.i.unpack(v._1._2);
35037
- const $2 = f.i.unpack(v._2._1._2);
35038
- return $0.map((() => {
35039
- const $3 = f.o;
35040
- return (v$1) => $Val(v$1._2, $3.pack(v$1._1));
35041
- })())($0.map((v4) => $Tuple(f.fwd($1)($2), v4))(dictMonadWithGraphAlloc.new((() => {
35042
- if (dictIsZero.isZero($1)) {
35259
+ const $0 = f.i.unpack(v._1._2);
35260
+ const $1 = f.i.unpack(v._2._1._2);
35261
+ return $$new(Val)((() => {
35262
+ if (dictIsZero.isZero($0)) {
35043
35263
  return $$$Map("Two", Leaf2, v._1._1, void 0, Leaf2);
35044
35264
  }
35045
- if (dictIsZero.isZero($2)) {
35265
+ if (dictIsZero.isZero($1)) {
35046
35266
  return $$$Map("Two", Leaf2, v._2._1._1, void 0, Leaf2);
35047
35267
  }
35048
35268
  return insert3(ordVertex)(v._2._1._1)()($$$Map(
@@ -35052,7 +35272,7 @@ var binaryZero = (dictBoundedJoinSemilattice) => {
35052
35272
  void 0,
35053
35273
  Leaf2
35054
35274
  ));
35055
- })())));
35275
+ })())(f.o.pack(f.fwd($0)($1)));
35056
35276
  }
35057
35277
  fail();
35058
35278
  };
@@ -35117,22 +35337,17 @@ var binary = (dictBoundedJoinSemilattice) => {
35117
35337
  id3,
35118
35338
  $ForeignOp$p({
35119
35339
  arity: 2,
35120
- "op'": (dictMonadWithGraphAlloc) => (dictMonadError) => {
35121
- const $0 = dictMonadError.MonadThrow0().Monad0().Bind1().Apply0().Functor0();
35122
- return (v) => {
35340
+ "op'": (dictMonadWithGraphAlloc) => {
35341
+ const $$new = dictMonadWithGraphAlloc.new(typeNameBaseVal);
35342
+ return (dictMonadError) => (v) => {
35123
35343
  if (v.tag === "Cons" && v._2.tag === "Cons" && v._2._2.tag === "Nil") {
35124
- const $1 = v._1._2;
35125
- const $2 = v._2._1._2;
35126
- return $0.map((() => {
35127
- const $3 = f.o;
35128
- return (v$1) => $Val(v$1._2, $3.pack(v$1._1));
35129
- })())($0.map((v3) => $Tuple(f.fwd(f.i1.unpack($1))(f.i2.unpack($2)), v3))(dictMonadWithGraphAlloc.new(insert3(ordVertex)(v._2._1._1)()($$$Map(
35344
+ return $$new(Val)(insert3(ordVertex)(v._2._1._1)()($$$Map(
35130
35345
  "Two",
35131
35346
  Leaf2,
35132
35347
  v._1._1,
35133
35348
  void 0,
35134
35349
  Leaf2
35135
- )))));
35350
+ )))(f.o.pack(f.fwd(f.i1.unpack(v._1._2))(f.i2.unpack(v._2._1._2))));
35136
35351
  }
35137
35352
  fail();
35138
35353
  };
@@ -35170,7 +35385,7 @@ var asIntNumberOrString = { as: (x2) => $Either("Left", toNumber(x2)) };
35170
35385
  var asIntNumber = { as: toNumber };
35171
35386
  var asIntIntOrNumber = { as: Left };
35172
35387
  var asBooleanBoolean = { as: (x2) => x2 };
35173
- var union5 = (dictAs) => (dictAs1) => (dictAs2) => (dictAs3) => (v) => (v1) => (v2) => (v3) => {
35388
+ var union6 = (dictAs) => (dictAs1) => (dictAs2) => (dictAs3) => (v) => (v1) => (v2) => (v3) => {
35174
35389
  if (v2.tag === "Left") {
35175
35390
  if (v3.tag === "Left") {
35176
35391
  return dictAs.as(v(v2._1)(v3._1));
@@ -35190,7 +35405,7 @@ var union5 = (dictAs) => (dictAs1) => (dictAs2) => (dictAs3) => (v) => (v1) => (
35190
35405
  }
35191
35406
  fail();
35192
35407
  };
35193
- var unionStr = (dictAs) => (dictAs1) => union5(dictAs)(dictAs)(dictAs1)(dictAs1);
35408
+ var unionStr = (dictAs) => (dictAs1) => union6(dictAs)(dictAs)(dictAs1)(dictAs1);
35194
35409
 
35195
35410
  // output-es/Web.Event.Event/foreign.js
35196
35411
  function _target(e) {
@@ -35316,7 +35531,7 @@ var showSelState = (dictShow) => ({
35316
35531
  ]
35317
35532
  })(ReactiveIsSymbol)))
35318
35533
  });
35319
- var show1 = /* @__PURE__ */ (() => showSelState(showBoolean).show)();
35534
+ var show12 = /* @__PURE__ */ (() => showSelState(showBoolean).show)();
35320
35535
  var functorSelState = {
35321
35536
  map: (f) => (m) => {
35322
35537
  if (m.tag === "Inert") {
@@ -35387,7 +35602,7 @@ var selector = (v) => (v1) => {
35387
35602
  fail();
35388
35603
  };
35389
35604
  const $1 = spyWhen(false)("Setting selState of ")(prettyP2)(v1);
35390
- return $Val(spyWhen(false)("to ")(show1)($0($1._1)), functorBaseVal.map((x2) => spyWhen(false)("to ")(show1)($0(x2)))($1._2));
35605
+ return $Val(spyWhen(false)("to ")(show12)($0($1._1)), functorBaseVal.map((x2) => spyWhen(false)("to ")(show12)($0(x2)))($1._2));
35391
35606
  };
35392
35607
  var selState = (v) => (v1) => (v2) => {
35393
35608
  if (v) {
@@ -35887,7 +36102,7 @@ function on(eventType) {
35887
36102
 
35888
36103
  // output-es/App.View.Util.D3/index.js
35889
36104
  var $ElementType = (tag) => tag;
35890
- var fromFoldable10 = /* @__PURE__ */ fromFoldable(foldableArray);
36105
+ var fromFoldable9 = /* @__PURE__ */ fromFoldable(foldableArray);
35891
36106
  var Caption = /* @__PURE__ */ $ElementType("Caption");
35892
36107
  var Circle = /* @__PURE__ */ $ElementType("Circle");
35893
36108
  var G = /* @__PURE__ */ $ElementType("G");
@@ -36468,7 +36683,7 @@ function drawBarChart_(barChartHelpers2, uiHelpers2, {
36468
36683
  var drawBarChart = (x1) => (x2) => (x3) => (x4) => drawBarChart_(x1, x2, x3, x4);
36469
36684
 
36470
36685
  // output-es/App.View.BarChart/index.js
36471
- var fromFoldable11 = /* @__PURE__ */ fromFoldable(foldableArray);
36686
+ var fromFoldable10 = /* @__PURE__ */ fromFoldable(foldableArray);
36472
36687
  var reflectDictSelState\u{1D54A}$x215ValS2 = {
36473
36688
  from: () => (r) => ({
36474
36689
  y: (() => {
@@ -36518,7 +36733,7 @@ var barChartHelpers = {
36518
36733
  fail();
36519
36734
  })();
36520
36735
  const col = indexCol(v1.j);
36521
- return fromFoldable11([
36736
+ return fromFoldable10([
36522
36737
  $Tuple(
36523
36738
  "fill",
36524
36739
  (() => {
@@ -36705,7 +36920,7 @@ var setSelState2 = (v) => (redraw) => (rootElement) => {
36705
36920
  return () => {
36706
36921
  const point$p = $2();
36707
36922
  const v2 = definitely("index within bounds")(index($0)(point$p.i));
36708
- const $3 = attrs(point2)(fromFoldable10((() => {
36923
+ const $3 = attrs(point2)(fromFoldable9((() => {
36709
36924
  const $32 = definitely("index within bounds")(index(v2.points)(point$p.j));
36710
36925
  const sel = join($32.x._2)($32.y._2);
36711
36926
  const fill$p = (isPersistent(sel) ? (a) => colorShade(a)(-30) : identity27)(nameCol(v2.name._1)(arrayMap((x2) => x2.name._1)($0)));
@@ -36735,7 +36950,7 @@ var setSelState2 = (v) => (redraw) => (rootElement) => {
36735
36950
  return () => {
36736
36951
  const segment$p = $2();
36737
36952
  const v2 = definitely("index within bounds")(index($0)(segment$p.i));
36738
- return attrs(segment)(fromFoldable10((() => {
36953
+ return attrs(segment)(fromFoldable9((() => {
36739
36954
  const sel = meet((() => {
36740
36955
  const $3 = definitely("index within bounds")(index(v2.points)(segment$p.j1));
36741
36956
  return join($3.x._2)($3.y._2);
@@ -36794,7 +37009,7 @@ var createRootElement = (v) => (div1) => (childId) => {
36794
37009
  const $132 = $3.x;
36795
37010
  const $14 = $3.y;
36796
37011
  const $15 = xAxis(to(range5))(nubBy(ordNumber.compare)($7));
36797
- const $16 = createChild(parent)(showElementType.show(G))(fromFoldable10([
37012
+ const $16 = createChild(parent)(showElementType.show(G))(fromFoldable9([
36798
37013
  classes(["x-axis"]),
36799
37014
  translate({ x: 0, y: range5.height })
36800
37015
  ]));
@@ -36805,14 +37020,14 @@ var createRootElement = (v) => (div1) => (childId) => {
36805
37020
  if ($132._1 === "Rotated") {
36806
37021
  const labels = $18();
36807
37022
  for_3(labels)((a) => {
36808
- const $192 = attrs(a)(fromFoldable10([$Tuple("transform", "rotate(45)")]));
37023
+ const $192 = attrs(a)(fromFoldable9([$Tuple("transform", "rotate(45)")]));
36809
37024
  return () => {
36810
37025
  const $202 = $192();
36811
- return styles($202)(fromFoldable10([$Tuple("text-anchor", "start")]))();
37026
+ return styles($202)(fromFoldable9([$Tuple("text-anchor", "start")]))();
36812
37027
  };
36813
37028
  })();
36814
37029
  }
36815
- const $19 = createChild(parent)(showElementType.show(G))(fromFoldable10([
37030
+ const $19 = createChild(parent)(showElementType.show(G))(fromFoldable9([
36816
37031
  classes(["y-axis"])
36817
37032
  ]))();
36818
37033
  const y2 = yAxis(to(range5))(3)($19)();
@@ -36820,17 +37035,17 @@ var createRootElement = (v) => (div1) => (childId) => {
36820
37035
  if ($14._1 === "Rotated") {
36821
37036
  const labels = $20();
36822
37037
  for_3(labels)((a) => {
36823
- const $21 = attrs(a)(fromFoldable10([$Tuple("transform", "rotate(45)")]));
37038
+ const $21 = attrs(a)(fromFoldable9([$Tuple("transform", "rotate(45)")]));
36824
37039
  return () => {
36825
37040
  const $22 = $21();
36826
- return styles($22)(fromFoldable10([$Tuple("text-anchor", "end")]))();
37041
+ return styles($22)(fromFoldable9([$Tuple("text-anchor", "end")]))();
36827
37042
  };
36828
37043
  })();
36829
37044
  }
36830
37045
  return { x: x2, y: y2 };
36831
37046
  };
36832
37047
  };
36833
- const $13 = createChild(div1)(showElementType.show(SVG))(fromFoldable10([
37048
+ const $13 = createChild(div1)(showElementType.show(SVG))(fromFoldable9([
36834
37049
  $Tuple("width", showIntImpl($4)),
36835
37050
  $Tuple("height", showIntImpl($5)),
36836
37051
  $Tuple("id", childId)
@@ -36843,7 +37058,7 @@ var createRootElement = (v) => (div1) => (childId) => {
36843
37058
  remove3(v2.x)();
36844
37059
  remove3(v2.y)();
36845
37060
  const interior = { width: ((($4 - a$p$1.width | 0) - 3 | 0) - $11 | 0) - 15 | 0, height: (($5 - 6 | 0) - a$p.height | 0) - caption_height | 0 };
36846
- const g = createChild(svg)(showElementType.show(G))(fromFoldable10([
37061
+ const g = createChild(svg)(showElementType.show(G))(fromFoldable9([
36847
37062
  translate({ x: a$p$1.width, y: 6 })
36848
37063
  ]))();
36849
37064
  createAxes(interior, g)();
@@ -36876,7 +37091,7 @@ var createRootElement = (v) => (div1) => (childId) => {
36876
37091
  return [];
36877
37092
  })(range(0)($1.length - 1 | 0))($1)))((v2$1) => {
36878
37093
  const $142 = setDatum(v2$1._2);
36879
- const $15 = createChild(g)(showElementType.show(Path2))(fromFoldable10([
37094
+ const $15 = createChild(g)(showElementType.show(Path2))(fromFoldable9([
36880
37095
  classes(["linechart-segment"]),
36881
37096
  $Tuple("d", line(to(interior))([v2$1._1.start, v2$1._1.end]))
36882
37097
  ]));
@@ -36887,7 +37102,7 @@ var createRootElement = (v) => (div1) => (childId) => {
36887
37102
  })();
36888
37103
  for_3(concat(zipWith((i) => (v2$1) => zipWith((j) => (p) => $Tuple(p, { i, j }))(range(0)(v2$1.points.length - 1 | 0))(v2$1.points))(range(0)($1.length - 1 | 0))($1)))((v2$1) => {
36889
37104
  const $142 = setDatum({ i: v2$1._2.i, j: v2$1._2.j });
36890
- const $15 = createChild(g)(showElementType.show(Circle))(fromFoldable10([
37105
+ const $15 = createChild(g)(showElementType.show(Circle))(fromFoldable9([
36891
37106
  classes(["linechart-point"]),
36892
37107
  $Tuple("stroke-width", "1"),
36893
37108
  $Tuple("cx", showNumberImpl(to(interior).x(v2$1._1.x._1))),
@@ -36898,7 +37113,7 @@ var createRootElement = (v) => (div1) => (childId) => {
36898
37113
  return $142($16)();
36899
37114
  };
36900
37115
  })();
36901
- const $14 = createChild(svg)(showElementType.show(Text2))(fromFoldable10([
37116
+ const $14 = createChild(svg)(showElementType.show(Text2))(fromFoldable9([
36902
37117
  $Tuple("x", showIntImpl(intDiv($4, 2))),
36903
37118
  $Tuple("y", showIntImpl($5 - intDiv(caption_height, 2) | 0)),
36904
37119
  classes(["title-text"]),
@@ -36906,10 +37121,10 @@ var createRootElement = (v) => (div1) => (childId) => {
36906
37121
  $Tuple("text-anchor", "middle")
36907
37122
  ]))();
36908
37123
  setText($0._1)($14)();
36909
- const legend$p = createChild(g)(showElementType.show(G))(fromFoldable10([
37124
+ const legend$p = createChild(g)(showElementType.show(G))(fromFoldable9([
36910
37125
  translate({ x: interior.width + 15 | 0, y: max4(0)(intDiv(interior.height - $12 | 0, 2)) })
36911
37126
  ]))();
36912
- createChild(legend$p)(showElementType.show(Rect))(fromFoldable10([
37127
+ createChild(legend$p)(showElementType.show(Rect))(fromFoldable9([
36913
37128
  classes(["legend-box"]),
36914
37129
  $Tuple("x", "0"),
36915
37130
  $Tuple("y", "0"),
@@ -36918,18 +37133,18 @@ var createRootElement = (v) => (div1) => (childId) => {
36918
37133
  ]))();
36919
37134
  for_3(zipWith((i) => (v3) => ({ i, name: v3.name._1 }))(range(0)($1.length - 1 | 0))($1))((v3) => {
36920
37135
  const $15 = v3.name;
36921
- const $16 = createChild(legend$p)(showElementType.show(G))(fromFoldable10([
37136
+ const $16 = createChild(legend$p)(showElementType.show(G))(fromFoldable9([
36922
37137
  classes(["legend-entry"]),
36923
37138
  translate({ x: 0, y: (v3.i * 15 | 0) + 2 | 0 })
36924
37139
  ]));
36925
37140
  return () => {
36926
37141
  const g$1 = $16();
36927
- const $17 = createChild(g$1)(showElementType.show(Text2))(fromFoldable10([
37142
+ const $17 = createChild(g$1)(showElementType.show(Text2))(fromFoldable9([
36928
37143
  classes(["legend-text"]),
36929
37144
  translate({ x: 15, y: 9 })
36930
37145
  ]))();
36931
37146
  setText($15)($17)();
36932
- return createChild(g$1)(showElementType.show(Circle))(fromFoldable10([
37147
+ return createChild(g$1)(showElementType.show(Circle))(fromFoldable9([
36933
37148
  $Tuple("fill", nameCol($15)(arrayMap((x2) => x2.name._1)($1))),
36934
37149
  $Tuple("r", "2"),
36935
37150
  $Tuple("cx", "6"),
@@ -37194,7 +37409,7 @@ var setSelState4 = (v) => (redraw) => (rootElement) => {
37194
37409
  return () => {
37195
37410
  const v1 = $1();
37196
37411
  const $2 = getText(v)(v1.i);
37197
- const $3 = styles(elem2)(fromFoldable10([
37412
+ const $3 = styles(elem2)(fromFoldable9([
37198
37413
  $Tuple("border-bottom", isTransient($2._2) ? "1px solid blue" : "none"),
37199
37414
  $Tuple(
37200
37415
  "background",
@@ -37227,14 +37442,14 @@ var setSelState4 = (v) => (redraw) => (rootElement) => {
37227
37442
  };
37228
37443
  };
37229
37444
  var createRootElement2 = (v) => (div) => (childId) => {
37230
- const $0 = createChild(div)(showElementType.show(Text2))(fromFoldable10([
37445
+ const $0 = createChild(div)(showElementType.show(Text2))(fromFoldable9([
37231
37446
  classes(["paragraph"]),
37232
37447
  $Tuple("id", childId)
37233
37448
  ]));
37234
37449
  return () => {
37235
37450
  const rootElement = $0();
37236
37451
  forWithIndex_2(v)((i) => (elem2) => {
37237
- const $1 = createChild(rootElement)(showElementType.show(Text2))(fromFoldable10([
37452
+ const $1 = createChild(rootElement)(showElementType.show(Text2))(fromFoldable9([
37238
37453
  classes(["text-fragment"]),
37239
37454
  $Tuple("id", childId)
37240
37455
  ]));
@@ -37345,7 +37560,7 @@ var join3 = (v) => (v1) => {
37345
37560
  }
37346
37561
  fail();
37347
37562
  };
37348
- var fromFoldable17 = /* @__PURE__ */ fromFoldable(foldableArray);
37563
+ var fromFoldable11 = /* @__PURE__ */ fromFoldable(foldableArray);
37349
37564
  var reflectDictSelState\u{1D54A}$x215ValS5 = {
37350
37565
  from: () => (r) => ({
37351
37566
  caption: (() => {
@@ -37360,7 +37575,7 @@ var scatterPlotHelpers = {
37360
37575
  point_attrs: (v) => (v1) => {
37361
37576
  const v2 = definitely("index within bounds")(index(v.points)(v1.i));
37362
37577
  const sel = join3(v2.x._2)(v2.y._2);
37363
- return fromFoldable17([
37578
+ return fromFoldable11([
37364
37579
  $Tuple(
37365
37580
  "r",
37366
37581
  showNumberImpl(toNumber(2) * (() => {
@@ -37476,20 +37691,20 @@ var createRootElement3 = (v) => (div) => (childId) => {
37476
37691
  const $0 = v.colNames;
37477
37692
  const $1 = v.filter;
37478
37693
  const $2 = v.rows;
37479
- const $3 = createChild(div)(showElementType.show(Table))(fromFoldable10([
37694
+ const $3 = createChild(div)(showElementType.show(Table))(fromFoldable9([
37480
37695
  classes(["table-view"]),
37481
37696
  $Tuple("id", childId)
37482
37697
  ]));
37483
37698
  return () => {
37484
37699
  const rootElement = $3();
37485
- createChild(rootElement)(showElementType.show(Caption))(fromFoldable10([
37700
+ createChild(rootElement)(showElementType.show(Caption))(fromFoldable9([
37486
37701
  classes(["title-text", "table-caption"]),
37487
37702
  $Tuple("dominant-baseline", "middle"),
37488
37703
  $Tuple("text-anchor", "left")
37489
37704
  ]))();
37490
37705
  const colNames$p = ["__n", ...$0];
37491
- const $4 = createChild(rootElement)(showElementType.show(THead))(fromFoldable10([]))();
37492
- const row = createChild($4)(showElementType.show(TR))(fromFoldable10([]))();
37706
+ const $4 = createChild(rootElement)(showElementType.show(THead))(fromFoldable9([]))();
37707
+ const row = createChild($4)(showElementType.show(TR))(fromFoldable9([]))();
37493
37708
  forWithIndex_3(colNames$p)((j) => (colName) => {
37494
37709
  const value = (() => {
37495
37710
  if (colName === "__n") {
@@ -37500,7 +37715,7 @@ var createRootElement3 = (v) => (div) => (childId) => {
37500
37715
  }
37501
37716
  return colName;
37502
37717
  })();
37503
- const $5 = createChild(row)(showElementType.show(TH))(fromFoldable10([
37718
+ const $5 = createChild(row)(showElementType.show(TH))(fromFoldable9([
37504
37719
  classes(["table-cell", ...colName === "__n" ? ["filter-toggle", "toggle-button"] : []])
37505
37720
  ]));
37506
37721
  const $6 = setText(value);
@@ -37511,9 +37726,9 @@ var createRootElement3 = (v) => (div) => (childId) => {
37511
37726
  return $7($9)();
37512
37727
  };
37513
37728
  })();
37514
- const body = createChild(rootElement)(showElementType.show(TBody))(fromFoldable10([]))();
37729
+ const body = createChild(rootElement)(showElementType.show(TBody))(fromFoldable9([]))();
37515
37730
  forWithIndex_3($2)((i) => (row$1) => {
37516
- const $5 = createChild(body)(showElementType.show(TR))(fromFoldable10([
37731
+ const $5 = createChild(body)(showElementType.show(TR))(fromFoldable9([
37517
37732
  classes(["table-row"])
37518
37733
  ]));
37519
37734
  const $6 = setDatum({ i });
@@ -37521,14 +37736,14 @@ var createRootElement3 = (v) => (div) => (childId) => {
37521
37736
  const $7 = $5();
37522
37737
  const row$p = $6($7)();
37523
37738
  return forWithIndex_3([showIntImpl(i + 1 | 0), ...arrayMap(prim)(row$1)])((j) => (value) => {
37524
- const $8 = createChild(row$p)(showElementType.show(TD))(fromFoldable10([
37739
+ const $8 = createChild(row$p)(showElementType.show(TD))(fromFoldable9([
37525
37740
  classes(j >= 0 ? ["table-cell"] : [])
37526
37741
  ]));
37527
37742
  const $9 = setText(value);
37528
37743
  const $10 = setDatum({ i, j: j - 1 | 0, value, colName: definitely("index within bounds")(index(colNames$p)(j)) });
37529
37744
  return () => {
37530
37745
  const $11 = $8();
37531
- const $12 = styles($11)(fromFoldable10([
37746
+ const $12 = styles($11)(fromFoldable9([
37532
37747
  $Tuple("border-top", "1px solid transparent"),
37533
37748
  $Tuple("border-left", "1px solid transparent")
37534
37749
  ]))();
@@ -37606,7 +37821,7 @@ var setSelState6 = (v) => (redraw) => (rootElement) => {
37606
37821
  const $6 = classed(v12.colName === "__n" ? "" : selClassesFor(definitely("index within bounds")(index(definitely("index within bounds")(index($0)(v12.i)))(v12.j))._1))(true)($5)();
37607
37822
  for_2(["mousedown", "mouseenter", "mouseleave"])((ev) => on(ev)(redraw)($6))();
37608
37823
  }
37609
- return styles(cell)(fromFoldable10([
37824
+ return styles(cell)(fromFoldable9([
37610
37825
  $Tuple(
37611
37826
  "border-right",
37612
37827
  (() => {
@@ -37679,10 +37894,10 @@ var drawableTableView = {
37679
37894
  var arrayDictToArray2 = (x2) => arrayMap((a) => arrayMap((a$1) => $$get2(showString)(mapDictString)(a$1)(a))(x2));
37680
37895
 
37681
37896
  // output-es/App.View/index.js
37682
- var pack = (x2) => (k) => k(drawableBarChart)(x2);
37683
- var pack1 = (x2) => (k) => k(drawableLineChart)(x2);
37684
- var pack2 = (x2) => (k) => k(drawableScatterPlot)(x2);
37685
- var pack3 = (x2) => (k) => k(drawableParagraphSelState)(x2);
37897
+ var pack3 = (x2) => (k) => k(drawableBarChart)(x2);
37898
+ var pack13 = (x2) => (k) => k(drawableLineChart)(x2);
37899
+ var pack23 = (x2) => (k) => k(drawableScatterPlot)(x2);
37900
+ var pack32 = (x2) => (k) => k(drawableParagraphSelState)(x2);
37686
37901
  var pack4 = (x2) => (k) => k(drawableMultiView)(x2);
37687
37902
  var identity28 = (x2) => x2;
37688
37903
  var pack5 = (x2) => (k) => k(drawableTableView)(x2);
@@ -37691,16 +37906,16 @@ var view = () => (v) => (v1) => (v2) => {
37691
37906
  if (v1._2.tag === "Constr") {
37692
37907
  if (v1._2._2.tag === "Cons" && v1._2._2._2.tag === "Nil") {
37693
37908
  if (v1._2._1 === "BarChart") {
37694
- return pack(dict(reflectDictSelState\u{1D54A}$x215ValS22.from())(v1._2._2._1));
37909
+ return pack3(dict(reflectDictSelState\u{1D54A}$x215ValS22.from())(v1._2._2._1));
37695
37910
  }
37696
37911
  if (v1._2._1 === "LineChart") {
37697
- return pack1(dict(reflectDictSelState\u{1D54A}$x215ValS13.from())(v1._2._2._1));
37912
+ return pack13(dict(reflectDictSelState\u{1D54A}$x215ValS13.from())(v1._2._2._1));
37698
37913
  }
37699
37914
  if (v1._2._1 === "ScatterPlot") {
37700
- return pack2(dict(reflectDictSelState\u{1D54A}$x215ValS5.from())(v1._2._2._1));
37915
+ return pack23(dict(reflectDictSelState\u{1D54A}$x215ValS5.from())(v1._2._2._1));
37701
37916
  }
37702
37917
  if (v1._2._1 === "Paragraph") {
37703
- return pack3(reflectValSelState\u{1D54A}Paragr.from()(v1._2._2._1));
37918
+ return pack32(reflectValSelState\u{1D54A}Paragr.from()(v1._2._2._1));
37704
37919
  }
37705
37920
  if (v1._2._1 === "MultiView") {
37706
37921
  const vws = _fmapObject(
@@ -37787,7 +38002,7 @@ var monadErrorStateT = (dictMonadError) => {
37787
38002
  };
37788
38003
 
37789
38004
  // output-es/Graph.WithGraph/index.js
37790
- var fromFoldable18 = /* @__PURE__ */ (() => {
38005
+ var fromFoldable17 = /* @__PURE__ */ (() => {
37791
38006
  const go = (go$a0$copy) => (go$a1$copy) => {
37792
38007
  let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
37793
38008
  while (go$c) {
@@ -37834,7 +38049,7 @@ var monadAllocAllocT = (dictMonad) => {
37834
38049
  var runAllocT = (dictMonad) => (m) => (n) => dictMonad.Bind1().bind(m(n))((v) => dictMonad.Applicative0().pure($Tuple(
37835
38050
  v._2,
37836
38051
  $Tuple(
37837
- fromFoldable18(listMap((x2) => showIntImpl(x2))((() => {
38052
+ fromFoldable17(listMap((x2) => showIntImpl(x2))((() => {
37838
38053
  const $0 = n + 1 | 0;
37839
38054
  if (v._2 < $0) {
37840
38055
  return Nil;
@@ -37879,9 +38094,8 @@ var runWithGraphT_spy = (dictMonad) => {
37879
38094
  const runWithGraphT2 = runWithGraphT(dictMonad);
37880
38095
  const spyFunWhenM2 = spyFunWhenM(dictMonad.Bind1().Apply0().Functor0());
37881
38096
  return (dictGraph) => {
37882
- const $0 = runWithGraphT2(dictGraph);
37883
- const $1 = spyFunWhenM2(false)("runWithGraphT")(showVertices)((x2) => showEdgeList(toEdgeList(dictGraph)(x2._1)));
37884
- return (x2) => $1($0(x2));
38097
+ const runWithGraphT3 = runWithGraphT2(dictGraph);
38098
+ return (wg) => (\u03B1s) => spyFunWhenM2(false)("runWithGraphT")(showVertices$p)((x2) => showEdgeList(toEdgeList(dictGraph)(x2._1)))(runWithGraphT3(wg))(\u03B1s);
37885
38099
  };
37886
38100
  };
37887
38101
  var runWithGraphT_spy1 = /* @__PURE__ */ runWithGraphT_spy(monadIdentity);
@@ -37894,7 +38108,7 @@ var monadWithGraphAllocWithGr = (dictMonadError) => {
37894
38108
  const monadWithGraphWithGraphT1 = monadWithGraphWithGraphT(monadStateT);
37895
38109
  const monadErrorStateT2 = monadErrorStateT(monadErrorStateT(dictMonadError));
37896
38110
  return {
37897
- new: (\u03B1s) => bindStateT2.bind(fresh1)((\u03B1) => bindStateT2.bind(monadWithGraphWithGraphT1.extend(\u03B1)(\u03B1s))(() => applicativeStateT(monadStateT).pure(\u03B1))),
38111
+ new: (dictTypeName) => (constr) => (\u03B1s) => (vd) => bindStateT2.bind(fresh1)((\u03B1) => bindStateT2.bind(monadWithGraphWithGraphT1.extend($Tuple(\u03B1, (k) => k(dictTypeName)(vd)))(\u03B1s))(() => applicativeStateT(monadStateT).pure(constr(\u03B1)(vd)))),
37898
38112
  MonadAlloc0: () => monadAllocWithGraphAllocT1,
37899
38113
  MonadError1: () => monadErrorStateT2,
37900
38114
  MonadWithGraph2: () => monadWithGraphWithGraphT1
@@ -37906,30 +38120,29 @@ var pure2 = /* @__PURE__ */ (() => applicativeStateT(monadIdentity).pure)();
37906
38120
  var extend3 = /* @__PURE__ */ (() => monadWithGraphWithGraphT(monadIdentity).extend)();
37907
38121
  var tailRecM = /* @__PURE__ */ (() => monadRecStateT(monadRecIdentity).tailRecM)();
37908
38122
  var member4 = /* @__PURE__ */ (() => setSet(ordVertex).member)();
37909
- var fromFoldable19 = /* @__PURE__ */ (() => foldableSet.foldr(Cons)(Nil))();
38123
+ var fromFoldable18 = /* @__PURE__ */ (() => foldableSet.foldr(Cons)(Nil))();
37910
38124
  var intersection3 = /* @__PURE__ */ intersection(ordVertex);
37911
38125
  var fwdSlice = (dictGraph) => {
37912
38126
  const runWithGraph_spy = runWithGraphT_spy1(dictGraph);
37913
38127
  return (v) => {
37914
38128
  const $0 = v._2;
37915
- const $1 = v._1;
37916
38129
  return runWithGraph_spy(tailRecM((v1) => {
37917
38130
  if (v1.es.tag === "Nil") {
37918
38131
  return pure2($Step("Done", void 0));
37919
38132
  }
37920
38133
  if (v1.es.tag === "Cons") {
37921
- const $2 = lookup2(ordVertex)(v1.es._1._1)(v1.pending);
38134
+ const $1 = lookup2(ordVertex)(v1.es._1._1)(v1.pending);
37922
38135
  const \u03B2s = (() => {
37923
- if ($2.tag === "Nothing") {
38136
+ if ($1.tag === "Nothing") {
37924
38137
  return $$$Map("Two", Leaf2, v1.es._1._2, void 0, Leaf2);
37925
38138
  }
37926
- if ($2.tag === "Just") {
37927
- return insert3(ordVertex)(v1.es._1._2)()($2._1);
38139
+ if ($1.tag === "Just") {
38140
+ return insert3(ordVertex)(v1.es._1._2)()($1._1);
37928
38141
  }
37929
38142
  fail();
37930
38143
  })();
37931
38144
  if (eqMap(eqVertex)(eqUnit).eq(\u03B2s)(dictGraph.outN($0)(v1.es._1._1))) {
37932
- return bindStateT(monadIdentity).bind(extend3(v1.es._1._1)(\u03B2s))(() => pure2($Step(
38145
+ return bindStateT(monadIdentity).bind(extend3($Tuple(v1.es._1._1, dictGraph.vertexData($0)(v1.es._1._1)))(\u03B2s))(() => pure2($Step(
37933
38146
  "Loop",
37934
38147
  {
37935
38148
  pending: $$delete3(ordVertex)(v1.es._1._1)(v1.pending),
@@ -37940,26 +38153,97 @@ var fwdSlice = (dictGraph) => {
37940
38153
  return pure2($Step("Loop", { pending: insert3(ordVertex)(v1.es._1._1)(\u03B2s)(v1.pending), es: v1.es._2 }));
37941
38154
  }
37942
38155
  fail();
37943
- })({ pending: Leaf2, es: inEdges(dictGraph)($0)($1) }))(assertWhen(true)("inputs are sinks")((v$1) => difference2(ordVertex)($1)(dictGraph.sinks($0)).tag === "Leaf")($1))._1;
38156
+ })({ pending: Leaf2, es: inEdges(dictGraph)($0)(v._1) }))((() => {
38157
+ const $1 = map2(ordDVertex)((\u03B1) => $Tuple(\u03B1, dictGraph.vertexData($0)(\u03B1)))(v._1);
38158
+ return assertWhen(true)("inputs are sinks")((v$1) => difference2(ordVertex)(addresses($1))(dictGraph.sinks($0)).tag === "Leaf")($1);
38159
+ })())._1;
37944
38160
  };
37945
38161
  };
37946
38162
  var bwdSlice = (dictGraph) => {
37947
38163
  const runWithGraph_spy = runWithGraphT_spy1(dictGraph);
37948
38164
  return (v) => {
37949
38165
  const $0 = v._2;
37950
- const $1 = v._1;
38166
+ const $1 = map2(ordDVertex)((\u03B1) => $Tuple(
38167
+ \u03B1,
38168
+ spyWhen(false)("Value found at " + showStringImpl(\u03B1))((x2) => {
38169
+ const $12 = asVal(x2);
38170
+ if ($12.tag === "Left") {
38171
+ if ($12._1.tag === "Int") {
38172
+ return "BV: Int";
38173
+ }
38174
+ if ($12._1.tag === "Float") {
38175
+ return "BV: Float";
38176
+ }
38177
+ if ($12._1.tag === "Str") {
38178
+ return "BV: Str";
38179
+ }
38180
+ if ($12._1.tag === "Constr") {
38181
+ return "BV: Constr";
38182
+ }
38183
+ if ($12._1.tag === "Dictionary") {
38184
+ return "BV: Dictionary";
38185
+ }
38186
+ if ($12._1.tag === "Matrix") {
38187
+ return "BV: Matrix";
38188
+ }
38189
+ if ($12._1.tag === "Fun") {
38190
+ return "BV: Fun";
38191
+ }
38192
+ fail();
38193
+ }
38194
+ if ($12.tag === "Right") {
38195
+ return $12._1;
38196
+ }
38197
+ fail();
38198
+ })(dictGraph.vertexData($0)(\u03B1))
38199
+ ))(v._1);
37951
38200
  return runWithGraph_spy(tailRecM((v1) => {
37952
38201
  if (v1["\u03B1s"].tag === "Nil") {
37953
38202
  if (v1.pending.tag === "Nil") {
37954
38203
  return pure2($Step("Done", void 0));
37955
38204
  }
37956
38205
  if (v1.pending.tag === "Cons") {
37957
- if (member4(v1.pending._1._1)(v1.visited)) {
38206
+ const $2 = v1.pending._1._1._2;
38207
+ const $3 = v1.pending._1._1._1;
38208
+ if (member4($3)(v1.visited)) {
37958
38209
  return pure2($Step("Loop", { visited: v1.visited, "\u03B1s": Nil, pending: v1.pending._2 }));
37959
38210
  }
37960
- return bindStateT(monadIdentity).bind(extend3(v1.pending._1._1)(v1.pending._1._2))(() => pure2($Step(
38211
+ return bindStateT(monadIdentity).bind(extend3($Tuple(
38212
+ $3,
38213
+ spyWhen(false)("Value found at " + showStringImpl($3))((x2) => {
38214
+ const $4 = asVal(x2);
38215
+ if ($4.tag === "Left") {
38216
+ if ($4._1.tag === "Int") {
38217
+ return "BV: Int";
38218
+ }
38219
+ if ($4._1.tag === "Float") {
38220
+ return "BV: Float";
38221
+ }
38222
+ if ($4._1.tag === "Str") {
38223
+ return "BV: Str";
38224
+ }
38225
+ if ($4._1.tag === "Constr") {
38226
+ return "BV: Constr";
38227
+ }
38228
+ if ($4._1.tag === "Dictionary") {
38229
+ return "BV: Dictionary";
38230
+ }
38231
+ if ($4._1.tag === "Matrix") {
38232
+ return "BV: Matrix";
38233
+ }
38234
+ if ($4._1.tag === "Fun") {
38235
+ return "BV: Fun";
38236
+ }
38237
+ fail();
38238
+ }
38239
+ if ($4.tag === "Right") {
38240
+ return $4._1;
38241
+ }
38242
+ fail();
38243
+ })($2)
38244
+ ))(v1.pending._1._2))(() => pure2($Step(
37961
38245
  "Loop",
37962
- { visited: insert3(ordVertex)(v1.pending._1._1)()(v1.visited), "\u03B1s": Nil, pending: v1.pending._2 }
38246
+ { visited: insert3(ordVertex)($3)()(v1.visited), "\u03B1s": Nil, pending: v1.pending._2 }
37963
38247
  )));
37964
38248
  }
37965
38249
  fail();
@@ -37970,15 +38254,15 @@ var bwdSlice = (dictGraph) => {
37970
38254
  "Loop",
37971
38255
  {
37972
38256
  visited: v1.visited,
37973
- "\u03B1s": foldableList.foldr(Cons)(v1["\u03B1s"]._2)(fromFoldable19(\u03B2s)),
37974
- pending: $List("Cons", $Tuple(v1["\u03B1s"]._1, \u03B2s), v1.pending)
38257
+ "\u03B1s": foldableList.foldr(Cons)(v1["\u03B1s"]._2)(fromFoldable18(\u03B2s)),
38258
+ pending: $List("Cons", $Tuple($Tuple(v1["\u03B1s"]._1, dictGraph.vertexData($0)(v1["\u03B1s"]._1)), \u03B2s), v1.pending)
37975
38259
  }
37976
38260
  ));
37977
38261
  }
37978
38262
  fail();
37979
38263
  })({
37980
38264
  visited: Leaf2,
37981
- "\u03B1s": fromFoldable19(intersection3(assertWhen(true)("inputs are sinks")((v$1) => difference2(ordVertex)($1)(dictGraph.Vertices1().vertices($0)).tag === "Leaf")($1))(dictGraph.sources($0))),
38265
+ "\u03B1s": fromFoldable18(intersection3(addresses(assertWhen(true)("inputs are sinks")((v$1) => difference2(ordDVertex)($1)(dictGraph.Vertices1().vertices($0)).tag === "Leaf")($1)))(dictGraph.sources($0))),
37982
38266
  pending: Nil
37983
38267
  }))(Leaf2)._1;
37984
38268
  };
@@ -37987,7 +38271,7 @@ var bwdSlice = (dictGraph) => {
37987
38271
  // output-es/EvalGraph/index.js
37988
38272
  var setSet4 = /* @__PURE__ */ setSet(ordVertex);
37989
38273
  var disjointUnion2 = /* @__PURE__ */ disjointUnion(mapEnvStringVal);
37990
- var fromFoldable20 = /* @__PURE__ */ (() => foldableSet.foldl((m) => (a) => insert3(ordString)(a)()(m))(Leaf2))();
38274
+ var fromFoldable19 = /* @__PURE__ */ (() => foldableSet.foldl((m) => (a) => insert3(ordString)(a)()(m))(Leaf2))();
37991
38275
  var show22 = /* @__PURE__ */ (() => showSet(showString).show)();
37992
38276
  var toUnfoldable10 = /* @__PURE__ */ toUnfoldable4(unfoldableList);
37993
38277
  var union1 = /* @__PURE__ */ (() => setSet(ordString).union)();
@@ -37997,7 +38281,7 @@ var greaterThanOrEq = /* @__PURE__ */ (() => {
37997
38281
  const $0 = ordTuple(ordInt)(ordInt);
37998
38282
  return (a1) => (a2) => $0.compare(a1)(a2) !== "LT";
37999
38283
  })();
38000
- var show32 = (v) => "(Tuple " + showIntImpl(v._1) + " " + showIntImpl(v._2) + ")";
38284
+ var show3 = (v) => "(Tuple " + showIntImpl(v._1) + " " + showIntImpl(v._2) + ")";
38001
38285
  var concatM = (dictMonad) => foldableList.foldr((() => {
38002
38286
  const $0 = dictMonad.Bind1();
38003
38287
  return (f) => (g) => (a) => $0.bind(f(a))(g);
@@ -38099,7 +38383,7 @@ var match = (dictMonadWithGraphAlloc) => {
38099
38383
  const $2 = v._2._1;
38100
38384
  const $3 = v._1;
38101
38385
  const $4 = v1._2;
38102
- return Bind1.bind(check(MonadThrow0)(difference2(ordString)($1)(fromFoldable20(mapObjectString.keys($2))).tag === "Leaf")("Pattern mismatch: found " + show22(mapObjectString.keys($2)) + ", expected " + show22($1)))(() => Bind1.bind(matchMany(dictMonadWithGraphAlloc)(listMap((k) => $$get2(showString)(mapObjectString)(k)($2)._2)(toUnfoldable10($1)))($4))((v2) => $0.pure($Tuple(
38386
+ return Bind1.bind(check(MonadThrow0)(difference2(ordString)($1)(fromFoldable19(mapObjectString.keys($2))).tag === "Leaf")("Pattern mismatch: found " + show22(mapObjectString.keys($2)) + ", expected " + show22($1)))(() => Bind1.bind(matchMany(dictMonadWithGraphAlloc)(listMap((k) => $$get2(showString)(mapObjectString)(k)($2)._2)(toUnfoldable10($1)))($4))((v2) => $0.pure($Tuple(
38103
38387
  v2._1,
38104
38388
  $Tuple(v2._2._1, insert3(ordVertex)($3)()(v2._2._2))
38105
38389
  ))));
@@ -38124,8 +38408,9 @@ var graphGC = (dictGraph) => {
38124
38408
  const $2 = v["in\u03B1"];
38125
38409
  const $3 = v["out\u03B1"];
38126
38410
  return {
38127
- fwd: (in\u{1D539}) => select\u03B1s\u{1D539}Vertex3["select\u{1D539}s"]($3)($0.vertices(v.graph_fwd(select\u03B1s\u{1D539}Vertex22["select\u03B1s"](in\u{1D539})($2))($1))),
38128
- bwd: (out\u{1D539}) => select\u03B1s\u{1D539}Vertex22["select\u{1D539}s"]($2)($0.vertices(v.graph_bwd(select\u03B1s\u{1D539}Vertex3["select\u03B1s"](out\u{1D539})($3))($1)))
38411
+ fwd: (in\u{1D539}) => select\u03B1s\u{1D539}Vertex3["select\u{1D539}s"]($3)(addresses($0.vertices(v.graph_fwd(select\u03B1s\u{1D539}Vertex22["select\u03B1s"](in\u{1D539})($2))($1)))),
38412
+ bwd: (out\u{1D539}) => select\u03B1s\u{1D539}Vertex22["select\u{1D539}s"]($2)(addresses($0.vertices(v.graph_bwd(select\u03B1s\u{1D539}Vertex3["select\u03B1s"](out\u{1D539})($3))($1)))),
38413
+ connection: void 0
38129
38414
  };
38130
38415
  };
38131
38416
  };
@@ -38135,35 +38420,35 @@ var graphGC = (dictGraph) => {
38135
38420
  };
38136
38421
  var closeDefs = (dictMonadWithGraphAlloc) => {
38137
38422
  const Monad0 = dictMonadWithGraphAlloc.MonadWithGraph2().Monad0();
38138
- const Functor0 = Monad0.Bind1().Apply0().Functor0();
38139
38423
  const traverse2 = traversableDict.traverse(Monad0.Applicative0());
38140
- return (\u03B3) => (\u03C1) => (\u03B1s) => Functor0.map(Env)(traverse2((\u03C3) => {
38424
+ const $$new = dictMonadWithGraphAlloc.new(typeNameBaseVal);
38425
+ return (\u03B3) => (\u03C1) => (\u03B1s) => Monad0.Bind1().Apply0().Functor0().map(Env)(traverse2((\u03C3) => {
38141
38426
  const \u03C1$p = forDefs(\u03C1)(\u03C3);
38142
- const $0 = $BaseVal(
38427
+ return $$new(Val)(\u03B1s)($BaseVal(
38143
38428
  "Fun",
38144
38429
  $Fun(
38145
38430
  "Closure",
38146
38431
  (() => {
38147
- const $02 = union1(fv(\u03C1$p))(fVElim.fv(\u03C3));
38432
+ const $0 = union1(fv(\u03C1$p))(fVElim.fv(\u03C3));
38148
38433
  return filterWithKey((x2) => {
38149
- const $1 = setSet(ordString).member(x2)($02);
38434
+ const $1 = setSet(ordString).member(x2)($0);
38150
38435
  return (v) => $1;
38151
38436
  })(\u03B3);
38152
38437
  })(),
38153
38438
  \u03C1$p,
38154
38439
  \u03C3
38155
38440
  )
38156
- );
38157
- return Functor0.map((f) => f($0))(Functor0.map(Val)(dictMonadWithGraphAlloc.new(\u03B1s)));
38441
+ ));
38158
38442
  })(\u03C1));
38159
38443
  };
38160
38444
  var $$eval = (dictMonadWithGraphAlloc) => {
38161
38445
  const MonadError1 = dictMonadWithGraphAlloc.MonadError1();
38162
38446
  const withMsg2 = withMsg(MonadError1);
38163
38447
  const MonadThrow0 = MonadError1.MonadThrow0();
38448
+ const $$new = dictMonadWithGraphAlloc.new(typeNameBaseVal);
38164
38449
  const Monad0 = dictMonadWithGraphAlloc.MonadWithGraph2().Monad0();
38165
38450
  const Bind1 = Monad0.Bind1();
38166
- const Functor0 = Bind1.Apply0().Functor0();
38451
+ const $0 = Bind1.Apply0().Functor0();
38167
38452
  const Applicative0 = Monad0.Applicative0();
38168
38453
  const traverse2 = traversableList.traverse(Applicative0);
38169
38454
  const traverse3 = traversablePair.traverse(Applicative0);
@@ -38179,30 +38464,32 @@ var $$eval = (dictMonadWithGraphAlloc) => {
38179
38464
  return withMsg2("Variable lookup")(lookup$p(MonadThrow0)(showString)(mapEnvStringVal)(v1._1)(v));
38180
38465
  }
38181
38466
  if (v1.tag === "Int") {
38182
- return Functor0.map((f) => f($BaseVal("Int", v1._2)))(Functor0.map(Val)(dictMonadWithGraphAlloc.new(insert3(ordVertex)(v1._1)()(v2))));
38467
+ return $$new(Val)(insert3(ordVertex)(v1._1)()(v2))($BaseVal("Int", v1._2));
38183
38468
  }
38184
38469
  if (v1.tag === "Float") {
38185
- return Functor0.map((f) => f($BaseVal("Float", v1._2)))(Functor0.map(Val)(dictMonadWithGraphAlloc.new(insert3(ordVertex)(v1._1)()(v2))));
38470
+ return $$new(Val)(insert3(ordVertex)(v1._1)()(v2))($BaseVal("Float", v1._2));
38186
38471
  }
38187
38472
  if (v1.tag === "Str") {
38188
- return Functor0.map((f) => f($BaseVal("Str", v1._2)))(Functor0.map(Val)(dictMonadWithGraphAlloc.new(insert3(ordVertex)(v1._1)()(v2))));
38473
+ return $$new(Val)(insert3(ordVertex)(v1._1)()(v2))($BaseVal("Str", v1._2));
38189
38474
  }
38190
38475
  if (v1.tag === "Dictionary") {
38191
- const $0 = v1._1;
38192
- return Bind1.bind(Functor0.map(unzip4)(traverse2(traverse3((() => {
38193
- const $1 = $$eval(dictMonadWithGraphAlloc)(v);
38194
- return (a) => $1(a)(v2);
38476
+ const $1 = v1._1;
38477
+ return Bind1.bind($0.map(unzip4)(traverse2(traverse3((() => {
38478
+ const $2 = $$eval(dictMonadWithGraphAlloc)(v);
38479
+ return (a) => $2(a)(v2);
38195
38480
  })()))(v1._2)))((v3) => {
38196
38481
  const v4 = unzip(listMap((v$1) => $Tuple(v$1._2.tag === "Str" ? v$1._2._1 : typeError(v$1._2)("Str"), v$1._1))(v3._1));
38197
- const $1 = $BaseVal("Dictionary", fromFoldable110(zipWith2(Tuple)(v4._1)(zipWith2(Tuple)(v4._2)(v3._2))));
38198
- return Functor0.map((f) => f($1))(Functor0.map(Val)(dictMonadWithGraphAlloc.new(insert3(ordVertex)($0)()(v2))));
38482
+ return $$new(Val)(insert3(ordVertex)($1)()(v2))($BaseVal(
38483
+ "Dictionary",
38484
+ fromFoldable110(zipWith2(Tuple)(v4._1)(zipWith2(Tuple)(v4._2)(v3._2)))
38485
+ ));
38199
38486
  });
38200
38487
  }
38201
38488
  if (v1.tag === "Constr") {
38202
- const $0 = v1._2;
38203
- const $1 = v1._3;
38204
- const $2 = v1._1;
38205
- return Bind1.bind(checkArity3($0)((() => {
38489
+ const $1 = v1._2;
38490
+ const $2 = v1._3;
38491
+ const $3 = v1._1;
38492
+ return Bind1.bind(checkArity3($1)((() => {
38206
38493
  const go = (go$a0$copy) => (go$a1$copy) => {
38207
38494
  let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
38208
38495
  while (go$c) {
@@ -38221,67 +38508,69 @@ var $$eval = (dictMonadWithGraphAlloc) => {
38221
38508
  }
38222
38509
  return go$r;
38223
38510
  };
38224
- return go(0)($1);
38511
+ return go(0)($2);
38225
38512
  })()))(() => Bind1.bind(traverse2((() => {
38226
- const $3 = $$eval(dictMonadWithGraphAlloc)(v);
38227
- return (a) => $3(a)(v2);
38228
- })())($1))((vs) => Functor0.map((f) => f($BaseVal("Constr", $0, vs)))(Functor0.map(Val)(dictMonadWithGraphAlloc.new(insert3(ordVertex)($2)()(v2))))));
38513
+ const $4 = $$eval(dictMonadWithGraphAlloc)(v);
38514
+ return (a) => $4(a)(v2);
38515
+ })())($2))((vs) => $$new(Val)(insert3(ordVertex)($3)()(v2))($BaseVal("Constr", $1, vs))));
38229
38516
  }
38230
38517
  if (v1.tag === "Matrix") {
38231
- const $0 = v1._2;
38232
- const $1 = v1._3._1;
38233
- const $2 = v1._3._2;
38234
- const $3 = v1._1;
38518
+ const $1 = v1._2;
38519
+ const $2 = v1._3._1;
38520
+ const $3 = v1._3._2;
38521
+ const $4 = v1._1;
38235
38522
  return Bind1.bind($$eval(dictMonadWithGraphAlloc)(v)(v1._4)(v2))((v3) => {
38236
38523
  const v5 = intPair.unpack(v3._2);
38237
- const $4 = v5._1._1;
38238
- const $5 = v5._2._1;
38239
- const $6 = v5._1._2;
38240
- const $7 = v5._2._2;
38241
- return Bind1.bind(check(MonadThrow0)(greaterThanOrEq($Tuple($4, $5))($Tuple(1, 1)))("array must be at least (" + show32($Tuple(1, 1)) + "); got (" + show32($Tuple(
38242
- $4,
38243
- $5
38244
- )) + ")"))(() => Bind1.bind(sequence1(arrayBind(range(1)($4))((i) => [
38245
- sequence1(arrayBind(range(1)($5))((j) => [
38524
+ const $5 = v5._1._1;
38525
+ const $6 = v5._2._1;
38526
+ const $7 = v5._1._2;
38527
+ const $8 = v5._2._2;
38528
+ return Bind1.bind(check(MonadThrow0)(greaterThanOrEq($Tuple($5, $6))($Tuple(1, 1)))("array must be at least (" + show3($Tuple(1, 1)) + "); got (" + show3($Tuple(
38529
+ $5,
38530
+ $6
38531
+ )) + ")"))(() => Bind1.bind(sequence1(arrayBind(range(1)($5))((i) => [
38532
+ sequence1(arrayBind(range(1)($6))((j) => [
38246
38533
  $$eval(dictMonadWithGraphAlloc)(unionWith((v$1) => identity18)(v)(disjointUnion2((() => {
38247
- const $8 = {};
38248
- $8[$1] = $Val($6, $BaseVal("Int", i));
38249
- return $8;
38534
+ const $9 = {};
38535
+ $9[$2] = $Val($7, $BaseVal("Int", i));
38536
+ return $9;
38250
38537
  })())((() => {
38251
- const $8 = {};
38252
- $8[$2] = $Val($7, $BaseVal("Int", j));
38253
- return $8;
38254
- })())))($0)(v2)
38538
+ const $9 = {};
38539
+ $9[$3] = $Val($8, $BaseVal("Int", j));
38540
+ return $9;
38541
+ })())))($1)(v2)
38255
38542
  ]))
38256
- ])))((vss) => Functor0.map((f) => f($BaseVal("Matrix", $Tuple(vss, $Tuple($Tuple($4, $6), $Tuple($5, $7))))))(Functor0.map(Val)(dictMonadWithGraphAlloc.new(insert3(ordVertex)($3)()(v2))))));
38543
+ ])))((vss) => $$new(Val)(insert3(ordVertex)($4)()(v2))($BaseVal(
38544
+ "Matrix",
38545
+ $Tuple(vss, $Tuple($Tuple($5, $7), $Tuple($6, $8)))
38546
+ ))));
38257
38547
  });
38258
38548
  }
38259
38549
  if (v1.tag === "Lambda") {
38260
- const $0 = $BaseVal(
38550
+ return $$new(Val)(insert3(ordVertex)(v1._1)()(v2))($BaseVal(
38261
38551
  "Fun",
38262
38552
  $Fun(
38263
38553
  "Closure",
38264
38554
  (() => {
38265
- const $02 = fVElim.fv(v1._2);
38555
+ const $1 = fVElim.fv(v1._2);
38266
38556
  return filterWithKey((x2) => {
38267
- const $1 = setSet(ordString).member(x2)($02);
38268
- return (v$1) => $1;
38557
+ const $2 = setSet(ordString).member(x2)($1);
38558
+ return (v$1) => $2;
38269
38559
  })(v);
38270
38560
  })(),
38271
38561
  empty,
38272
38562
  v1._2
38273
38563
  )
38274
- );
38275
- return Functor0.map((f) => f($0))(Functor0.map(Val)(dictMonadWithGraphAlloc.new(insert3(ordVertex)(v1._1)()(v2))));
38564
+ ));
38276
38565
  }
38277
38566
  if (v1.tag === "Project") {
38278
- const $0 = v1._2;
38567
+ const $1 = v1._2;
38279
38568
  return Bind1.bind($$eval(dictMonadWithGraphAlloc)(v)(v1._1)(v2))((v3) => {
38280
38569
  if (v3._2.tag === "Dictionary") {
38281
- return withMsg2("Dict lookup")(orElse(MonadThrow0)('Key "' + $0 + '" not found')((() => {
38282
- const $1 = _lookup(Nothing, Just, $0, v3._2._1);
38283
- if ($1.tag === "Just") {
38284
- return $Maybe("Just", $1._1._2);
38570
+ return withMsg2("Dict lookup")(orElse(MonadThrow0)('Key "' + $1 + '" not found')((() => {
38571
+ const $2 = _lookup(Nothing, Just, $1, v3._2._1);
38572
+ if ($2.tag === "Just") {
38573
+ return $Maybe("Just", $2._1._2);
38285
38574
  }
38286
38575
  return Nothing;
38287
38576
  })()));
@@ -38290,14 +38579,14 @@ var $$eval = (dictMonadWithGraphAlloc) => {
38290
38579
  });
38291
38580
  }
38292
38581
  if (v1.tag === "DProject") {
38293
- const $0 = v1._2;
38294
- return Bind1.bind($$eval(dictMonadWithGraphAlloc)(v)(v1._1)(v2))((v3) => Bind1.bind($$eval(dictMonadWithGraphAlloc)(v)($0)(v2))((v$p) => {
38582
+ const $1 = v1._2;
38583
+ return Bind1.bind($$eval(dictMonadWithGraphAlloc)(v)(v1._1)(v2))((v3) => Bind1.bind($$eval(dictMonadWithGraphAlloc)(v)($1)(v2))((v$p) => {
38295
38584
  if (v3._2.tag === "Dictionary") {
38296
38585
  if (v$p._2.tag === "Str") {
38297
38586
  return withMsg2("Dict lookup")(orElse(MonadThrow0)('Key "' + v$p._2._1 + '" not found')((() => {
38298
- const $1 = _lookup(Nothing, Just, v$p._2._1, v3._2._1);
38299
- if ($1.tag === "Just") {
38300
- return $Maybe("Just", $1._1._2);
38587
+ const $2 = _lookup(Nothing, Just, v$p._2._1, v3._2._1);
38588
+ if ($2.tag === "Just") {
38589
+ return $Maybe("Just", $2._1._2);
38301
38590
  }
38302
38591
  return Nothing;
38303
38592
  })()));
@@ -38308,18 +38597,18 @@ var $$eval = (dictMonadWithGraphAlloc) => {
38308
38597
  }));
38309
38598
  }
38310
38599
  if (v1.tag === "App") {
38311
- const $0 = v1._2;
38312
- return Bind1.bind($$eval(dictMonadWithGraphAlloc)(v)(v1._1)(v2))((v3) => Bind1.bind($$eval(dictMonadWithGraphAlloc)(v)($0)(v2))((v$p) => apply2(dictMonadWithGraphAlloc)(v3)(v$p)));
38600
+ const $1 = v1._2;
38601
+ return Bind1.bind($$eval(dictMonadWithGraphAlloc)(v)(v1._1)(v2))((v3) => Bind1.bind($$eval(dictMonadWithGraphAlloc)(v)($1)(v2))((v$p) => apply2(dictMonadWithGraphAlloc)(v3)(v$p)));
38313
38602
  }
38314
38603
  if (v1.tag === "Let") {
38315
- const $0 = v1._2;
38316
- const $1 = v1._1._1;
38317
- return Bind1.bind($$eval(dictMonadWithGraphAlloc)(v)(v1._1._2)(v2))((v3) => Bind1.bind(match1(v3)($1))((v4) => $$eval(dictMonadWithGraphAlloc)(unionWith((v$1) => identity18)(v)(v4._1))($0)(v4._2._2)));
38604
+ const $1 = v1._2;
38605
+ const $2 = v1._1._1;
38606
+ return Bind1.bind($$eval(dictMonadWithGraphAlloc)(v)(v1._1._2)(v2))((v3) => Bind1.bind(match1(v3)($2))((v4) => $$eval(dictMonadWithGraphAlloc)(unionWith((v$1) => identity18)(v)(v4._1))($1)(v4._2._2)));
38318
38607
  }
38319
38608
  if (v1.tag === "LetRec") {
38320
- const $0 = v1._2;
38321
- const $1 = v1._1._1;
38322
- return Bind1.bind(closeDefs1(v)(v1._1._2)(insert3(ordVertex)($1)()(v2)))((\u03B3$p) => $$eval(dictMonadWithGraphAlloc)(unionWith((v$1) => identity18)(v)(\u03B3$p))($0)(insert3(ordVertex)($1)()(v2)));
38609
+ const $1 = v1._2;
38610
+ const inserted\u03B1 = insert3(ordVertex)(v1._1._1)()(v2);
38611
+ return Bind1.bind(closeDefs1(v)(v1._1._2)(inserted\u03B1))((\u03B3$p) => $$eval(dictMonadWithGraphAlloc)(unionWith((v$1) => identity18)(v)(\u03B3$p))($1)(inserted\u03B1));
38323
38612
  }
38324
38613
  fail();
38325
38614
  };
@@ -38328,7 +38617,7 @@ var apply2 = (dictMonadWithGraphAlloc) => {
38328
38617
  const Bind1 = dictMonadWithGraphAlloc.MonadWithGraph2().Monad0().Bind1();
38329
38618
  const closeDefs1 = closeDefs(dictMonadWithGraphAlloc);
38330
38619
  const match1 = match(dictMonadWithGraphAlloc);
38331
- const Functor0 = Bind1.Apply0().Functor0();
38620
+ const $$new = dictMonadWithGraphAlloc.new(typeNameBaseVal);
38332
38621
  const MonadError1 = dictMonadWithGraphAlloc.MonadError1();
38333
38622
  const MonadThrow0 = MonadError1.MonadThrow0();
38334
38623
  return (v) => (v1) => {
@@ -38341,8 +38630,7 @@ var apply2 = (dictMonadWithGraphAlloc) => {
38341
38630
  return Bind1.bind(closeDefs1($2)(v._2._1._2)($$$Map("Two", Leaf2, $1, void 0, Leaf2)))((\u03B32) => Bind1.bind(match1(v1)($3))((v3) => $$eval(dictMonadWithGraphAlloc)(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))));
38342
38631
  }
38343
38632
  if (v._2._1.tag === "Foreign") {
38344
- const $1 = v._2._1._1._1;
38345
- const $2 = v._2._1._1._2;
38633
+ const $1 = v._2._1._1._2;
38346
38634
  const vs$p = foldableList.foldr(Cons)($List("Cons", v1, Nil))(v._2._1._2);
38347
38635
  if ((() => {
38348
38636
  const go = (go$a0$copy) => (go$a1$copy) => {
@@ -38363,24 +38651,19 @@ var apply2 = (dictMonadWithGraphAlloc) => {
38363
38651
  }
38364
38652
  return go$r;
38365
38653
  };
38366
- return $2._1.arity > go(0)(vs$p);
38654
+ return $1._1.arity > go(0)(vs$p);
38367
38655
  })()) {
38368
- return Functor0.map((f) => f($BaseVal("Fun", $Fun("Foreign", $Tuple($1, $2), vs$p))))(Functor0.map(Val)(dictMonadWithGraphAlloc.new($$$Map(
38369
- "Two",
38370
- Leaf2,
38371
- v._1,
38372
- void 0,
38373
- Leaf2
38374
- ))));
38656
+ return $$new(Val)($$$Map("Two", Leaf2, v._1, void 0, Leaf2))($BaseVal(
38657
+ "Fun",
38658
+ $Fun("Foreign", $Tuple(v._2._1._1._1, $1), vs$p)
38659
+ ));
38375
38660
  }
38376
- return $2._1["op'"](dictMonadWithGraphAlloc)(MonadError1)(vs$p);
38661
+ return $1._1["op'"](dictMonadWithGraphAlloc)(MonadError1)(vs$p);
38377
38662
  }
38378
38663
  if (v._2._1.tag === "PartialConstr") {
38379
- const $1 = v._2._1._1;
38380
- const $2 = v._2._1._2;
38381
- const $3 = v._1;
38382
- const n = defined(arity(monadThrowExceptT(monadIdentity))($1));
38383
- return Bind1.bind(check(MonadThrow0)((() => {
38664
+ const $1 = v._1;
38665
+ const n = defined(arity(monadThrowExceptT(monadIdentity))(v._2._1._1));
38666
+ const v$p = (() => {
38384
38667
  const go = (go$a0$copy) => (go$a1$copy) => {
38385
38668
  let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
38386
38669
  while (go$c) {
@@ -38399,50 +38682,42 @@ var apply2 = (dictMonadWithGraphAlloc) => {
38399
38682
  }
38400
38683
  return go$r;
38401
38684
  };
38402
- return go(0)($2) < n;
38403
- })())("Too many arguments to " + showCtr($1)))(() => {
38404
- if ((() => {
38405
- const go = (go$a0$copy) => (go$a1$copy) => {
38406
- let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
38407
- while (go$c) {
38408
- const b = go$a0, v$1 = go$a1;
38409
- if (v$1.tag === "Nil") {
38410
- go$c = false;
38411
- go$r = b;
38412
- continue;
38413
- }
38414
- if (v$1.tag === "Cons") {
38415
- go$a0 = b + 1 | 0;
38416
- go$a1 = v$1._2;
38417
- continue;
38418
- }
38419
- fail();
38685
+ return go(0)(v._2._1._2) < (n - 1 | 0);
38686
+ })() ? $BaseVal(
38687
+ "Fun",
38688
+ $Fun(
38689
+ "PartialConstr",
38690
+ v._2._1._1,
38691
+ foldableList.foldr(Cons)($List("Cons", v1, Nil))(v._2._1._2)
38692
+ )
38693
+ ) : $BaseVal("Constr", v._2._1._1, foldableList.foldr(Cons)($List("Cons", v1, Nil))(v._2._1._2));
38694
+ return Bind1.bind(check(MonadThrow0)((() => {
38695
+ const go = (go$a0$copy) => (go$a1$copy) => {
38696
+ let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
38697
+ while (go$c) {
38698
+ const b = go$a0, v$1 = go$a1;
38699
+ if (v$1.tag === "Nil") {
38700
+ go$c = false;
38701
+ go$r = b;
38702
+ continue;
38420
38703
  }
38421
- return go$r;
38422
- };
38423
- return go(0)($2) < (n - 1 | 0);
38424
- })()) {
38425
- const $42 = $BaseVal(
38426
- "Fun",
38427
- $Fun("PartialConstr", $1, foldableList.foldr(Cons)($List("Cons", v1, Nil))($2))
38428
- );
38429
- return Functor0.map((f) => f($42))(Functor0.map(Val)(dictMonadWithGraphAlloc.new($$$Map(
38430
- "Two",
38431
- Leaf2,
38432
- $3,
38433
- void 0,
38434
- Leaf2
38435
- ))));
38436
- }
38437
- const $4 = $BaseVal("Constr", $1, foldableList.foldr(Cons)($List("Cons", v1, Nil))($2));
38438
- return Functor0.map((f) => f($4))(Functor0.map(Val)(dictMonadWithGraphAlloc.new($$$Map(
38439
- "Two",
38440
- Leaf2,
38441
- $3,
38442
- void 0,
38443
- Leaf2
38444
- ))));
38445
- });
38704
+ if (v$1.tag === "Cons") {
38705
+ go$a0 = b + 1 | 0;
38706
+ go$a1 = v$1._2;
38707
+ continue;
38708
+ }
38709
+ fail();
38710
+ }
38711
+ return go$r;
38712
+ };
38713
+ return go(0)(v._2._1._2) < n;
38714
+ })())("Too many arguments to " + showCtr(v._2._1._1)))(() => $$new(Val)($$$Map(
38715
+ "Two",
38716
+ Leaf2,
38717
+ $1,
38718
+ void 0,
38719
+ Leaf2
38720
+ ))(v$p));
38446
38721
  }
38447
38722
  }
38448
38723
  return $0(v1);
@@ -38508,13 +38783,13 @@ var graphEval = (dictMonadError) => {
38508
38783
  const $1 = v["\u03B3"];
38509
38784
  const $2 = spyFunWhen(false)("fwdSlice")((x2) => $Tuple(showVertices(x2._1), showEdgeList(toEdgeList(graphGraphImpl)(x2._2))))(showGraph(graphGraphImpl))(fwdSlice2);
38510
38785
  const $3 = spyFunWhen(false)("bwdSlice")((x2) => $Tuple(showVertices(x2._1), showEdgeList(toEdgeList(graphGraphImpl)(x2._2))))(showGraph(graphGraphImpl))(bwdSlice2);
38511
- return Monad0.Bind1().bind(runAllocT(Monad0)(bindStateT2.bind(alloc(e))((e\u03B1) => bindStateT2.bind(runWithGraphT_spy2(eval1($1)(e\u03B1)(Leaf2))(foldableEnvExpr.foldl((m) => (a) => insert3(ordVertex)(a)()(m))(Leaf2)($EnvExpr(
38786
+ return Monad0.Bind1().bind(runAllocT(Monad0)(bindStateT2.bind(alloc(e))((e\u03B1) => bindStateT2.bind(runWithGraphT_spy2(eval1($1)(e\u03B1)(Leaf2))(verticesEnvExprVertex.vertices($EnvExpr(
38512
38787
  $1,
38513
38788
  e\u03B1
38514
38789
  ))))((v1) => {
38515
38790
  const $4 = v1._1;
38516
38791
  const $5 = v1._2;
38517
- return bindStateT2.bind(check2(difference2(ordVertex)(foldableBaseVal.foldl((m) => (a) => insert3(ordVertex)(a)()(m))(insert3(ordVertex)($5._1)()(Leaf2))($5._2))($4._1.vertices).tag === "Leaf")("outputs in graph"))(() => applicativeStateT(Monad0).pure($Tuple(
38792
+ return bindStateT2.bind(check2(difference2(ordDVertex)(verticesValVertex.vertices($5))(verticesGraphImpl.vertices($4)).tag === "Leaf")("outputs in graph"))(() => applicativeStateT(Monad0).pure($Tuple(
38518
38793
  $4,
38519
38794
  $Tuple($EnvExpr($1, e\u03B1), $5)
38520
38795
  )));
@@ -38530,8 +38805,8 @@ var graphEval = (dictMonadError) => {
38530
38805
 
38531
38806
  // output-es/GaloisConnection/index.js
38532
38807
  var identity29 = (x2) => x2;
38533
- var semigroupoidGaloisConnect = { compose: (v) => (v1) => ({ fwd: (x2) => v.fwd(v1.fwd(x2)), bwd: (x2) => v1.bwd(v.bwd(x2)) }) };
38534
- var categoryGaloisConnection = { identity: { fwd: identity29, bwd: identity29 }, Semigroupoid0: () => semigroupoidGaloisConnect };
38808
+ var semigroupoidGaloisConnect = { compose: (v) => (v1) => ({ fwd: (x2) => v.fwd(v1.fwd(x2)), bwd: (x2) => v1.bwd(v.bwd(x2)), connection: void 0 }) };
38809
+ var categoryGaloisConnection = { identity: { fwd: identity29, bwd: identity29, connection: void 0 }, Semigroupoid0: () => semigroupoidGaloisConnect };
38535
38810
 
38536
38811
  // output-es/Parsing.String/index.js
38537
38812
  var updatePosSingle = (v) => (cp) => (after) => {
@@ -38673,13 +38948,13 @@ var hexDigitToInt = (c) => {
38673
38948
  };
38674
38949
 
38675
38950
  // output-es/Parsing.String.Basic/index.js
38676
- var show12 = /* @__PURE__ */ showArrayImpl(showCharImpl);
38951
+ var show13 = /* @__PURE__ */ showArrayImpl(showCharImpl);
38677
38952
  var satisfyCP = (p) => satisfy((x2) => p(toCharCode(x2)));
38678
38953
  var space = /* @__PURE__ */ withErrorMessage(/* @__PURE__ */ satisfyCP(isSpace))("space");
38679
38954
  var upper2 = /* @__PURE__ */ withErrorMessage(/* @__PURE__ */ satisfyCP(isUpper))("uppercase letter");
38680
- var oneOf = (ss) => withLazyErrorMessage(satisfy((a) => elem(eqChar)(a)(ss)))((v) => "one of " + show12(ss));
38955
+ var oneOf = (ss) => withLazyErrorMessage(satisfy((a) => elem(eqChar)(a)(ss)))((v) => "one of " + show13(ss));
38681
38956
  var octDigit = /* @__PURE__ */ withErrorMessage(/* @__PURE__ */ satisfyCP(isOctDigit))("oct digit");
38682
- var noneOf = (ss) => withLazyErrorMessage(satisfy((a) => notElem(eqChar)(a)(ss)))((v) => "none of " + show12(ss));
38957
+ var noneOf = (ss) => withLazyErrorMessage(satisfy((a) => notElem(eqChar)(a)(ss)))((v) => "none of " + show13(ss));
38683
38958
  var letter = /* @__PURE__ */ withErrorMessage(/* @__PURE__ */ satisfyCP(isAlpha))("letter");
38684
38959
  var hexDigit = /* @__PURE__ */ withErrorMessage(/* @__PURE__ */ satisfyCP(isHexDigit))("hex digit");
38685
38960
  var digit = /* @__PURE__ */ withErrorMessage(/* @__PURE__ */ satisfyCP(isDecDigit))("digit");
@@ -40268,7 +40543,7 @@ var sepBy_try = (p) => (sep) => {
40268
40543
  };
40269
40544
 
40270
40545
  // output-es/Parse/index.js
40271
- var fromFoldable21 = /* @__PURE__ */ (() => fromFoldableImpl(foldableList.foldr))();
40546
+ var fromFoldable20 = /* @__PURE__ */ (() => fromFoldableImpl(foldableList.foldr))();
40272
40547
  var fromFoldable111 = /* @__PURE__ */ (() => fromFoldableImpl(foldableNonEmptyList.foldr))();
40273
40548
  var onlyIf = (b) => (a) => {
40274
40549
  const $0 = b ? (state1, v, v1, v2, done) => done(state1, void 0) : fail2("No alternative");
@@ -40277,7 +40552,7 @@ var onlyIf = (b) => (a) => {
40277
40552
  var choose2 = /* @__PURE__ */ choose(altParserT);
40278
40553
  var fanin3 = /* @__PURE__ */ fanin(categoryFn)(choiceFn);
40279
40554
  var identity31 = (x2) => x2;
40280
- var operators = (binaryOp) => fromFoldable21(listMap(arrayMap((v) => $Operator(
40555
+ var operators = (binaryOp) => fromFoldable20(listMap(arrayMap((v) => $Operator(
40281
40556
  "Infix",
40282
40557
  (() => {
40283
40558
  const $0 = binaryOp(v.op);
@@ -41778,7 +42053,7 @@ var $ForeignTrace$p = (_1, _2) => ({ tag: "ForeignTrace'", _1, _2 });
41778
42053
  var $Match = (tag, _1, _2) => ({ tag, _1, _2 });
41779
42054
  var $Trace = (tag, _1, _2, _3, _4) => ({ tag, _1, _2, _3, _4 });
41780
42055
  var $VarDef3 = (_1, _2) => ({ tag: "VarDef", _1, _2 });
41781
- var unions = /* @__PURE__ */ (() => {
42056
+ var unions2 = /* @__PURE__ */ (() => {
41782
42057
  const go = (go$a0$copy) => (go$a1$copy) => {
41783
42058
  let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
41784
42059
  while (go$c) {
@@ -41809,7 +42084,7 @@ var bVMatch = {
41809
42084
  return Leaf2;
41810
42085
  }
41811
42086
  if (v.tag === "MatchConstr") {
41812
- return unions(listMap(bVMatch.bv)(v._2));
42087
+ return unions2(listMap(bVMatch.bv)(v._2));
41813
42088
  }
41814
42089
  if (v.tag === "MatchDict") {
41815
42090
  return fold((z) => (v$1) => union3(ordString)(z))(Leaf2)(_fmapObject(v._1, bVMatch.bv));
@@ -41820,19 +42095,19 @@ var bVMatch = {
41820
42095
 
41821
42096
  // output-es/Eval/index.js
41822
42097
  var disjointUnion3 = /* @__PURE__ */ disjointUnion(mapEnvStringVal);
41823
- var fromFoldable25 = /* @__PURE__ */ (() => foldableSet.foldl((m) => (a) => insert3(ordString)(a)()(m))(Leaf2))();
42098
+ var fromFoldable21 = /* @__PURE__ */ (() => foldableSet.foldl((m) => (a) => insert3(ordString)(a)()(m))(Leaf2))();
41824
42099
  var show23 = /* @__PURE__ */ (() => showSet(showString).show)();
41825
42100
  var toUnfoldable15 = /* @__PURE__ */ toUnfoldable4(unfoldableList);
41826
42101
  var fromFoldable112 = /* @__PURE__ */ fromFoldable(foldableList);
41827
- var union6 = /* @__PURE__ */ (() => setSet(ordString).union)();
42102
+ var union7 = /* @__PURE__ */ (() => setSet(ordString).union)();
41828
42103
  var fv2 = /* @__PURE__ */ (() => fVDict(fVElim).fv)();
41829
42104
  var unzip5 = /* @__PURE__ */ unzip3(functorList);
41830
- var fromFoldable26 = /* @__PURE__ */ (() => fromFoldableImpl(foldableList.foldr))();
42105
+ var fromFoldable25 = /* @__PURE__ */ (() => fromFoldableImpl(foldableList.foldr))();
41831
42106
  var greaterThanOrEq1 = /* @__PURE__ */ (() => {
41832
42107
  const $0 = ordTuple(ordInt)(ordInt);
41833
42108
  return (a1) => (a2) => $0.compare(a1)(a2) !== "LT";
41834
42109
  })();
41835
- var show33 = (v) => "(Tuple " + showIntImpl(v._1) + " " + showIntImpl(v._2) + ")";
42110
+ var show32 = (v) => "(Tuple " + showIntImpl(v._1) + " " + showIntImpl(v._2) + ")";
41836
42111
  var erase1 = /* @__PURE__ */ (() => functorElim.map((v) => {
41837
42112
  }))();
41838
42113
  var matchMany2 = (dictMonadError) => {
@@ -41944,7 +42219,7 @@ var match4 = (dictMonadError) => {
41944
42219
  const $3 = v._2._1;
41945
42220
  const $4 = v._1;
41946
42221
  const $5 = v1._2;
41947
- return Bind1.bind(check(MonadThrow0)(difference2(ordString)($2)(fromFoldable25(mapObjectString.keys($3))).tag === "Leaf")("Pattern mismatch: found " + show23(mapObjectString.keys($3)) + ", expected " + show23($2)))(() => {
42222
+ return Bind1.bind(check(MonadThrow0)(difference2(ordString)($2)(fromFoldable21(mapObjectString.keys($3))).tag === "Leaf")("Pattern mismatch: found " + show23(mapObjectString.keys($3)) + ", expected " + show23($2)))(() => {
41948
42223
  const xs$p = toUnfoldable15($2);
41949
42224
  return Bind1.bind(matchMany2(dictMonadError)(dictAnn)(listMap((k) => $$get2(showString)(mapObjectString)(k)($3)._2)(xs$p))($5))((v2) => $0.pure($Tuple(
41950
42225
  v2._1,
@@ -41972,7 +42247,7 @@ var closeDefs2 = (\u03B3) => (\u03C1) => (\u03B1) => _fmapObject(
41972
42247
  $Fun(
41973
42248
  "Closure",
41974
42249
  (() => {
41975
- const $0 = union6(fv2(\u03C1$p))(fVElim.fv(\u03C3));
42250
+ const $0 = union7(fv2(\u03C1$p))(fVElim.fv(\u03C3));
41976
42251
  return filterWithKey((x2) => {
41977
42252
  const $1 = setSet(ordString).member(x2)($0);
41978
42253
  return (v) => $1;
@@ -42085,17 +42360,17 @@ var $$eval2 = (dictMonadError) => {
42085
42360
  const $8 = v4._2._1;
42086
42361
  const $9 = v4._1._2;
42087
42362
  const $10 = v4._2._2;
42088
- return Bind1.bind(check(MonadThrow0)(greaterThanOrEq1($Tuple($7, $8))($Tuple(1, 1)))("array must be at least (" + show33($Tuple(
42363
+ return Bind1.bind(check(MonadThrow0)(greaterThanOrEq1($Tuple($7, $8))($Tuple(1, 1)))("array must be at least (" + show32($Tuple(
42089
42364
  1,
42090
42365
  1
42091
- )) + "); got (" + show33($Tuple($7, $8)) + ")"))(() => Bind1.bind(Functor0.map((() => {
42366
+ )) + "); got (" + show32($Tuple($7, $8)) + ")"))(() => Bind1.bind(Functor0.map((() => {
42092
42367
  const $11 = listMap((x2) => {
42093
42368
  const $112 = unzip5(x2);
42094
- return $Tuple(fromFoldable26($112._1), fromFoldable26($112._2));
42369
+ return $Tuple(fromFoldable25($112._1), fromFoldable25($112._2));
42095
42370
  });
42096
42371
  return (x2) => {
42097
42372
  const $12 = unzip5($11(x2));
42098
- return $Tuple(fromFoldable26($12._1), fromFoldable26($12._2));
42373
+ return $Tuple(fromFoldable25($12._1), fromFoldable25($12._2));
42099
42374
  };
42100
42375
  })())(sequence1(bindList.bind(range4(1)($7))((i) => $List(
42101
42376
  "Cons",
@@ -42247,7 +42522,7 @@ var apply3 = (dictMonadError) => {
42247
42522
  unionWith((v$1) => identity18)(unionWith((v$1) => identity18)($3)(\u03B32))(v2._1),
42248
42523
  v2._2._1.tag === "ContExpr" ? v2._2._1._1 : throwException(error("Expression expected"))()
42249
42524
  ))(dictAnn.BoundedLattice1().BoundedMeetSemilattice1().MeetSemilattice0().meet($2)(v2._2._2._1)))((v3) => $0.pure($Tuple(
42250
- $AppTrace("AppClosure", fromFoldable25(mapObjectString.keys($4)), $5, v3._1),
42525
+ $AppTrace("AppClosure", fromFoldable21(mapObjectString.keys($4)), $5, v3._1),
42251
42526
  v3._2
42252
42527
  )));
42253
42528
  });
@@ -42392,7 +42667,7 @@ var apply22 = (dictMonadError) => {
42392
42667
  // output-es/EvalBwd/index.js
42393
42668
  var disjointUnion_inv2 = /* @__PURE__ */ disjointUnion_inv(ordString)(mapEnvStringVal);
42394
42669
  var toUnfoldable16 = /* @__PURE__ */ toAscUnfoldable(unfoldableList);
42395
- var fromFoldable27 = /* @__PURE__ */ fromFoldable(foldableList);
42670
+ var fromFoldable26 = /* @__PURE__ */ fromFoldable(foldableList);
42396
42671
  var fromFoldable113 = /* @__PURE__ */ (() => foldableSet.foldl((m) => (a) => insert3(ordString)(a)()(m))(Leaf2))();
42397
42672
  var botOfUnit$x215Raw$x2152 = (dictBoundedJoinSemilattice) => ({
42398
42673
  botOf: (() => {
@@ -42404,7 +42679,7 @@ var botOfUnit$x215Raw$x2152 = (dictBoundedJoinSemilattice) => ({
42404
42679
  return (x2) => $Tuple($0, $1(x2._2));
42405
42680
  })()
42406
42681
  });
42407
- var union7 = /* @__PURE__ */ (() => setSet(ordString).union)();
42682
+ var union8 = /* @__PURE__ */ (() => setSet(ordString).union)();
42408
42683
  var disjointUnion4 = /* @__PURE__ */ disjointUnion(mapEnvStringVal);
42409
42684
  var foldl1 = /* @__PURE__ */ (() => foldable1NonEmpty(foldableList).foldl1)();
42410
42685
  var matchManyBwd = (dictAnn) => (v) => (v1) => (v2) => (v3) => {
@@ -42468,7 +42743,7 @@ var matchBwd = (dictAnn) => {
42468
42743
  const v4 = unzip(toUnfoldable16(v3._1));
42469
42744
  const v5 = matchManyBwd(dictAnn)(v)(v1)(v2)(reverse2(v4._2));
42470
42745
  return $Tuple(
42471
- $Val(v2, $BaseVal("Dictionary", fromFoldable27(zipWith2(Tuple)(v4._1)(listMap((v6) => $Tuple(bot1, v6))(v5._1))))),
42746
+ $Val(v2, $BaseVal("Dictionary", fromFoldable26(zipWith2(Tuple)(v4._1)(listMap((v6) => $Tuple(bot1, v6))(v5._1))))),
42472
42747
  $Elim("ElimDict", fromFoldable113(mapObjectString.keys(v3._1)), v5._2)
42473
42748
  );
42474
42749
  }
@@ -42720,7 +42995,7 @@ var evalBwd$p = (dictAnn) => {
42720
42995
  })((() => {
42721
42996
  const $13 = (v32) => {
42722
42997
  const v42 = evalBwd$p(dictAnn)(definitely("index within bounds")(index(definitely("index within bounds")(index($9)(v32._1 - 1 | 0)))(v32._2 - 1 | 0)))(definitely("index within bounds")(index(definitely("index within bounds")(index($8)(v32._1 - 1 | 0)))(v32._2 - 1 | 0)));
42723
- const v5 = append_inv(ordString)(mapEnvStringVal)(union7($$$Map(
42998
+ const v5 = append_inv(ordString)(mapEnvStringVal)(union8($$$Map(
42724
42999
  "Two",
42725
43000
  Leaf2,
42726
43001
  $10,
@@ -42870,7 +43145,7 @@ var binary2 = /* @__PURE__ */ binary(boundedJoinSemilatticeUni);
42870
43145
  var binaryZero2 = /* @__PURE__ */ binaryZero(boundedJoinSemilatticeUni);
42871
43146
  var binaryZero1 = /* @__PURE__ */ (() => binaryZero2({ isZero: fanin2(isZeroInt.isZero)(isZeroNumber.isZero) }))();
42872
43147
  var binaryZero22 = /* @__PURE__ */ binaryZero2(isZeroInt);
42873
- var pow3 = /* @__PURE__ */ union5(asNumberIntOrNumber)(asNumberIntOrNumber)(asIntNumber)(asIntNumber)((x2) => (y2) => pow(toNumber(x2))(toNumber(y2)))(pow);
43148
+ var pow3 = /* @__PURE__ */ union6(asNumberIntOrNumber)(asNumberIntOrNumber)(asIntNumber)(asIntNumber)((x2) => (y2) => pow(toNumber(x2))(toNumber(y2)))(pow);
42874
43149
  var numToStr = (v2) => {
42875
43150
  if (v2.tag === "Left") {
42876
43151
  return showIntImpl(v2._1);
@@ -42880,27 +43155,25 @@ var numToStr = (v2) => {
42880
43155
  }
42881
43156
  fail();
42882
43157
  };
42883
- var notEquals = /* @__PURE__ */ union5(asBooleanBoolean)(asBooleanBoolean)(asIntNumberOrString)(asIntNumberOrString)((x2) => (y2) => x2 !== y2)(/* @__PURE__ */ union5(asBooleanBoolean)(asBooleanBoolean)(asNumberString)(asNumberString)((x2) => (y2) => x2 !== y2)((x2) => (y2) => x2 !== y2));
43158
+ var notEquals = /* @__PURE__ */ union6(asBooleanBoolean)(asBooleanBoolean)(asIntNumberOrString)(asIntNumberOrString)((x2) => (y2) => x2 !== y2)(/* @__PURE__ */ union6(asBooleanBoolean)(asBooleanBoolean)(asNumberString)(asNumberString)((x2) => (y2) => x2 !== y2)((x2) => (y2) => x2 !== y2));
42884
43159
  var matrixUpdate = /* @__PURE__ */ $Tuple(
42885
43160
  "matrixUpdate",
42886
43161
  /* @__PURE__ */ $ForeignOp$p({
42887
43162
  arity: 3,
42888
- "op'": (dictMonadWithGraphAlloc) => (dictMonadError) => {
42889
- const MonadThrow0 = dictMonadError.MonadThrow0();
42890
- const Functor0 = MonadThrow0.Monad0().Bind1().Apply0().Functor0();
42891
- return (v) => {
42892
- if (v.tag === "Cons" && v._1._2.tag === "Matrix" && v._2.tag === "Cons" && v._2._1._2.tag === "Constr" && v._2._1._2._2.tag === "Cons" && v._2._1._2._2._1._2.tag === "Int" && v._2._1._2._2._2.tag === "Cons" && v._2._1._2._2._2._1._2.tag === "Int" && v._2._1._2._2._2._2.tag === "Nil" && v._2._2.tag === "Cons" && v._2._2._2.tag === "Nil" && v._2._1._2._1 === "Pair") {
42893
- const $0 = v._2._2._1;
42894
- const $1 = $BaseVal("Matrix", matrixPut(v._2._1._2._2._1._2._1)(v._2._1._2._2._2._1._2._1)((v$1) => $0)(v._1._2._1));
42895
- return Functor0.map((f) => f($1))(Functor0.map(Val)(dictMonadWithGraphAlloc.new($$$Map(
42896
- "Two",
42897
- Leaf2,
42898
- v._1._1,
42899
- void 0,
42900
- Leaf2
42901
- ))));
42902
- }
42903
- return MonadThrow0.throwError(error("Matrix, pair of integers and value expected"));
43163
+ "op'": (dictMonadWithGraphAlloc) => {
43164
+ const $$new = dictMonadWithGraphAlloc.new(typeNameBaseVal);
43165
+ return (dictMonadError) => {
43166
+ const $$throw2 = $$throw(dictMonadError.MonadThrow0());
43167
+ return (v) => {
43168
+ if (v.tag === "Cons" && v._1._2.tag === "Matrix" && v._2.tag === "Cons" && v._2._1._2.tag === "Constr" && v._2._1._2._2.tag === "Cons" && v._2._1._2._2._1._2.tag === "Int" && v._2._1._2._2._2.tag === "Cons" && v._2._1._2._2._2._1._2.tag === "Int" && v._2._1._2._2._2._2.tag === "Nil" && v._2._2.tag === "Cons" && v._2._2._2.tag === "Nil" && v._2._1._2._1 === "Pair") {
43169
+ const $0 = v._2._2._1;
43170
+ return $$new(Val)($$$Map("Two", Leaf2, v._1._1, void 0, Leaf2))($BaseVal(
43171
+ "Matrix",
43172
+ matrixPut(v._2._1._2._2._1._2._1)(v._2._1._2._2._2._1._2._1)((v$1) => $0)(v._1._2._1)
43173
+ ));
43174
+ }
43175
+ return $$throw2("Matrix, pair of integers and value expected");
43176
+ };
42904
43177
  };
42905
43178
  },
42906
43179
  op: (dictAnn) => (dictMonadError) => {
@@ -43035,10 +43308,10 @@ var log3 = (v2) => {
43035
43308
  }
43036
43309
  fail();
43037
43310
  };
43038
- var lessThanEquals = /* @__PURE__ */ union5(asBooleanBoolean)(asBooleanBoolean)(asIntNumberOrString)(asIntNumberOrString)((a1) => (a2) => a1 <= a2)(/* @__PURE__ */ union5(asBooleanBoolean)(asBooleanBoolean)(asNumberString)(asNumberString)((a1) => (a2) => a1 <= a2)((a1) => (a2) => a1 <= a2));
43039
- var lessThan = /* @__PURE__ */ union5(asBooleanBoolean)(asBooleanBoolean)(asIntNumberOrString)(asIntNumberOrString)((a1) => (a2) => a1 < a2)(/* @__PURE__ */ union5(asBooleanBoolean)(asBooleanBoolean)(asNumberString)(asNumberString)((a1) => (a2) => a1 < a2)((a1) => (a2) => a1 < a2));
43040
- var greaterThanEquals = /* @__PURE__ */ union5(asBooleanBoolean)(asBooleanBoolean)(asIntNumberOrString)(asIntNumberOrString)((a1) => (a2) => a1 >= a2)(/* @__PURE__ */ union5(asBooleanBoolean)(asBooleanBoolean)(asNumberString)(asNumberString)((a1) => (a2) => a1 >= a2)((a1) => (a2) => a1 >= a2));
43041
- var greaterThan = /* @__PURE__ */ union5(asBooleanBoolean)(asBooleanBoolean)(asIntNumberOrString)(asIntNumberOrString)((a1) => (a2) => a1 > a2)(/* @__PURE__ */ union5(asBooleanBoolean)(asBooleanBoolean)(asNumberString)(asNumberString)((a1) => (a2) => a1 > a2)((a1) => (a2) => a1 > a2));
43311
+ var lessThanEquals = /* @__PURE__ */ union6(asBooleanBoolean)(asBooleanBoolean)(asIntNumberOrString)(asIntNumberOrString)((a1) => (a2) => a1 <= a2)(/* @__PURE__ */ union6(asBooleanBoolean)(asBooleanBoolean)(asNumberString)(asNumberString)((a1) => (a2) => a1 <= a2)((a1) => (a2) => a1 <= a2));
43312
+ var lessThan = /* @__PURE__ */ union6(asBooleanBoolean)(asBooleanBoolean)(asIntNumberOrString)(asIntNumberOrString)((a1) => (a2) => a1 < a2)(/* @__PURE__ */ union6(asBooleanBoolean)(asBooleanBoolean)(asNumberString)(asNumberString)((a1) => (a2) => a1 < a2)((a1) => (a2) => a1 < a2));
43313
+ var greaterThanEquals = /* @__PURE__ */ union6(asBooleanBoolean)(asBooleanBoolean)(asIntNumberOrString)(asIntNumberOrString)((a1) => (a2) => a1 >= a2)(/* @__PURE__ */ union6(asBooleanBoolean)(asBooleanBoolean)(asNumberString)(asNumberString)((a1) => (a2) => a1 >= a2)((a1) => (a2) => a1 >= a2));
43314
+ var greaterThan = /* @__PURE__ */ union6(asBooleanBoolean)(asBooleanBoolean)(asIntNumberOrString)(asIntNumberOrString)((a1) => (a2) => a1 > a2)(/* @__PURE__ */ union6(asBooleanBoolean)(asBooleanBoolean)(asNumberString)(asNumberString)((a1) => (a2) => a1 > a2)((a1) => (a2) => a1 > a2));
43042
43315
  var extern = (dictBoundedJoinSemilattice) => {
43043
43316
  const bot2 = dictBoundedJoinSemilattice.bot;
43044
43317
  return (v) => $Tuple(v._1, $Val(bot2, $BaseVal("Fun", $Fun("Foreign", $Tuple(v._1, v._2), Nil))));
@@ -43069,41 +43342,34 @@ var error_ = /* @__PURE__ */ $Tuple(
43069
43342
  op_bwd: (dictAnn) => (v) => throwException(error("unimplemented"))()
43070
43343
  })
43071
43344
  );
43072
- var divide = /* @__PURE__ */ union5(asNumberIntOrNumber)(asNumberIntOrNumber)(asIntNumber)(asIntNumber)((x2) => (y2) => toNumber(x2) / toNumber(y2))(numDiv);
43345
+ var divide = /* @__PURE__ */ union6(asNumberIntOrNumber)(asNumberIntOrNumber)(asIntNumber)(asIntNumber)((x2) => (y2) => toNumber(x2) / toNumber(y2))(numDiv);
43073
43346
  var dims = /* @__PURE__ */ $Tuple(
43074
43347
  "dims",
43075
43348
  /* @__PURE__ */ $ForeignOp$p({
43076
43349
  arity: 1,
43077
- "op'": (dictMonadWithGraphAlloc) => (dictMonadError) => {
43078
- const MonadThrow0 = dictMonadError.MonadThrow0();
43079
- const Bind1 = MonadThrow0.Monad0().Bind1();
43080
- const Functor0 = Bind1.Apply0().Functor0();
43081
- return (v) => {
43082
- if (v.tag === "Cons" && v._1._2.tag === "Matrix" && v._2.tag === "Nil") {
43083
- const $0 = v._1._2._1._2._2._1;
43084
- const $1 = v._1._1;
43085
- const $2 = v._1._2._1._2._2._2;
43086
- return Bind1.bind(Functor0.map((f) => f($BaseVal("Int", v._1._2._1._2._1._1)))(Functor0.map(Val)(dictMonadWithGraphAlloc.new($$$Map(
43087
- "Two",
43088
- Leaf2,
43089
- v._1._2._1._2._1._2,
43090
- void 0,
43091
- Leaf2
43092
- )))))((v1) => Bind1.bind(Functor0.map((f) => f($BaseVal("Int", $0)))(Functor0.map(Val)(dictMonadWithGraphAlloc.new($$$Map(
43093
- "Two",
43094
- Leaf2,
43095
- $2,
43096
- void 0,
43097
- Leaf2
43098
- )))))((v2) => Functor0.map((f) => f($BaseVal("Constr", "Pair", $List("Cons", v1, $List("Cons", v2, Nil)))))(Functor0.map(Val)(dictMonadWithGraphAlloc.new($$$Map(
43099
- "Two",
43100
- Leaf2,
43101
- $1,
43102
- void 0,
43103
- Leaf2
43104
- ))))));
43105
- }
43106
- return MonadThrow0.throwError(error("Matrix expected"));
43350
+ "op'": (dictMonadWithGraphAlloc) => {
43351
+ const $$new = dictMonadWithGraphAlloc.new(typeNameBaseVal);
43352
+ return (dictMonadError) => {
43353
+ const MonadThrow0 = dictMonadError.MonadThrow0();
43354
+ const $0 = MonadThrow0.Monad0().Bind1();
43355
+ return (v) => {
43356
+ if (v.tag === "Cons" && v._1._2.tag === "Matrix" && v._2.tag === "Nil") {
43357
+ const $1 = v._1._2._1._2._2._1;
43358
+ const $2 = v._1._1;
43359
+ const $3 = v._1._2._1._2._2._2;
43360
+ return $0.bind($$new(Val)($$$Map("Two", Leaf2, v._1._2._1._2._1._2, void 0, Leaf2))($BaseVal(
43361
+ "Int",
43362
+ v._1._2._1._2._1._1
43363
+ )))((v1) => $0.bind($$new(Val)($$$Map("Two", Leaf2, $3, void 0, Leaf2))($BaseVal("Int", $1)))((v2) => $$new(Val)($$$Map(
43364
+ "Two",
43365
+ Leaf2,
43366
+ $2,
43367
+ void 0,
43368
+ Leaf2
43369
+ ))($BaseVal("Constr", "Pair", $List("Cons", v1, $List("Cons", v2, Nil))))));
43370
+ }
43371
+ return MonadThrow0.throwError(error("Matrix expected"));
43372
+ };
43107
43373
  };
43108
43374
  },
43109
43375
  op: (dictAnn) => (dictMonadError) => {
@@ -43162,26 +43428,23 @@ var dict_map = /* @__PURE__ */ $Tuple(
43162
43428
  arity: 2,
43163
43429
  "op'": (dictMonadWithGraphAlloc) => {
43164
43430
  const apply4 = apply2(dictMonadWithGraphAlloc);
43431
+ const $$new = dictMonadWithGraphAlloc.new(typeNameBaseVal);
43165
43432
  return (dictMonadError) => {
43166
43433
  const MonadThrow0 = dictMonadError.MonadThrow0();
43167
43434
  const Monad0 = MonadThrow0.Monad0();
43168
43435
  const Bind1 = Monad0.Bind1();
43169
43436
  const traverse1 = traversableDict.traverse(Monad0.Applicative0());
43170
- const Functor0 = Bind1.Apply0().Functor0();
43171
43437
  return (v) => {
43172
43438
  if (v.tag === "Cons" && v._2.tag === "Cons" && v._2._1._2.tag === "Dictionary" && v._2._2.tag === "Nil") {
43173
43439
  const $0 = v._1;
43174
43440
  const $1 = v._2._1._1;
43175
43441
  return Bind1.bind(traverse1((v2) => {
43176
43442
  const $2 = v2._1;
43177
- return Functor0.map((v3) => $Tuple($2, v3))(apply4($0)(v2._2));
43178
- })(v._2._1._2._1))((d$p) => Functor0.map((f) => f($BaseVal("Dictionary", d$p)))(Functor0.map(Val)(dictMonadWithGraphAlloc.new($$$Map(
43179
- "Two",
43180
- Leaf2,
43181
- $1,
43182
- void 0,
43183
- Leaf2
43184
- )))));
43443
+ return Bind1.Apply0().Functor0().map((v3) => $Tuple($2, v3))(apply4($0)(v2._2));
43444
+ })(v._2._1._2._1))((d$p) => $$new(Val)($$$Map("Two", Leaf2, $1, void 0, Leaf2))($BaseVal(
43445
+ "Dictionary",
43446
+ d$p
43447
+ )));
43185
43448
  }
43186
43449
  return MonadThrow0.throwError(error("Function and dictionary expected"));
43187
43450
  };
@@ -43240,33 +43503,36 @@ var dict_intersectionWith = /* @__PURE__ */ $Tuple(
43240
43503
  arity: 3,
43241
43504
  "op'": (dictMonadWithGraphAlloc) => {
43242
43505
  const apply4 = apply2(dictMonadWithGraphAlloc);
43506
+ const $$new = dictMonadWithGraphAlloc.new(typeNameBaseVal);
43243
43507
  return (dictMonadError) => {
43244
43508
  const MonadThrow0 = dictMonadError.MonadThrow0();
43245
43509
  const Monad0 = MonadThrow0.Monad0();
43246
43510
  const Bind1 = Monad0.Bind1();
43247
- const Apply0 = Bind1.Apply0();
43248
- const $0 = Apply0.Functor0();
43249
- const sequence1 = traversableDict.sequence(Monad0.Applicative0());
43511
+ const $0 = Bind1.Apply0().Functor0();
43512
+ const Applicative0 = Monad0.Applicative0();
43250
43513
  return (v) => {
43251
43514
  if (v.tag === "Cons" && v._2.tag === "Cons" && v._2._1._2.tag === "Dictionary" && v._2._2.tag === "Cons" && v._2._2._1._2.tag === "Dictionary" && v._2._2._2.tag === "Nil") {
43252
43515
  const $1 = v._1;
43253
- return Apply0.apply($0.map(Val)(dictMonadWithGraphAlloc.new(insert3(ordVertex)(v._2._2._1._1)()($$$Map(
43254
- "Two",
43255
- Leaf2,
43256
- v._2._1._1,
43257
- void 0,
43258
- Leaf2
43259
- )))))($0.map(Dictionary3)($0.map(DictRep)(sequence1(intersectionWith_Object((v2) => (v3) => {
43260
- const $2 = v2._2;
43261
- const $3 = v3._2;
43262
- return Bind1.bind(dictMonadWithGraphAlloc.new(insert3(ordVertex)(v3._1)()($$$Map(
43516
+ const $2 = v._2._1._1;
43517
+ const $3 = v._2._2._1._1;
43518
+ return Bind1.bind($0.map(Dictionary3)($0.map(DictRep)(traversableDict.traverse(Applicative0)(identity19)(intersectionWith_Object((v2) => (v3) => {
43519
+ const $4 = v3._2;
43520
+ const $5 = v2._1;
43521
+ const $6 = v3._1;
43522
+ return Bind1.bind(Bind1.bind(apply4($1)(v2._2))((a) => apply4(a)($4)))((v4) => Bind1.bind($$new(Val)(insert3(ordVertex)($6)()($$$Map(
43263
43523
  "Two",
43264
43524
  Leaf2,
43265
- v2._1,
43525
+ $5,
43266
43526
  void 0,
43267
43527
  Leaf2
43268
- ))))((\u03B2$p$p) => $0.map(Tuple(\u03B2$p$p))(Bind1.bind(apply4($1)($2))((a) => apply4(a)($3))));
43269
- })(v._2._1._2._1)(v._2._2._1._2._1)))));
43528
+ )))(v4._2))((v5) => $0.map(Tuple(v5._1))(Applicative0.pure(v4))));
43529
+ })(v._2._1._2._1)(v._2._2._1._2._1)))))((v$p) => $$new(Val)(insert3(ordVertex)($3)()($$$Map(
43530
+ "Two",
43531
+ Leaf2,
43532
+ $2,
43533
+ void 0,
43534
+ Leaf2
43535
+ )))(v$p));
43270
43536
  }
43271
43537
  return MonadThrow0.throwError(error("Function and two dictionaries expected"));
43272
43538
  };
@@ -43494,21 +43760,22 @@ var dict_disjointUnion = /* @__PURE__ */ $Tuple(
43494
43760
  "dict_disjointUnion",
43495
43761
  /* @__PURE__ */ $ForeignOp$p({
43496
43762
  arity: 2,
43497
- "op'": (dictMonadWithGraphAlloc) => (dictMonadError) => {
43498
- const MonadThrow0 = dictMonadError.MonadThrow0();
43499
- const Functor0 = MonadThrow0.Monad0().Bind1().Apply0().Functor0();
43500
- return (v) => {
43501
- if (v.tag === "Cons" && v._1._2.tag === "Dictionary" && v._2.tag === "Cons" && v._2._1._2.tag === "Dictionary" && v._2._2.tag === "Nil") {
43502
- const $0 = $BaseVal("Dictionary", disjointUnion5(v._1._2._1)(v._2._1._2._1));
43503
- return Functor0.map((f) => f($0))(Functor0.map(Val)(dictMonadWithGraphAlloc.new(insert3(ordVertex)(v._2._1._1)()($$$Map(
43504
- "Two",
43505
- Leaf2,
43506
- v._1._1,
43507
- void 0,
43508
- Leaf2
43509
- )))));
43510
- }
43511
- return MonadThrow0.throwError(error("Dictionaries expected"));
43763
+ "op'": (dictMonadWithGraphAlloc) => {
43764
+ const $$new = dictMonadWithGraphAlloc.new(typeNameBaseVal);
43765
+ return (dictMonadError) => {
43766
+ const $$throw2 = $$throw(dictMonadError.MonadThrow0());
43767
+ return (v) => {
43768
+ if (v.tag === "Cons" && v._1._2.tag === "Dictionary" && v._2.tag === "Cons" && v._2._1._2.tag === "Dictionary" && v._2._2.tag === "Nil") {
43769
+ return $$new(Val)(insert3(ordVertex)(v._2._1._1)()($$$Map(
43770
+ "Two",
43771
+ Leaf2,
43772
+ v._1._1,
43773
+ void 0,
43774
+ Leaf2
43775
+ )))($BaseVal("Dictionary", disjointUnion5(v._1._2._1)(v._2._1._2._1)));
43776
+ }
43777
+ return $$throw2("Dictionaries expected");
43778
+ };
43512
43779
  };
43513
43780
  },
43514
43781
  op: (dictAnn) => (dictMonadError) => {
@@ -43542,21 +43809,22 @@ var dict_difference = /* @__PURE__ */ $Tuple(
43542
43809
  "dict_difference",
43543
43810
  /* @__PURE__ */ $ForeignOp$p({
43544
43811
  arity: 2,
43545
- "op'": (dictMonadWithGraphAlloc) => (dictMonadError) => {
43546
- const MonadThrow0 = dictMonadError.MonadThrow0();
43547
- const Functor0 = MonadThrow0.Monad0().Bind1().Apply0().Functor0();
43548
- return (v) => {
43549
- if (v.tag === "Cons" && v._1._2.tag === "Dictionary" && v._2.tag === "Cons" && v._2._1._2.tag === "Dictionary" && v._2._2.tag === "Nil") {
43550
- const $0 = $BaseVal("Dictionary", mapFObjectString.difference(v._1._2._1)(v._2._1._2._1));
43551
- return Functor0.map((f) => f($0))(Functor0.map(Val)(dictMonadWithGraphAlloc.new(insert3(ordVertex)(v._2._1._1)()($$$Map(
43552
- "Two",
43553
- Leaf2,
43554
- v._1._1,
43555
- void 0,
43556
- Leaf2
43557
- )))));
43558
- }
43559
- return MonadThrow0.throwError(error("Dictionaries expected."));
43812
+ "op'": (dictMonadWithGraphAlloc) => {
43813
+ const $$new = dictMonadWithGraphAlloc.new(typeNameBaseVal);
43814
+ return (dictMonadError) => {
43815
+ const $$throw2 = $$throw(dictMonadError.MonadThrow0());
43816
+ return (v) => {
43817
+ if (v.tag === "Cons" && v._1._2.tag === "Dictionary" && v._2.tag === "Cons" && v._2._1._2.tag === "Dictionary" && v._2._2.tag === "Nil") {
43818
+ return $$new(Val)(insert3(ordVertex)(v._2._1._1)()($$$Map(
43819
+ "Two",
43820
+ Leaf2,
43821
+ v._1._1,
43822
+ void 0,
43823
+ Leaf2
43824
+ )))($BaseVal("Dictionary", mapFObjectString.difference(v._1._2._1)(v._2._1._2._1)));
43825
+ }
43826
+ return $$throw2("Dictionaries expected.");
43827
+ };
43560
43828
  };
43561
43829
  },
43562
43830
  op: (dictAnn) => (dictMonadError) => {
@@ -43629,18 +43897,18 @@ var primitives = /* @__PURE__ */ fromFoldable(foldableArray)([
43629
43897
  i1: intOrNumber,
43630
43898
  i2: intOrNumber,
43631
43899
  o: intOrNumber,
43632
- fwd: /* @__PURE__ */ union5(asIntIntOrNumber)(asNumberIntOrNumber)(asIntNumber)(asIntNumber)(intAdd)(numAdd)
43900
+ fwd: /* @__PURE__ */ union6(asIntIntOrNumber)(asNumberIntOrNumber)(asIntNumber)(asIntNumber)(intAdd)(numAdd)
43633
43901
  }),
43634
43902
  /* @__PURE__ */ binary2("-")({
43635
43903
  i1: intOrNumber,
43636
43904
  i2: intOrNumber,
43637
43905
  o: intOrNumber,
43638
- fwd: /* @__PURE__ */ union5(asIntIntOrNumber)(asNumberIntOrNumber)(asIntNumber)(asIntNumber)(intSub)(numSub)
43906
+ fwd: /* @__PURE__ */ union6(asIntIntOrNumber)(asNumberIntOrNumber)(asIntNumber)(asIntNumber)(intSub)(numSub)
43639
43907
  }),
43640
43908
  /* @__PURE__ */ binaryZero1("*")({
43641
43909
  i: intOrNumber,
43642
43910
  o: intOrNumber,
43643
- fwd: /* @__PURE__ */ union5(asIntIntOrNumber)(asNumberIntOrNumber)(asIntNumber)(asIntNumber)(intMul)(numMul)
43911
+ fwd: /* @__PURE__ */ union6(asIntIntOrNumber)(asNumberIntOrNumber)(asIntNumber)(asIntNumber)(intMul)(numMul)
43644
43912
  }),
43645
43913
  /* @__PURE__ */ binaryZero1("**")({ i: intOrNumber, o: intOrNumber, fwd: pow3 }),
43646
43914
  /* @__PURE__ */ binaryZero1("/")({ i: intOrNumber, o: intOrNumber, fwd: divide }),
@@ -43648,7 +43916,7 @@ var primitives = /* @__PURE__ */ fromFoldable(foldableArray)([
43648
43916
  i1: intOrNumberOrString,
43649
43917
  i2: intOrNumberOrString,
43650
43918
  o: $$boolean,
43651
- fwd: /* @__PURE__ */ union5(asBooleanBoolean)(asBooleanBoolean)(asIntNumberOrString)(asIntNumberOrString)(eqIntImpl)(/* @__PURE__ */ unionStr(asBooleanBoolean)(asNumberString)(eqNumberImpl)(eqStringImpl))
43919
+ fwd: /* @__PURE__ */ union6(asBooleanBoolean)(asBooleanBoolean)(asIntNumberOrString)(asIntNumberOrString)(eqIntImpl)(/* @__PURE__ */ unionStr(asBooleanBoolean)(asNumberString)(eqNumberImpl)(eqStringImpl))
43652
43920
  }),
43653
43921
  /* @__PURE__ */ binary2("/=")({ i1: intOrNumberOrString, i2: intOrNumberOrString, o: $$boolean, fwd: notEquals }),
43654
43922
  /* @__PURE__ */ binary2("<")({ i1: intOrNumberOrString, i2: intOrNumberOrString, o: $$boolean, fwd: lessThan }),
@@ -43671,7 +43939,32 @@ var primitives = /* @__PURE__ */ fromFoldable(foldableArray)([
43671
43939
  ]);
43672
43940
 
43673
43941
  // output-es/ProgCxt/index.js
43942
+ var union9 = /* @__PURE__ */ (() => setSet(ordDVertex).union)();
43943
+ var unions4 = /* @__PURE__ */ (() => {
43944
+ const go = (go$a0$copy) => (go$a1$copy) => {
43945
+ let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
43946
+ while (go$c) {
43947
+ const b = go$a0, v = go$a1;
43948
+ if (v.tag === "Nil") {
43949
+ go$c = false;
43950
+ go$r = b;
43951
+ continue;
43952
+ }
43953
+ if (v.tag === "Cons") {
43954
+ go$a0 = unionWith2(ordDVertex)($$const)(b)(v._1);
43955
+ go$a1 = v._2;
43956
+ continue;
43957
+ }
43958
+ fail();
43959
+ }
43960
+ return go$r;
43961
+ };
43962
+ return go(Leaf2);
43963
+ })();
43674
43964
  var identity32 = (x2) => x2;
43965
+ var verticesProgCxtVertex = {
43966
+ vertices: (v) => union9(unions13(listMap(verticesValVertex.vertices)(mapObjectString.values(v.primitives))))(union9(unions4(listMap(verticesModuleVertex.vertices)(v.mods)))(unions4(listMap((x2) => verticesExprVertex.vertices(x2._2))(v.datasets))))
43967
+ };
43675
43968
  var functorProgCxt = {
43676
43969
  map: (f) => (m) => ({
43677
43970
  primitives: _fmapObject(m.primitives, functorVal.map(f)),
@@ -43808,7 +44101,7 @@ var initialConfig = (dictMonadError) => {
43808
44101
  Bind1: () => bindStateT(Monad0)
43809
44102
  })(graphGraphImpl);
43810
44103
  const eval_progCxt2 = eval_progCxt(monadWithGraphAllocWithGr(dictMonadError));
43811
- return (dictFV) => (e) => (progCxt) => Bind1.bind(Applicative0.pure())(() => Bind1.bind(runAllocT(Monad0)($1.bind(alloc(progCxt))((progCxt$p) => $1.bind(runWithGraphT_spy2(eval_progCxt2(progCxt$p))(foldableProgCxt.foldl((m) => (a) => insert3(ordVertex)(a)()(m))(Leaf2)(progCxt$p)))((v) => applicativeStateT(Monad0).pure($Tuple(
44104
+ return (dictFV) => (e) => (progCxt) => Bind1.bind(Applicative0.pure())(() => Bind1.bind(runAllocT(Monad0)($1.bind(alloc(progCxt))((progCxt$p) => $1.bind(runWithGraphT_spy2(eval_progCxt2(progCxt$p))(verticesProgCxtVertex.vertices(progCxt$p)))((v) => applicativeStateT(Monad0).pure($Tuple(
43812
44105
  progCxt$p,
43813
44106
  (() => {
43814
44107
  const $2 = dictFV.fv(e);
@@ -43961,13 +44254,14 @@ var getTransient = (v) => {
43961
44254
  }
43962
44255
  fail();
43963
44256
  };
43964
- var fromFoldable28 = /* @__PURE__ */ foldlArray((m) => (a) => insert3(ordString)(a)()(m))(Leaf2);
44257
+ var fromFoldable27 = /* @__PURE__ */ foldlArray((m) => (a) => insert3(ordString)(a)()(m))(Leaf2);
43965
44258
  var graphGC2 = /* @__PURE__ */ graphGC(graphGraphImpl);
43966
44259
  var graphGC1 = /* @__PURE__ */ graphGC2(applyEnvExpr)(applyVal)(foldableEnvExpr)(foldableVal);
43967
44260
  var graphGC22 = /* @__PURE__ */ graphGC2(applyVal)(applyEnvExpr)(foldableVal)(foldableEnvExpr);
43968
44261
  var dual = (v) => ({
43969
44262
  fwd: (x2) => _fmapObject(v.bwd(functorEnvExpr.map(boolNot)(x2)), functorVal.map(boolNot)),
43970
- bwd: (x2) => functorEnvExpr.map(boolNot)(v.fwd(_fmapObject(x2, functorVal.map(boolNot))))
44263
+ bwd: (x2) => functorEnvExpr.map(boolNot)(v.fwd(_fmapObject(x2, functorVal.map(boolNot)))),
44264
+ connection: void 0
43971
44265
  });
43972
44266
  var neg12 = { neg: (x2) => functorSelState.map(boolNot)(x2) };
43973
44267
  var joinSemilatticeSelState = {
@@ -44001,7 +44295,8 @@ var meet2 = /* @__PURE__ */ (() => {
44001
44295
  $Val(functorSelState.map(boolNot)($1), functorBaseVal.map(neg12.neg)($2)),
44002
44296
  $Val(functorSelState.map(boolNot)($1), functorBaseVal.map(neg12.neg)($2))
44003
44297
  );
44004
- }
44298
+ },
44299
+ connection: void 0
44005
44300
  };
44006
44301
  })();
44007
44302
  var meet1 = {
@@ -44015,7 +44310,8 @@ var meet1 = {
44015
44310
  bwd: (x2) => {
44016
44311
  const $0 = _fmapObject(x2, functorVal.map(neg12.neg));
44017
44312
  return $Tuple(_fmapObject($0, functorVal.map(neg12.neg)), _fmapObject($0, functorVal.map(neg12.neg)));
44018
- }
44313
+ },
44314
+ connection: void 0
44019
44315
  };
44020
44316
  var sequence_3 = /* @__PURE__ */ traverse_(applicativeEffect)(foldableDict)(identity4);
44021
44317
  var unprojExpr = (dictBoundedMeetSemilattice) => (v) => {
@@ -44028,7 +44324,8 @@ var unprojExpr = (dictBoundedMeetSemilattice) => (v) => {
44028
44324
  return (v$1) => $1;
44029
44325
  })())($0)
44030
44326
  ),
44031
- bwd: (v1) => v1._1
44327
+ bwd: (v1) => v1._1,
44328
+ connection: void 0
44032
44329
  };
44033
44330
  };
44034
44331
  var setOutputView = (\u03B4vw) => (fig) => ({
@@ -44126,7 +44423,8 @@ var lift = (dictApply) => {
44126
44423
  const $1 = dictApply1.Functor0();
44127
44424
  return (selState_f) => (selState_g) => (v) => ({
44128
44425
  bwd: (v1) => dictApply.apply(dictApply.apply(selState_f)(v.bwd($1.map(getPersistent)(v1))))(v.bwd($1.map(getTransient)(v1))),
44129
- fwd: (\u03B3) => dictApply1.apply(dictApply1.apply(selState_g)(v.fwd($0.map(getPersistent)(\u03B3))))(v.fwd($0.map(getTransient)(\u03B3)))
44426
+ fwd: (\u03B3) => dictApply1.apply(dictApply1.apply(selState_g)(v.fwd($0.map(getPersistent)(\u03B3))))(v.fwd($0.map(getTransient)(\u03B3))),
44427
+ connection: void 0
44130
44428
  });
44131
44429
  };
44132
44430
  };
@@ -44150,11 +44448,11 @@ var loadFig = (v) => (dictMonadAff) => {
44150
44448
  })(v2["in\u03B1"]);
44151
44449
  const \u03B30 = _fmapObject(v2["in\u03B1"]._1, functorVal.map((v$1) => false));
44152
44450
  const v0 = $Val(false, functorBaseVal.map((v$1) => false)(v2["out\u03B1"]._2));
44153
- const $5 = unrestrictGC(boundedMeetSemilatticeBoo)(v3._1)(fromFoldable28($3));
44451
+ const $5 = unrestrictGC(boundedMeetSemilatticeBoo)(v3._1)(fromFoldable27($3));
44154
44452
  const $6 = unprojExpr(boundedMeetSemilatticeBoo)($EnvExpr(v3._1, v3._2));
44155
- const focus = { fwd: (x2) => $6.fwd($5.fwd(x2)), bwd: (x2) => $5.bwd($6.bwd(x2)) };
44453
+ const focus = { fwd: (x2) => $6.fwd($5.fwd(x2)), bwd: (x2) => $5.bwd($6.bwd(x2)), connection: void 0 };
44156
44454
  const $7 = graphGC1(v2);
44157
- const gc = { fwd: (x2) => $7.fwd(focus.fwd(x2)), bwd: (x2) => focus.bwd($7.bwd(x2)) };
44455
+ const gc = { fwd: (x2) => $7.fwd(focus.fwd(x2)), bwd: (x2) => focus.bwd($7.bwd(x2)), connection: void 0 };
44158
44456
  const $8 = gc.fwd(\u03B30);
44159
44457
  const vInert = $Val(selState($8._1), functorBaseVal.map(selState)($8._2));
44160
44458
  const \u03B3Inert = _fmapObject(
@@ -44169,7 +44467,7 @@ var loadFig = (v) => (dictMonadAff) => {
44169
44467
  "out\u03B1": v2["in\u03B1"]
44170
44468
  });
44171
44469
  const $10 = dual(focus);
44172
- const gc_dual = { fwd: (x2) => $10.fwd($9.fwd(x2)), bwd: (x2) => $9.bwd($10.bwd(x2)) };
44470
+ const gc_dual = { fwd: (x2) => $10.fwd($9.fwd(x2)), bwd: (x2) => $9.bwd($10.bwd(x2)), connection: void 0 };
44173
44471
  return Monad0.Applicative0().pure({
44174
44472
  spec: v,
44175
44473
  s: $4,
@@ -44186,7 +44484,8 @@ var loadFig = (v) => (dictMonadAff) => {
44186
44484
  bwd: (x2) => {
44187
44485
  const $13 = meet1.bwd($12.bwd(x2));
44188
44486
  return $Tuple($11.bwd($13._1), categoryGaloisConnection.identity.bwd($13._2));
44189
- }
44487
+ },
44488
+ connection: void 0
44190
44489
  };
44191
44490
  })(),
44192
44491
  linkedInputs: (() => {
@@ -44197,7 +44496,8 @@ var loadFig = (v) => (dictMonadAff) => {
44197
44496
  bwd: (x2) => {
44198
44497
  const $13 = meet2.bwd($12.bwd(x2));
44199
44498
  return $Tuple($11.bwd($13._1), categoryGaloisConnection.identity.bwd($13._2));
44200
- }
44499
+ },
44500
+ connection: void 0
44201
44501
  };
44202
44502
  })(),
44203
44503
  dir: LinkedOutputs,
@@ -44462,7 +44762,7 @@ var decodeJson = /* @__PURE__ */ (() => decodeRecord(gDecodeJsonCons((() => {
44462
44762
  })(gDecodeJsonCons2(gDecodeJsonCons2(gDecodeJsonCons2(gDecodeJsonNil)({ reflectSymbol: () => "inputs" })()())({ reflectSymbol: () => "imports" })()())({
44463
44763
  reflectSymbol: () => "fluidSrcPath"
44464
44764
  })()())({ reflectSymbol: () => "file" })()())({ reflectSymbol: () => "datasets" })()())().decodeJson)();
44465
- var figSpecFromJson = (spec) => ({ fluidSrcPaths: arrayMap(Folder)(spec.fluidSrcPath), datasets: spec.datasets, imports: spec.imports, file: spec.file, inputs: spec.inputs });
44765
+ var figSpecFromJson = (spec) => ({ fluidSrcPaths: arrayMap(Folder)(spec.fluidSrcPath), datasets: spec.datasets, imports: spec.imports, file: spec.file, inputs: spec.inputs, queries: [] });
44466
44766
  var loadFigure = (fileName) => runAffs_((v) => drawFig(v._1)(v._2))([
44467
44767
  _bind($$get(driver)($ResponseFormat("Json", identity))(fileName))((result) => {
44468
44768
  if (result.tag === "Left") {