@explorable-viz/fluid 0.9.9 → 0.9.10

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.
Files changed (164) hide show
  1. package/dist/fluid/shared/fluid.mjs +582 -398
  2. package/dist/fluid/shared/load-figure.js +1416 -2699
  3. package/dist/fluid/shared/webtest-lib.js +23085 -45082
  4. package/package.json +1 -1
  5. package/website/article/fluid/convolution.fld +1 -1
  6. package/.spago/aff/v7.0.0/.editorconfig +0 -13
  7. package/.spago/aff/v7.0.0/.eslintrc.json +0 -28
  8. package/.spago/aff/v7.0.0/.gitignore +0 -14
  9. package/.spago/aff/v7.0.0/.tidyrc.json +0 -10
  10. package/.spago/affjax/v13.0.0/.editorconfig +0 -13
  11. package/.spago/affjax/v13.0.0/.eslintrc.json +0 -28
  12. package/.spago/affjax/v13.0.0/.gitignore +0 -14
  13. package/.spago/affjax/v13.0.0/.tidyrc.json +0 -10
  14. package/.spago/affjax-web/v1.0.0/.editorconfig +0 -13
  15. package/.spago/affjax-web/v1.0.0/.eslintrc.json +0 -30
  16. package/.spago/affjax-web/v1.0.0/.gitignore +0 -14
  17. package/.spago/affjax-web/v1.0.0/.tidyrc.json +0 -10
  18. package/.spago/argonaut-codecs/v9.0.0/.editorconfig +0 -13
  19. package/.spago/argonaut-codecs/v9.0.0/.gitignore +0 -9
  20. package/.spago/argonaut-codecs/v9.0.0/.tidyrc.json +0 -10
  21. package/.spago/argonaut-core/v7.0.0/.editorconfig +0 -13
  22. package/.spago/argonaut-core/v7.0.0/.eslintrc.json +0 -29
  23. package/.spago/argonaut-core/v7.0.0/.gitignore +0 -14
  24. package/.spago/argonaut-core/v7.0.0/.tidyrc.json +0 -10
  25. package/.spago/arraybuffer-types/v3.0.2/.editorconfig +0 -13
  26. package/.spago/arraybuffer-types/v3.0.2/.gitignore +0 -9
  27. package/.spago/arraybuffer-types/v3.0.2/.tidyrc.json +0 -10
  28. package/.spago/arrays/v7.0.0/.eslintrc.json +0 -26
  29. package/.spago/arrays/v7.0.0/.gitignore +0 -9
  30. package/.spago/assert/v6.0.0/.eslintrc.json +0 -26
  31. package/.spago/assert/v6.0.0/.gitignore +0 -8
  32. package/.spago/bifunctors/v6.0.0/.gitignore +0 -7
  33. package/.spago/catenable-lists/v7.0.0/.gitignore +0 -7
  34. package/.spago/console/v6.0.0/.eslintrc.json +0 -30
  35. package/.spago/console/v6.0.0/.gitignore +0 -9
  36. package/.spago/const/v6.0.0/.gitignore +0 -7
  37. package/.spago/contravariant/v6.0.0/.gitignore +0 -7
  38. package/.spago/control/v6.0.0/.gitignore +0 -7
  39. package/.spago/datetime/v6.1.0/.eslintrc.json +0 -26
  40. package/.spago/datetime/v6.1.0/.gitignore +0 -8
  41. package/.spago/debug/v6.0.0/.eslintrc.json +0 -36
  42. package/.spago/debug/v6.0.0/.gitignore +0 -8
  43. package/.spago/distributive/v6.0.0/.gitignore +0 -7
  44. package/.spago/effect/v4.0.0/.eslintrc.json +0 -26
  45. package/.spago/effect/v4.0.0/.gitignore +0 -8
  46. package/.spago/either/v6.1.0/.gitignore +0 -7
  47. package/.spago/enums/v6.0.0/.gitignore +0 -7
  48. package/.spago/exceptions/v6.0.0/.eslintrc.json +0 -26
  49. package/.spago/exceptions/v6.0.0/.gitignore +0 -8
  50. package/.spago/exists/v6.0.0/.gitignore +0 -7
  51. package/.spago/filterable/v5.0.0/.gitignore +0 -11
  52. package/.spago/foldable-traversable/v6.0.0/.eslintrc.json +0 -26
  53. package/.spago/foldable-traversable/v6.0.0/.gitignore +0 -8
  54. package/.spago/foreign/v7.0.0/.eslintrc.json +0 -26
  55. package/.spago/foreign/v7.0.0/.gitignore +0 -8
  56. package/.spago/foreign-object/v4.0.0/.eslintrc.json +0 -26
  57. package/.spago/foreign-object/v4.0.0/.gitignore +0 -8
  58. package/.spago/form-urlencoded/v7.0.0/.editorconfig +0 -13
  59. package/.spago/form-urlencoded/v7.0.0/.gitignore +0 -9
  60. package/.spago/form-urlencoded/v7.0.0/.tidyrc.json +0 -10
  61. package/.spago/free/v7.0.0/.gitignore +0 -8
  62. package/.spago/functions/v6.0.0/.eslintrc.json +0 -26
  63. package/.spago/functions/v6.0.0/.gitignore +0 -8
  64. package/.spago/functors/v5.0.0/.gitignore +0 -7
  65. package/.spago/gen/v4.0.0/.gitignore +0 -8
  66. package/.spago/graphs/v8.0.0/.gitignore +0 -7
  67. package/.spago/http-methods/v6.0.0/.editorconfig +0 -13
  68. package/.spago/http-methods/v6.0.0/.gitignore +0 -9
  69. package/.spago/http-methods/v6.0.0/.tidyrc.json +0 -10
  70. package/.spago/identity/v6.0.0/.gitignore +0 -7
  71. package/.spago/integers/v6.0.0/.eslintrc.json +0 -26
  72. package/.spago/integers/v6.0.0/.gitignore +0 -8
  73. package/.spago/invariant/v6.0.0/.gitignore +0 -7
  74. package/.spago/js-date/v8.0.0/.editorconfig +0 -13
  75. package/.spago/js-date/v8.0.0/.eslintrc.json +0 -29
  76. package/.spago/js-date/v8.0.0/.gitignore +0 -14
  77. package/.spago/js-date/v8.0.0/.tidyrc.json +0 -10
  78. package/.spago/js-uri/v3.0.0/.eslintrc.json +0 -30
  79. package/.spago/js-uri/v3.0.0/.gitignore +0 -14
  80. package/.spago/js-uri/v3.0.0/.tidyrc.json +0 -10
  81. package/.spago/lazy/v6.0.0/.eslintrc.json +0 -26
  82. package/.spago/lazy/v6.0.0/.gitignore +0 -8
  83. package/.spago/lcg/v4.0.0/.gitignore +0 -8
  84. package/.spago/lists/v7.0.0/.gitignore +0 -7
  85. package/.spago/maybe/v6.0.0/.gitignore +0 -7
  86. package/.spago/media-types/v6.0.0/.editorconfig +0 -13
  87. package/.spago/media-types/v6.0.0/.gitignore +0 -9
  88. package/.spago/media-types/v6.0.0/.tidyrc.json +0 -10
  89. package/.spago/newtype/v5.0.0/.gitignore +0 -7
  90. package/.spago/node-buffer/v8.0.0/.eslintrc.json +0 -26
  91. package/.spago/node-buffer/v8.0.0/.gitignore +0 -8
  92. package/.spago/node-child-process/v9.0.0/.eslintrc.json +0 -29
  93. package/.spago/node-child-process/v9.0.0/.gitignore +0 -8
  94. package/.spago/node-fs/v9.1.0/.eslintrc.json +0 -29
  95. package/.spago/node-fs/v9.1.0/.gitignore +0 -9
  96. package/.spago/node-path/v5.0.0/.eslintrc.json +0 -26
  97. package/.spago/node-path/v5.0.0/.gitignore +0 -8
  98. package/.spago/node-process/v10.0.0/.eslintrc.json +0 -29
  99. package/.spago/node-process/v10.0.0/.gitignore +0 -8
  100. package/.spago/node-streams/v7.0.0/.eslintrc.json +0 -29
  101. package/.spago/node-streams/v7.0.0/.gitignore +0 -8
  102. package/.spago/nonempty/v7.0.0/.gitignore +0 -7
  103. package/.spago/now/v6.0.0/.editorconfig +0 -13
  104. package/.spago/now/v6.0.0/.eslintrc.json +0 -29
  105. package/.spago/now/v6.0.0/.gitignore +0 -14
  106. package/.spago/now/v6.0.0/.tidyrc.json +0 -10
  107. package/.spago/nullable/v6.0.0/.editorconfig +0 -13
  108. package/.spago/nullable/v6.0.0/.eslintrc.json +0 -29
  109. package/.spago/nullable/v6.0.0/.gitignore +0 -14
  110. package/.spago/nullable/v6.0.0/.tidyrc.json +0 -10
  111. package/.spago/optparse/v5.0.0/.gitignore +0 -8
  112. package/.spago/optparse/v5.0.0/.npmrc +0 -1
  113. package/.spago/ordered-collections/v3.0.0/.gitignore +0 -8
  114. package/.spago/orders/v6.0.0/.gitignore +0 -7
  115. package/.spago/parallel/v6.0.0/.gitignore +0 -7
  116. package/.spago/parsing/v10.0.0/.editorconfig +0 -13
  117. package/.spago/parsing/v10.0.0/.gitignore +0 -10
  118. package/.spago/parsing/v10.0.0/.tidyoperators +0 -231
  119. package/.spago/parsing/v10.0.0/.tidyrc.json +0 -10
  120. package/.spago/partial/v4.0.0/.eslintrc.json +0 -26
  121. package/.spago/partial/v4.0.0/.gitignore +0 -8
  122. package/.spago/posix-types/v6.0.0/.gitignore +0 -7
  123. package/.spago/prelude/v6.0.0/.eslintrc.json +0 -26
  124. package/.spago/prelude/v6.0.0/.gitignore +0 -8
  125. package/.spago/profunctor/v6.0.0/.gitignore +0 -7
  126. package/.spago/psci-support/v6.0.0/.eslintrc.json +0 -28
  127. package/.spago/psci-support/v6.0.0/.gitignore +0 -8
  128. package/.spago/quickcheck/v8.0.1/.eslintrc.json +0 -26
  129. package/.spago/quickcheck/v8.0.1/.gitignore +0 -8
  130. package/.spago/random/v6.0.0/.eslintrc.json +0 -26
  131. package/.spago/random/v6.0.0/.gitignore +0 -8
  132. package/.spago/record/v4.0.0/.eslintrc.json +0 -26
  133. package/.spago/record/v4.0.0/.gitignore +0 -8
  134. package/.spago/refs/v6.0.0/.eslintrc.json +0 -26
  135. package/.spago/refs/v6.0.0/.gitignore +0 -8
  136. package/.spago/st/v6.0.0/.eslintrc.json +0 -26
  137. package/.spago/st/v6.0.0/.gitignore +0 -8
  138. package/.spago/strings/v6.0.0/.eslintrc.json +0 -26
  139. package/.spago/strings/v6.0.0/.gitignore +0 -8
  140. package/.spago/tailrec/v6.0.0/.gitignore +0 -7
  141. package/.spago/transformers/v6.0.0/.gitignore +0 -7
  142. package/.spago/tuples/v7.0.0/.gitignore +0 -7
  143. package/.spago/type-equality/v4.0.1/.gitignore +0 -7
  144. package/.spago/typelevel-prelude/v7.0.0/.gitignore +0 -8
  145. package/.spago/unfoldable/v6.0.0/.eslintrc.json +0 -26
  146. package/.spago/unfoldable/v6.0.0/.gitignore +0 -8
  147. package/.spago/unicode/v6.0.0/.editorconfig +0 -13
  148. package/.spago/unicode/v6.0.0/.gitattributes +0 -2
  149. package/.spago/unicode/v6.0.0/.gitignore +0 -19
  150. package/.spago/unicode/v6.0.0/.tidyrc.json +0 -10
  151. package/.spago/unsafe-coerce/v6.0.0/.eslintrc.json +0 -26
  152. package/.spago/unsafe-coerce/v6.0.0/.gitignore +0 -8
  153. package/.spago/web-dom/v6.0.0/.eslintrc.json +0 -29
  154. package/.spago/web-dom/v6.0.0/.gitignore +0 -9
  155. package/.spago/web-events/v4.0.0/.eslintrc.json +0 -29
  156. package/.spago/web-events/v4.0.0/.gitignore +0 -8
  157. package/.spago/web-file/v4.0.0/.eslintrc.json +0 -29
  158. package/.spago/web-file/v4.0.0/.gitignore +0 -8
  159. package/.spago/web-html/v4.0.0/.eslintrc.json +0 -29
  160. package/.spago/web-html/v4.0.0/.gitignore +0 -8
  161. package/.spago/web-storage/v5.0.0/.eslintrc.json +0 -29
  162. package/.spago/web-storage/v5.0.0/.gitignore +0 -8
  163. package/.spago/web-xhr/v5.0.0/.eslintrc.json +0 -29
  164. package/.spago/web-xhr/v5.0.0/.gitignore +0 -8
@@ -20,8 +20,10 @@ function fail() {
20
20
  throw new Error("Failed pattern match");
21
21
  }
22
22
  function intDiv(x, y) {
23
- if (y > 0) return Math.floor(x / y);
24
- if (y < 0) return -Math.floor(x / -y);
23
+ if (y > 0)
24
+ return Math.floor(x / y);
25
+ if (y < 0)
26
+ return -Math.floor(x / -y);
25
27
  return 0;
26
28
  }
27
29
 
@@ -30,7 +32,7 @@ var withReaderT = (f) => (v) => (x) => v(f(x));
30
32
  var bindReaderT = (dictBind) => {
31
33
  const $0 = dictBind.Apply0();
32
34
  const $1 = $0.Functor0();
33
- const applyReaderT1 = /* @__PURE__ */ (() => {
35
+ const applyReaderT1 = (() => {
34
36
  const functorReaderT1 = {
35
37
  map: (x) => {
36
38
  const $2 = $1.map(x);
@@ -189,7 +191,6 @@ var showStringImpl = function(s) {
189
191
  var l = s.length;
190
192
  return '"' + s.replace(
191
193
  /[\0-\x1F\x7F"\\]/g,
192
- // eslint-disable-line no-control-regex
193
194
  function(c, i) {
194
195
  switch (c) {
195
196
  case '"':
@@ -451,12 +452,63 @@ var monadRecST = {
451
452
  Monad0: () => monadST
452
453
  };
453
454
 
455
+ // output-es/Data.Array.ST/foreign.js
456
+ var sortByImpl = function() {
457
+ function mergeFromTo(compare, fromOrdering, xs1, xs2, from, to) {
458
+ var mid;
459
+ var i;
460
+ var j;
461
+ var k;
462
+ var x;
463
+ var y;
464
+ var c;
465
+ mid = from + (to - from >> 1);
466
+ if (mid - from > 1)
467
+ mergeFromTo(compare, fromOrdering, xs2, xs1, from, mid);
468
+ if (to - mid > 1)
469
+ mergeFromTo(compare, fromOrdering, xs2, xs1, mid, to);
470
+ i = from;
471
+ j = mid;
472
+ k = from;
473
+ while (i < mid && j < to) {
474
+ x = xs2[i];
475
+ y = xs2[j];
476
+ c = fromOrdering(compare(x)(y));
477
+ if (c > 0) {
478
+ xs1[k++] = y;
479
+ ++j;
480
+ } else {
481
+ xs1[k++] = x;
482
+ ++i;
483
+ }
484
+ }
485
+ while (i < mid) {
486
+ xs1[k++] = xs2[i++];
487
+ }
488
+ while (j < to) {
489
+ xs1[k++] = xs2[j++];
490
+ }
491
+ }
492
+ return function(compare) {
493
+ return function(fromOrdering) {
494
+ return function(xs) {
495
+ return function() {
496
+ if (xs.length < 2)
497
+ return xs;
498
+ mergeFromTo(compare, fromOrdering, xs, xs.slice(0), 0, xs.length);
499
+ return xs;
500
+ };
501
+ };
502
+ };
503
+ };
504
+ }();
505
+
454
506
  // output-es/Data.Array.ST.Iterator/index.js
455
507
  var $Iterator = (_1, _2) => ({ tag: "Iterator", _1, _2 });
456
508
  var pushWhile = (p) => (iter) => (array) => () => {
457
509
  let $$break = false;
458
510
  const $0 = iter._2;
459
- while (/* @__PURE__ */ (() => {
511
+ while ((() => {
460
512
  const $1 = $$break;
461
513
  return !$1;
462
514
  })()) {
@@ -475,7 +527,7 @@ var pushWhile = (p) => (iter) => (array) => () => {
475
527
  var iterate = (iter) => (f) => () => {
476
528
  let $$break = false;
477
529
  const $0 = iter._2;
478
- while (/* @__PURE__ */ (() => {
530
+ while ((() => {
479
531
  const $1 = $$break;
480
532
  return !$1;
481
533
  })()) {
@@ -612,9 +664,11 @@ var eqStringImpl = refEq;
612
664
  var eqArrayImpl = function(f) {
613
665
  return function(xs) {
614
666
  return function(ys) {
615
- if (xs.length !== ys.length) return false;
667
+ if (xs.length !== ys.length)
668
+ return false;
616
669
  for (var i = 0; i < xs.length; i++) {
617
- if (!f(xs[i])(ys[i])) return false;
670
+ if (!f(xs[i])(ys[i]))
671
+ return false;
618
672
  }
619
673
  return true;
620
674
  };
@@ -682,7 +736,7 @@ var ordTuple = (dictOrd) => {
682
736
  };
683
737
 
684
738
  // output-es/Data.Traversable/foreign.js
685
- var traverseArrayImpl = /* @__PURE__ */ (function() {
739
+ var traverseArrayImpl = function() {
686
740
  function array1(a) {
687
741
  return [a];
688
742
  }
@@ -729,7 +783,7 @@ var traverseArrayImpl = /* @__PURE__ */ (function() {
729
783
  };
730
784
  };
731
785
  };
732
- })();
786
+ }();
733
787
 
734
788
  // output-es/Data.Traversable/index.js
735
789
  var identity4 = (x) => x;
@@ -805,7 +859,7 @@ var replicatePolyfill = function(count) {
805
859
  };
806
860
  };
807
861
  var replicate = typeof Array.prototype.fill === "function" ? replicateFill : replicatePolyfill;
808
- var fromFoldableImpl = /* @__PURE__ */ (function() {
862
+ var fromFoldableImpl = function() {
809
863
  function Cons2(head, tail4) {
810
864
  this.head = head;
811
865
  this.tail = tail4;
@@ -831,7 +885,7 @@ var fromFoldableImpl = /* @__PURE__ */ (function() {
831
885
  return listToArray(foldr2(curryCons)(emptyList)(xs));
832
886
  };
833
887
  };
834
- })();
888
+ }();
835
889
  var unconsImpl = function(empty3) {
836
890
  return function(next) {
837
891
  return function(xs) {
@@ -853,7 +907,8 @@ var findIndexImpl = function(just) {
853
907
  return function(f) {
854
908
  return function(xs) {
855
909
  for (var i = 0, l = xs.length; i < l; i++) {
856
- if (f(xs[i])) return just(i);
910
+ if (f(xs[i]))
911
+ return just(i);
857
912
  }
858
913
  return nothing;
859
914
  };
@@ -865,7 +920,8 @@ var _updateAt = function(just) {
865
920
  return function(i) {
866
921
  return function(a) {
867
922
  return function(l) {
868
- if (i < 0 || i >= l.length) return nothing;
923
+ if (i < 0 || i >= l.length)
924
+ return nothing;
869
925
  var l1 = l.slice();
870
926
  l1[i] = a;
871
927
  return just(l1);
@@ -895,7 +951,7 @@ var filter = function(f) {
895
951
  return xs.filter(f);
896
952
  };
897
953
  };
898
- var sortByImpl2 = /* @__PURE__ */ (function() {
954
+ var sortByImpl2 = function() {
899
955
  function mergeFromTo(compare, fromOrdering, xs1, xs2, from, to) {
900
956
  var mid;
901
957
  var i;
@@ -905,8 +961,10 @@ var sortByImpl2 = /* @__PURE__ */ (function() {
905
961
  var y;
906
962
  var c;
907
963
  mid = from + (to - from >> 1);
908
- if (mid - from > 1) mergeFromTo(compare, fromOrdering, xs2, xs1, from, mid);
909
- if (to - mid > 1) mergeFromTo(compare, fromOrdering, xs2, xs1, mid, to);
964
+ if (mid - from > 1)
965
+ mergeFromTo(compare, fromOrdering, xs2, xs1, from, mid);
966
+ if (to - mid > 1)
967
+ mergeFromTo(compare, fromOrdering, xs2, xs1, mid, to);
910
968
  i = from;
911
969
  j = mid;
912
970
  k = from;
@@ -933,14 +991,15 @@ var sortByImpl2 = /* @__PURE__ */ (function() {
933
991
  return function(fromOrdering) {
934
992
  return function(xs) {
935
993
  var out;
936
- if (xs.length < 2) return xs;
994
+ if (xs.length < 2)
995
+ return xs;
937
996
  out = xs.slice(0);
938
997
  mergeFromTo(compare, fromOrdering, out, xs.slice(0), 0, xs.length);
939
998
  return out;
940
999
  };
941
1000
  };
942
1001
  };
943
- })();
1002
+ }();
944
1003
  var slice = function(s) {
945
1004
  return function(e) {
946
1005
  return function(l) {
@@ -1066,7 +1125,8 @@ var mapMaybe = (f) => concatMap((x) => {
1066
1125
  // output-es/Data.String.Unsafe/foreign.js
1067
1126
  var charAt = function(i) {
1068
1127
  return function(s) {
1069
- if (i >= 0 && i < s.length) return s.charAt(i);
1128
+ if (i >= 0 && i < s.length)
1129
+ return s.charAt(i);
1070
1130
  throw new Error("Data.String.Unsafe.charAt: Invalid index.");
1071
1131
  };
1072
1132
  };
@@ -1194,7 +1254,7 @@ var _crashWith = function(msg) {
1194
1254
  };
1195
1255
 
1196
1256
  // output-es/Effect.Aff/foreign.js
1197
- var Aff = (function() {
1257
+ var Aff = function() {
1198
1258
  var EMPTY = {};
1199
1259
  var PURE = "Pure";
1200
1260
  var THROW = "Throw";
@@ -1256,7 +1316,7 @@ var Aff = (function() {
1256
1316
  return nonCanceler2;
1257
1317
  }
1258
1318
  }
1259
- var Scheduler = (function() {
1319
+ var Scheduler = function() {
1260
1320
  var limit = 1024;
1261
1321
  var size6 = 0;
1262
1322
  var ix = 0;
@@ -1292,7 +1352,7 @@ var Aff = (function() {
1292
1352
  }
1293
1353
  }
1294
1354
  };
1295
- })();
1355
+ }();
1296
1356
  function Supervisor(util2) {
1297
1357
  var fibers = {};
1298
1358
  var fiberId = 0;
@@ -1462,8 +1522,6 @@ var Aff = (function() {
1462
1522
  fail3 = util2.left(step._1);
1463
1523
  step = null;
1464
1524
  break;
1465
- // Enqueue the Catch so that we can call the error handler later on
1466
- // in case of an exception.
1467
1525
  case CATCH:
1468
1526
  if (bhead === null) {
1469
1527
  attempts = new Aff2(CONS, step, attempts, interrupt);
@@ -1475,8 +1533,6 @@ var Aff = (function() {
1475
1533
  status = CONTINUE;
1476
1534
  step = step._1;
1477
1535
  break;
1478
- // Enqueue the Bracket so that we can call the appropriate handlers
1479
- // after resource acquisition.
1480
1536
  case BRACKET:
1481
1537
  bracketCount++;
1482
1538
  if (bhead === null) {
@@ -1517,9 +1573,6 @@ var Aff = (function() {
1517
1573
  attempt = attempts._1;
1518
1574
  attempts = attempts._2;
1519
1575
  switch (attempt.tag) {
1520
- // We cannot recover from an unmasked interrupt. Otherwise we should
1521
- // continue stepping, or run the exception handler if an exception
1522
- // was raised.
1523
1576
  case CATCH:
1524
1577
  if (interrupt && interrupt !== tmp && bracketCount === 0) {
1525
1578
  status = RETURN;
@@ -1529,7 +1582,6 @@ var Aff = (function() {
1529
1582
  fail3 = null;
1530
1583
  }
1531
1584
  break;
1532
- // We cannot resume from an unmasked interrupt or exception.
1533
1585
  case RESUME:
1534
1586
  if (interrupt && interrupt !== tmp && bracketCount === 0 || fail3) {
1535
1587
  status = RETURN;
@@ -1540,10 +1592,6 @@ var Aff = (function() {
1540
1592
  step = util2.fromRight(step);
1541
1593
  }
1542
1594
  break;
1543
- // If we have a bracket, we should enqueue the handlers,
1544
- // and continue with the success branch only if the fiber has
1545
- // not been interrupted. If the bracket acquisition failed, we
1546
- // should not run either.
1547
1595
  case BRACKET:
1548
1596
  bracketCount--;
1549
1597
  if (fail3 === null) {
@@ -1555,8 +1603,6 @@ var Aff = (function() {
1555
1603
  }
1556
1604
  }
1557
1605
  break;
1558
- // Enqueue the appropriate handler. We increase the bracket count
1559
- // because it should not be cancelled.
1560
1606
  case RELEASE:
1561
1607
  attempts = new Aff2(CONS, new Aff2(FINALIZED, step, fail3), attempts, interrupt);
1562
1608
  status = CONTINUE;
@@ -1725,45 +1771,46 @@ var Aff = (function() {
1725
1771
  var count = 0;
1726
1772
  var kills2 = {};
1727
1773
  var tmp, kid;
1728
- loop: while (true) {
1729
- tmp = null;
1730
- switch (step.tag) {
1731
- case FORKED:
1732
- if (step._3 === EMPTY) {
1733
- tmp = fibers[step._1];
1734
- kills2[count++] = tmp.kill(error3, function(result) {
1735
- return function() {
1736
- count--;
1737
- if (count === 0) {
1738
- cb2(result)();
1739
- }
1740
- };
1741
- });
1742
- }
1743
- if (head === null) {
1744
- break loop;
1745
- }
1746
- step = head._2;
1747
- if (tail4 === null) {
1748
- head = null;
1749
- } else {
1750
- head = tail4._1;
1751
- tail4 = tail4._2;
1752
- }
1753
- break;
1754
- case MAP:
1755
- step = step._2;
1756
- break;
1757
- case APPLY:
1758
- case ALT:
1759
- if (head) {
1760
- tail4 = new Aff2(CONS, head, tail4);
1761
- }
1762
- head = step;
1763
- step = step._1;
1764
- break;
1774
+ loop:
1775
+ while (true) {
1776
+ tmp = null;
1777
+ switch (step.tag) {
1778
+ case FORKED:
1779
+ if (step._3 === EMPTY) {
1780
+ tmp = fibers[step._1];
1781
+ kills2[count++] = tmp.kill(error3, function(result) {
1782
+ return function() {
1783
+ count--;
1784
+ if (count === 0) {
1785
+ cb2(result)();
1786
+ }
1787
+ };
1788
+ });
1789
+ }
1790
+ if (head === null) {
1791
+ break loop;
1792
+ }
1793
+ step = head._2;
1794
+ if (tail4 === null) {
1795
+ head = null;
1796
+ } else {
1797
+ head = tail4._1;
1798
+ tail4 = tail4._2;
1799
+ }
1800
+ break;
1801
+ case MAP:
1802
+ step = step._2;
1803
+ break;
1804
+ case APPLY:
1805
+ case ALT:
1806
+ if (head) {
1807
+ tail4 = new Aff2(CONS, head, tail4);
1808
+ }
1809
+ head = step;
1810
+ step = step._1;
1811
+ break;
1812
+ }
1765
1813
  }
1766
- }
1767
1814
  if (count === 0) {
1768
1815
  cb2(util2.right(void 0))();
1769
1816
  } else {
@@ -1784,100 +1831,101 @@ var Aff = (function() {
1784
1831
  step = result;
1785
1832
  fail3 = null;
1786
1833
  }
1787
- loop: while (true) {
1788
- lhs = null;
1789
- rhs = null;
1790
- tmp = null;
1791
- kid = null;
1792
- if (interrupt !== null) {
1793
- return;
1794
- }
1795
- if (head === null) {
1796
- cb(fail3 || step)();
1797
- return;
1798
- }
1799
- if (head._3 !== EMPTY) {
1800
- return;
1801
- }
1802
- switch (head.tag) {
1803
- case MAP:
1804
- if (fail3 === null) {
1805
- head._3 = util2.right(head._1(util2.fromRight(step)));
1806
- step = head._3;
1807
- } else {
1808
- head._3 = fail3;
1809
- }
1810
- break;
1811
- case APPLY:
1812
- lhs = head._1._3;
1813
- rhs = head._2._3;
1814
- if (fail3) {
1815
- head._3 = fail3;
1816
- tmp = true;
1817
- kid = killId++;
1818
- kills[kid] = kill(early, fail3 === lhs ? head._2 : head._1, function() {
1819
- return function() {
1820
- delete kills[kid];
1821
- if (tmp) {
1822
- tmp = false;
1823
- } else if (tail4 === null) {
1824
- join(fail3, null, null);
1825
- } else {
1826
- join(fail3, tail4._1, tail4._2);
1827
- }
1828
- };
1829
- });
1830
- if (tmp) {
1831
- tmp = false;
1834
+ loop:
1835
+ while (true) {
1836
+ lhs = null;
1837
+ rhs = null;
1838
+ tmp = null;
1839
+ kid = null;
1840
+ if (interrupt !== null) {
1841
+ return;
1842
+ }
1843
+ if (head === null) {
1844
+ cb(fail3 || step)();
1845
+ return;
1846
+ }
1847
+ if (head._3 !== EMPTY) {
1848
+ return;
1849
+ }
1850
+ switch (head.tag) {
1851
+ case MAP:
1852
+ if (fail3 === null) {
1853
+ head._3 = util2.right(head._1(util2.fromRight(step)));
1854
+ step = head._3;
1855
+ } else {
1856
+ head._3 = fail3;
1857
+ }
1858
+ break;
1859
+ case APPLY:
1860
+ lhs = head._1._3;
1861
+ rhs = head._2._3;
1862
+ if (fail3) {
1863
+ head._3 = fail3;
1864
+ tmp = true;
1865
+ kid = killId++;
1866
+ kills[kid] = kill(early, fail3 === lhs ? head._2 : head._1, function() {
1867
+ return function() {
1868
+ delete kills[kid];
1869
+ if (tmp) {
1870
+ tmp = false;
1871
+ } else if (tail4 === null) {
1872
+ join(fail3, null, null);
1873
+ } else {
1874
+ join(fail3, tail4._1, tail4._2);
1875
+ }
1876
+ };
1877
+ });
1878
+ if (tmp) {
1879
+ tmp = false;
1880
+ return;
1881
+ }
1882
+ } else if (lhs === EMPTY || rhs === EMPTY) {
1832
1883
  return;
1884
+ } else {
1885
+ step = util2.right(util2.fromRight(lhs)(util2.fromRight(rhs)));
1886
+ head._3 = step;
1833
1887
  }
1834
- } else if (lhs === EMPTY || rhs === EMPTY) {
1835
- return;
1836
- } else {
1837
- step = util2.right(util2.fromRight(lhs)(util2.fromRight(rhs)));
1838
- head._3 = step;
1839
- }
1840
- break;
1841
- case ALT:
1842
- lhs = head._1._3;
1843
- rhs = head._2._3;
1844
- if (lhs === EMPTY && util2.isLeft(rhs) || rhs === EMPTY && util2.isLeft(lhs)) {
1845
- return;
1846
- }
1847
- if (lhs !== EMPTY && util2.isLeft(lhs) && rhs !== EMPTY && util2.isLeft(rhs)) {
1848
- fail3 = step === lhs ? rhs : lhs;
1849
- step = null;
1850
- head._3 = fail3;
1851
- } else {
1852
- head._3 = step;
1853
- tmp = true;
1854
- kid = killId++;
1855
- kills[kid] = kill(early, step === lhs ? head._2 : head._1, function() {
1856
- return function() {
1857
- delete kills[kid];
1858
- if (tmp) {
1859
- tmp = false;
1860
- } else if (tail4 === null) {
1861
- join(step, null, null);
1862
- } else {
1863
- join(step, tail4._1, tail4._2);
1864
- }
1865
- };
1866
- });
1867
- if (tmp) {
1868
- tmp = false;
1888
+ break;
1889
+ case ALT:
1890
+ lhs = head._1._3;
1891
+ rhs = head._2._3;
1892
+ if (lhs === EMPTY && util2.isLeft(rhs) || rhs === EMPTY && util2.isLeft(lhs)) {
1869
1893
  return;
1870
1894
  }
1871
- }
1872
- break;
1873
- }
1874
- if (tail4 === null) {
1875
- head = null;
1876
- } else {
1877
- head = tail4._1;
1878
- tail4 = tail4._2;
1895
+ if (lhs !== EMPTY && util2.isLeft(lhs) && rhs !== EMPTY && util2.isLeft(rhs)) {
1896
+ fail3 = step === lhs ? rhs : lhs;
1897
+ step = null;
1898
+ head._3 = fail3;
1899
+ } else {
1900
+ head._3 = step;
1901
+ tmp = true;
1902
+ kid = killId++;
1903
+ kills[kid] = kill(early, step === lhs ? head._2 : head._1, function() {
1904
+ return function() {
1905
+ delete kills[kid];
1906
+ if (tmp) {
1907
+ tmp = false;
1908
+ } else if (tail4 === null) {
1909
+ join(step, null, null);
1910
+ } else {
1911
+ join(step, tail4._1, tail4._2);
1912
+ }
1913
+ };
1914
+ });
1915
+ if (tmp) {
1916
+ tmp = false;
1917
+ return;
1918
+ }
1919
+ }
1920
+ break;
1921
+ }
1922
+ if (tail4 === null) {
1923
+ head = null;
1924
+ } else {
1925
+ head = tail4._1;
1926
+ tail4 = tail4._2;
1927
+ }
1879
1928
  }
1880
- }
1881
1929
  }
1882
1930
  function resolve(fiber) {
1883
1931
  return function(result) {
@@ -1894,70 +1942,71 @@ var Aff = (function() {
1894
1942
  var head = null;
1895
1943
  var tail4 = null;
1896
1944
  var tmp, fid;
1897
- loop: while (true) {
1898
- tmp = null;
1899
- fid = null;
1900
- switch (status) {
1901
- case CONTINUE:
1902
- switch (step.tag) {
1903
- case MAP:
1904
- if (head) {
1905
- tail4 = new Aff2(CONS, head, tail4);
1906
- }
1907
- head = new Aff2(MAP, step._1, EMPTY, EMPTY);
1908
- step = step._2;
1909
- break;
1910
- case APPLY:
1911
- if (head) {
1912
- tail4 = new Aff2(CONS, head, tail4);
1913
- }
1914
- head = new Aff2(APPLY, EMPTY, step._2, EMPTY);
1915
- step = step._1;
1916
- break;
1917
- case ALT:
1918
- if (head) {
1919
- tail4 = new Aff2(CONS, head, tail4);
1920
- }
1921
- head = new Aff2(ALT, EMPTY, step._2, EMPTY);
1922
- step = step._1;
1923
- break;
1924
- default:
1925
- fid = fiberId++;
1926
- status = RETURN;
1927
- tmp = step;
1928
- step = new Aff2(FORKED, fid, new Aff2(CONS, head, tail4), EMPTY);
1929
- tmp = Fiber(util2, supervisor, tmp);
1930
- tmp.onComplete({
1931
- rethrow: false,
1932
- handler: resolve(step)
1933
- })();
1934
- fibers[fid] = tmp;
1935
- if (supervisor) {
1936
- supervisor.register(tmp);
1937
- }
1938
- }
1939
- break;
1940
- case RETURN:
1941
- if (head === null) {
1942
- break loop;
1943
- }
1944
- if (head._1 === EMPTY) {
1945
- head._1 = step;
1946
- status = CONTINUE;
1947
- step = head._2;
1948
- head._2 = EMPTY;
1949
- } else {
1950
- head._2 = step;
1951
- step = head;
1952
- if (tail4 === null) {
1953
- head = null;
1945
+ loop:
1946
+ while (true) {
1947
+ tmp = null;
1948
+ fid = null;
1949
+ switch (status) {
1950
+ case CONTINUE:
1951
+ switch (step.tag) {
1952
+ case MAP:
1953
+ if (head) {
1954
+ tail4 = new Aff2(CONS, head, tail4);
1955
+ }
1956
+ head = new Aff2(MAP, step._1, EMPTY, EMPTY);
1957
+ step = step._2;
1958
+ break;
1959
+ case APPLY:
1960
+ if (head) {
1961
+ tail4 = new Aff2(CONS, head, tail4);
1962
+ }
1963
+ head = new Aff2(APPLY, EMPTY, step._2, EMPTY);
1964
+ step = step._1;
1965
+ break;
1966
+ case ALT:
1967
+ if (head) {
1968
+ tail4 = new Aff2(CONS, head, tail4);
1969
+ }
1970
+ head = new Aff2(ALT, EMPTY, step._2, EMPTY);
1971
+ step = step._1;
1972
+ break;
1973
+ default:
1974
+ fid = fiberId++;
1975
+ status = RETURN;
1976
+ tmp = step;
1977
+ step = new Aff2(FORKED, fid, new Aff2(CONS, head, tail4), EMPTY);
1978
+ tmp = Fiber(util2, supervisor, tmp);
1979
+ tmp.onComplete({
1980
+ rethrow: false,
1981
+ handler: resolve(step)
1982
+ })();
1983
+ fibers[fid] = tmp;
1984
+ if (supervisor) {
1985
+ supervisor.register(tmp);
1986
+ }
1987
+ }
1988
+ break;
1989
+ case RETURN:
1990
+ if (head === null) {
1991
+ break loop;
1992
+ }
1993
+ if (head._1 === EMPTY) {
1994
+ head._1 = step;
1995
+ status = CONTINUE;
1996
+ step = head._2;
1997
+ head._2 = EMPTY;
1954
1998
  } else {
1955
- head = tail4._1;
1956
- tail4 = tail4._2;
1999
+ head._2 = step;
2000
+ step = head;
2001
+ if (tail4 === null) {
2002
+ head = null;
2003
+ } else {
2004
+ head = tail4._1;
2005
+ tail4 = tail4._2;
2006
+ }
1957
2007
  }
1958
- }
2008
+ }
1959
2009
  }
1960
- }
1961
2010
  root = step;
1962
2011
  for (fid = 0; fid < fiberId; fid++) {
1963
2012
  fibers[fid].run();
@@ -2025,7 +2074,7 @@ var Aff = (function() {
2025
2074
  Aff2.Scheduler = Scheduler;
2026
2075
  Aff2.nonCanceler = nonCanceler2;
2027
2076
  return Aff2;
2028
- })();
2077
+ }();
2029
2078
  var _pure = Aff.Pure;
2030
2079
  var _throwError = Aff.Throw;
2031
2080
  function _catchError(aff) {
@@ -2056,6 +2105,34 @@ function _makeFiber(util2, aff) {
2056
2105
  return Aff.Fiber(util2, null, aff);
2057
2106
  };
2058
2107
  }
2108
+ var _delay = function() {
2109
+ function setDelay(n, k) {
2110
+ if (n === 0 && typeof setImmediate !== "undefined") {
2111
+ return setImmediate(k);
2112
+ } else {
2113
+ return setTimeout(k, n);
2114
+ }
2115
+ }
2116
+ function clearDelay(n, t) {
2117
+ if (n === 0 && typeof clearImmediate !== "undefined") {
2118
+ return clearImmediate(t);
2119
+ } else {
2120
+ return clearTimeout(t);
2121
+ }
2122
+ }
2123
+ return function(right, ms) {
2124
+ return Aff.Async(function(cb) {
2125
+ return function() {
2126
+ var timer = setDelay(ms, cb(right()));
2127
+ return function() {
2128
+ return Aff.Sync(function() {
2129
+ return right(clearDelay(ms, timer));
2130
+ });
2131
+ };
2132
+ };
2133
+ });
2134
+ };
2135
+ }();
2059
2136
  var _sequential = Aff.Seq;
2060
2137
 
2061
2138
  // output-es/Effect.Aff/index.js
@@ -2208,7 +2285,8 @@ var altExceptT = (dictSemigroup) => (dictMonad) => {
2208
2285
  var defer = function(thunk) {
2209
2286
  var v = null;
2210
2287
  return function() {
2211
- if (thunk === void 0) return v;
2288
+ if (thunk === void 0)
2289
+ return v;
2212
2290
  v = thunk();
2213
2291
  thunk = void 0;
2214
2292
  return v;
@@ -3244,7 +3322,8 @@ var unfoldr1ArrayImpl = function(isNothing2) {
3244
3322
  var tuple = f(value);
3245
3323
  result.push(fst2(tuple));
3246
3324
  var maybe = snd2(tuple);
3247
- if (isNothing2(maybe)) return result;
3325
+ if (isNothing2(maybe))
3326
+ return result;
3248
3327
  value = fromJust3(maybe);
3249
3328
  }
3250
3329
  };
@@ -3274,7 +3353,8 @@ var unfoldrArrayImpl = function(isNothing2) {
3274
3353
  var value = b;
3275
3354
  while (true) {
3276
3355
  var maybe = f(value);
3277
- if (isNothing2(maybe)) return result;
3356
+ if (isNothing2(maybe))
3357
+ return result;
3278
3358
  var tuple = fromJust3(maybe);
3279
3359
  result.push(fst2(tuple));
3280
3360
  value = snd2(tuple);
@@ -9658,7 +9738,8 @@ function _foldM(bind4) {
9658
9738
  function all2(f) {
9659
9739
  return function(m) {
9660
9740
  for (var k in m) {
9661
- if (hasOwnProperty.call(m, k) && !f(k)(m[k])) return false;
9741
+ if (hasOwnProperty.call(m, k) && !f(k)(m[k]))
9742
+ return false;
9662
9743
  }
9663
9744
  return true;
9664
9745
  };
@@ -9820,8 +9901,10 @@ var concatString = function(s1) {
9820
9901
  };
9821
9902
  var concatArray = function(xs) {
9822
9903
  return function(ys) {
9823
- if (xs.length === 0) return ys;
9824
- if (ys.length === 0) return xs;
9904
+ if (xs.length === 0)
9905
+ return ys;
9906
+ if (ys.length === 0)
9907
+ return xs;
9825
9908
  return xs.concat(ys);
9826
9909
  };
9827
9910
  };
@@ -9850,6 +9933,63 @@ var minimum = (dictOrd) => {
9850
9933
  return (dictFoldable1) => dictFoldable1.foldMap1(semigroupMin)(unsafeCoerce);
9851
9934
  };
9852
9935
 
9936
+ // output-es/Data.Array.NonEmpty.Internal/foreign.js
9937
+ var traverse1Impl = function() {
9938
+ function Cont(fn) {
9939
+ this.fn = fn;
9940
+ }
9941
+ var emptyList = {};
9942
+ var ConsCell = function(head, tail4) {
9943
+ this.head = head;
9944
+ this.tail = tail4;
9945
+ };
9946
+ function finalCell(head) {
9947
+ return new ConsCell(head, emptyList);
9948
+ }
9949
+ function consList(x) {
9950
+ return function(xs) {
9951
+ return new ConsCell(x, xs);
9952
+ };
9953
+ }
9954
+ function listToArray(list) {
9955
+ var arr = [];
9956
+ var xs = list;
9957
+ while (xs !== emptyList) {
9958
+ arr.push(xs.head);
9959
+ xs = xs.tail;
9960
+ }
9961
+ return arr;
9962
+ }
9963
+ return function(apply5) {
9964
+ return function(map2) {
9965
+ return function(f) {
9966
+ var buildFrom = function(x, ys) {
9967
+ return apply5(map2(consList)(f(x)))(ys);
9968
+ };
9969
+ var go = function(acc, currentLen, xs) {
9970
+ if (currentLen === 0) {
9971
+ return acc;
9972
+ } else {
9973
+ var last2 = xs[currentLen - 1];
9974
+ return new Cont(function() {
9975
+ var built = go(buildFrom(last2, acc), currentLen - 1, xs);
9976
+ return built;
9977
+ });
9978
+ }
9979
+ };
9980
+ return function(array) {
9981
+ var acc = map2(finalCell)(f(array[array.length - 1]));
9982
+ var result = go(acc, array.length - 1, array);
9983
+ while (result instanceof Cont) {
9984
+ result = result.fn();
9985
+ }
9986
+ return map2(listToArray)(result);
9987
+ };
9988
+ };
9989
+ };
9990
+ };
9991
+ }();
9992
+
9853
9993
  // output-es/Data.List.NonEmpty/index.js
9854
9994
  var wrappedOperation = (name2) => (f) => (v) => {
9855
9995
  const v1 = f($List("Cons", v._1, v._2));
@@ -9885,13 +10025,13 @@ var profunctorFn = { dimap: (a2b) => (c2d) => (b2c) => (x) => c2d(b2c(a2b(x))) }
9885
10025
 
9886
10026
  // output-es/Debug/foreign.js
9887
10027
  var req = typeof module === "undefined" ? void 0 : module.require;
9888
- var util = (function() {
10028
+ var util = function() {
9889
10029
  try {
9890
10030
  return req === void 0 ? void 0 : req("util");
9891
10031
  } catch (e) {
9892
10032
  return void 0;
9893
10033
  }
9894
- })();
10034
+ }();
9895
10035
  function _trace(x, k) {
9896
10036
  if (util !== void 0) {
9897
10037
  console.log(util.inspect(x, { depth: null, colors: true }));
@@ -9900,7 +10040,7 @@ function _trace(x, k) {
9900
10040
  }
9901
10041
  return k({});
9902
10042
  }
9903
- var now = (function() {
10043
+ var now = function() {
9904
10044
  var perf;
9905
10045
  if (typeof performance !== "undefined") {
9906
10046
  perf = performance;
@@ -9910,10 +10050,10 @@ var now = (function() {
9910
10050
  } catch (e) {
9911
10051
  }
9912
10052
  }
9913
- return (function() {
10053
+ return function() {
9914
10054
  return (perf || Date).now();
9915
- });
9916
- })();
10055
+ };
10056
+ }();
9917
10057
 
9918
10058
  // output-es/Util/index.js
9919
10059
  var intercalate2 = (sep) => (xs) => {
@@ -11577,7 +11717,7 @@ var assertPresent = (v) => (v1) => {
11577
11717
  }
11578
11718
  fail();
11579
11719
  })();
11580
- return assertWhen(false)($0 + " is an existing vertex")((v2) => present)(() => $Step("Loop", $1))();
11720
+ return assertWhen(true)($0 + " is an existing vertex")((v2) => present)(() => $Step("Loop", $1))();
11581
11721
  };
11582
11722
  }
11583
11723
  fail();
@@ -11806,7 +11946,7 @@ var runWithGraphT = (dictMonad) => {
11806
11946
  const freezeGraph2 = freezeGraph1(dictGraph);
11807
11947
  return (m) => (\u03B1s) => dictMonad.Bind1().bind(freezeGraph2(m)(\u03B1s))((v) => {
11808
11948
  const $0 = v._1;
11809
- return assertWhen(false)("edgeListGC")((v1) => dictGraph.Eq0().eq($0)(dictGraph.fromEdgeList(Leaf2)(toEdgeList(dictGraph)($0))))(dictMonad.Applicative0().pure($Tuple(
11949
+ return assertWhen(true)("edgeListGC")((v1) => dictGraph.Eq0().eq($0)(dictGraph.fromEdgeList(Leaf2)(toEdgeList(dictGraph)($0))))(dictMonad.Applicative0().pure($Tuple(
11810
11950
  $0,
11811
11951
  v._2
11812
11952
  )));
@@ -11883,7 +12023,7 @@ var fwdSlice = (dictGraph) => {
11883
12023
  return pure($Step("Loop", { pending: insert(ordVertex)(v1.es._1._1)(\u03B2s)(v1.pending), es: v1.es._2 }));
11884
12024
  }
11885
12025
  fail();
11886
- })({ pending: Leaf2, es: inEdges(dictGraph)($0)($1) }))(assertWhen(false)("inputs are sinks")((v$1) => difference2(ordVertex)($1)(dictGraph.sinks($0)).tag === "Leaf")(map(ordDVertex$p)((\u03B1) => $Tuple(
12026
+ })({ pending: Leaf2, es: inEdges(dictGraph)($0)($1) }))(assertWhen(true)("inputs are sinks")((v$1) => difference2(ordVertex)($1)(dictGraph.sinks($0)).tag === "Leaf")(map(ordDVertex$p)((\u03B1) => $Tuple(
11887
12027
  \u03B1,
11888
12028
  dictGraph.vertexData($0)(\u03B1)
11889
12029
  ))($1)))._1;
@@ -11927,7 +12067,7 @@ var bwdSlice = (dictGraph) => {
11927
12067
  fail();
11928
12068
  })({
11929
12069
  visited: Leaf2,
11930
- "\u03B1s": fromFoldable8(assertWhen(false)("inputs are sinks")((v$1) => difference2(ordVertex)($1)(addresses2($0)).tag === "Leaf")($1)),
12070
+ "\u03B1s": fromFoldable8(assertWhen(true)("inputs are sinks")((v$1) => difference2(ordVertex)($1)(addresses2($0)).tag === "Leaf")($1)),
11931
12071
  pending: Nil
11932
12072
  }))(Leaf2)._1;
11933
12073
  };
@@ -12000,13 +12140,15 @@ var numSub = function(n1) {
12000
12140
  // output-es/Data.EuclideanRing/foreign.js
12001
12141
  var intDiv2 = function(x) {
12002
12142
  return function(y) {
12003
- if (y === 0) return 0;
12143
+ if (y === 0)
12144
+ return 0;
12004
12145
  return y > 0 ? Math.floor(x / y) : -Math.floor(x / -y);
12005
12146
  };
12006
12147
  };
12007
12148
  var intMod = function(x) {
12008
12149
  return function(y) {
12009
- if (y === 0) return 0;
12150
+ if (y === 0)
12151
+ return 0;
12010
12152
  var yy = Math.abs(y);
12011
12153
  return (x % yy + yy) % yy;
12012
12154
  };
@@ -12034,13 +12176,16 @@ var _codePointAt = function(fallback) {
12034
12176
  return function(index3) {
12035
12177
  return function(str) {
12036
12178
  var length4 = str.length;
12037
- if (index3 < 0 || index3 >= length4) return Nothing2;
12179
+ if (index3 < 0 || index3 >= length4)
12180
+ return Nothing2;
12038
12181
  if (hasStringIterator) {
12039
12182
  var iter = str[Symbol.iterator]();
12040
12183
  for (var i = index3; ; --i) {
12041
12184
  var o = iter.next();
12042
- if (o.done) return Nothing2;
12043
- if (i === 0) return Just2(unsafeCodePointAt02(o.value));
12185
+ if (o.done)
12186
+ return Nothing2;
12187
+ if (i === 0)
12188
+ return Just2(unsafeCodePointAt02(o.value));
12044
12189
  }
12045
12190
  }
12046
12191
  return fallback(index3)(str);
@@ -12071,7 +12216,8 @@ var _take = function(fallback) {
12071
12216
  var iter = str[Symbol.iterator]();
12072
12217
  for (var i = 0; i < n; ++i) {
12073
12218
  var o = iter.next();
12074
- if (o.done) return accum;
12219
+ if (o.done)
12220
+ return accum;
12075
12221
  accum += o.value;
12076
12222
  }
12077
12223
  return accum;
@@ -15578,37 +15724,38 @@ var paragraphElemsFwd = (dictBoundedLattice) => {
15578
15724
  const bot = dictBoundedLattice.BoundedJoinSemilattice0().bot;
15579
15725
  return (dictMonadError) => {
15580
15726
  const Monad0 = dictMonadError.MonadThrow0().Monad0();
15581
- const $0 = Monad0.Bind1();
15582
- const $1 = Monad0.Applicative0();
15583
- return foldableList.foldr((v) => (v1) => {
15584
- if (v.tag === "Token") {
15585
- const $2 = v._1;
15586
- return $0.bind(v1)((acc) => $1.pure($Expr(
15587
- "Constr",
15588
- bot,
15589
- ":",
15590
- $List(
15591
- "Cons",
15592
- $Expr("Constr", bot, "Text", $List("Cons", $Expr("Str", bot, $2), Nil)),
15593
- $List("Cons", acc, Nil)
15594
- )
15595
- )));
15727
+ const $0 = Monad0.Applicative0();
15728
+ const $1 = Monad0.Bind1();
15729
+ return (v) => {
15730
+ if (v.tag === "Nil") {
15731
+ return $0.pure($Expr("Constr", bot, "Nil", Nil));
15596
15732
  }
15597
- if (v.tag === "Unquote") {
15598
- const $2 = v._1;
15599
- return $0.bind(v1)((acc) => $0.bind(exprFwd(dictBoundedLattice)(dictMonadError)(dictBoundedLattice.BoundedJoinSemilattice0().JoinSemilattice0())($2))((e$p) => $1.pure($Expr(
15600
- "Constr",
15601
- bot,
15602
- ":",
15603
- $List(
15604
- "Cons",
15605
- $Expr("Constr", bot, "Text", $List("Cons", e$p, Nil)),
15606
- $List("Cons", acc, Nil)
15607
- )
15608
- ))));
15733
+ if (v.tag === "Cons") {
15734
+ if (v._1.tag === "Token") {
15735
+ const $2 = v._1._1;
15736
+ return $1.bind(paragraphElemsFwd(dictBoundedLattice)(dictMonadError)(v._2))((e$p) => $0.pure($Expr(
15737
+ "Constr",
15738
+ bot,
15739
+ ":",
15740
+ $List(
15741
+ "Cons",
15742
+ $Expr("Constr", bot, "Text", $List("Cons", $Expr("Str", bot, $2), Nil)),
15743
+ $List("Cons", e$p, Nil)
15744
+ )
15745
+ )));
15746
+ }
15747
+ if (v._1.tag === "Unquote") {
15748
+ const $2 = v._2;
15749
+ return $1.bind(exprFwd(dictBoundedLattice)(dictMonadError)(dictBoundedLattice.BoundedJoinSemilattice0().JoinSemilattice0())(v._1._1))((e) => $1.bind(paragraphElemsFwd(dictBoundedLattice)(dictMonadError)($2))((e$p) => $0.pure($Expr(
15750
+ "Constr",
15751
+ bot,
15752
+ ":",
15753
+ $List("Cons", e, $List("Cons", e$p, Nil))
15754
+ ))));
15755
+ }
15609
15756
  }
15610
15757
  fail();
15611
- })($1.pure($Expr("Constr", bot, "Nil", Nil)));
15758
+ };
15612
15759
  };
15613
15760
  };
15614
15761
  var paragraphElemsBwd = (dictBoundedJoinSemilattice) => (v) => (v1) => {
@@ -15620,24 +15767,19 @@ var paragraphElemsBwd = (dictBoundedJoinSemilattice) => (v) => (v1) => {
15620
15767
  return throwException(error("absurd"))();
15621
15768
  }
15622
15769
  if (v._3.tag === "Cons" && v._3._2.tag === "Cons" && v._3._2._2.tag === "Nil" && v1.tag === "Cons" && v._2 === ":") {
15623
- return $List(
15624
- "Cons",
15625
- (() => {
15626
- if (v._3._1.tag === "Constr" && v._3._1._3.tag === "Cons" && v._3._1._3._2.tag === "Nil") {
15627
- if (v._3._1._3._1.tag === "Str" && v1._1.tag === "Token") {
15628
- if (v._3._1._2 === "Text") {
15629
- return $ParagraphElem("Token", v._3._1._3._1._2);
15630
- }
15631
- return throwException(error("absurd"))();
15632
- }
15633
- if (v1._1.tag === "Unquote" && v._3._1._2 === "Text") {
15634
- return $ParagraphElem("Unquote", exprBwd(dictBoundedJoinSemilattice)(v._3._1._3._1)(v1._1._1));
15635
- }
15636
- }
15637
- return throwException(error("absurd"))();
15638
- })(),
15639
- paragraphElemsBwd(dictBoundedJoinSemilattice)(v._3._2._1)(v1._2)
15640
- );
15770
+ if (v._3._1.tag === "Constr" && v._3._1._3.tag === "Cons" && v._3._1._3._1.tag === "Str" && v._3._1._3._2.tag === "Nil" && v1._1.tag === "Token") {
15771
+ if (v._3._1._2 === "Text") {
15772
+ return $List("Cons", $ParagraphElem("Token", v._3._1._3._1._2), paragraphElemsBwd(dictBoundedJoinSemilattice)(v._3._2._1)(v1._2));
15773
+ }
15774
+ return throwException(error("absurd"))();
15775
+ }
15776
+ if (v1._1.tag === "Unquote") {
15777
+ return $List(
15778
+ "Cons",
15779
+ $ParagraphElem("Unquote", exprBwd(dictBoundedJoinSemilattice)(v._3._1)(v1._1._1)),
15780
+ paragraphElemsBwd(dictBoundedJoinSemilattice)(v._3._2._1)(v1._2)
15781
+ );
15782
+ }
15641
15783
  }
15642
15784
  }
15643
15785
  return throwException(error("absurd"))();
@@ -18134,37 +18276,27 @@ var closeDefs = (dictMonadWithGraphAlloc) => {
18134
18276
  ));
18135
18277
  })(\u03C1));
18136
18278
  };
18137
- var $$eval = (dictMonadWithGraphAlloc) => {
18279
+ var evalVal = (dictMonadWithGraphAlloc) => {
18138
18280
  const MonadError1 = dictMonadWithGraphAlloc.MonadError1();
18139
- const withMsg2 = withMsg(MonadError1);
18140
- const MonadThrow0 = MonadError1.MonadThrow0();
18141
- const $$new = dictMonadWithGraphAlloc.new(typeNameVal);
18142
18281
  const checkArity2 = checkArity(MonadError1);
18143
- const match1 = match(dictMonadWithGraphAlloc);
18144
- const closeDefs1 = closeDefs(dictMonadWithGraphAlloc);
18282
+ const check2 = check(MonadError1.MonadThrow0());
18145
18283
  return (dictMonadReader) => (dictMonadAff) => {
18146
18284
  const Monad0 = dictMonadAff.MonadEffect0().Monad0();
18285
+ const Applicative0 = Monad0.Applicative0();
18147
18286
  const Bind1 = Monad0.Bind1();
18148
18287
  const $0 = Bind1.Apply0().Functor0();
18149
- const Applicative0 = Monad0.Applicative0();
18150
18288
  const traverse3 = traversableList.traverse(Applicative0);
18151
18289
  const traverse4 = traversablePair.traverse(Applicative0);
18152
18290
  const sequence1 = traversableArray.traverse(Applicative0)(identity4);
18153
18291
  return (dictLoadFile) => (v) => (v1) => (v2) => {
18154
- if (v1.tag === "Var") {
18155
- return withMsg2("Variable lookup")(lookup$p(MonadThrow0)(showString)(mapEnvStringVal)(v1._1)(v));
18156
- }
18157
- if (v1.tag === "Op") {
18158
- return withMsg2("Variable lookup")(lookup$p(MonadThrow0)(showString)(mapEnvStringVal)(v1._1)(v));
18159
- }
18160
18292
  if (v1.tag === "Int") {
18161
- return $$new((a) => Val(a)(Nothing))(insert(ordVertex)(v1._1)()(v2))($BaseVal("Int", v1._2));
18293
+ return Applicative0.pure($Maybe("Just", $Tuple(v1._1, $BaseVal("Int", v1._2))));
18162
18294
  }
18163
18295
  if (v1.tag === "Float") {
18164
- return $$new((a) => Val(a)(Nothing))(insert(ordVertex)(v1._1)()(v2))($BaseVal("Float", v1._2));
18296
+ return Applicative0.pure($Maybe("Just", $Tuple(v1._1, $BaseVal("Float", v1._2))));
18165
18297
  }
18166
18298
  if (v1.tag === "Str") {
18167
- return $$new((a) => Val(a)(Nothing))(insert(ordVertex)(v1._1)()(v2))($BaseVal("Str", v1._2));
18299
+ return Applicative0.pure($Maybe("Just", $Tuple(v1._1, $BaseVal("Str", v1._2))));
18168
18300
  }
18169
18301
  if (v1.tag === "Dictionary") {
18170
18302
  const $1 = v1._1;
@@ -18173,9 +18305,9 @@ var $$eval = (dictMonadWithGraphAlloc) => {
18173
18305
  return (a) => $2(a)(v2);
18174
18306
  })()))(v1._2)))((v3) => {
18175
18307
  const v4 = unzip(listMap((v$1) => $Tuple(v$1._3.tag === "Str" ? v$1._3._1 : typeError(v$1._3)("Str"), v$1._1))(v3._1));
18176
- return $$new((a) => Val(a)(Nothing))(insert(ordVertex)($1)()(v2))($BaseVal(
18177
- "Dictionary",
18178
- fromFoldable17(zipWith2(Tuple)(v4._1)(zipWith2(Tuple)(v4._2)(v3._2)))
18308
+ return Applicative0.pure($Maybe(
18309
+ "Just",
18310
+ $Tuple($1, $BaseVal("Dictionary", fromFoldable17(zipWith2(Tuple)(v4._1)(zipWith2(Tuple)(v4._2)(v3._2)))))
18179
18311
  ));
18180
18312
  });
18181
18313
  }
@@ -18206,7 +18338,7 @@ var $$eval = (dictMonadWithGraphAlloc) => {
18206
18338
  })()))(() => Bind1.bind(traverse3((() => {
18207
18339
  const $4 = $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v);
18208
18340
  return (a) => $4(a)(v2);
18209
- })())($2))((vs) => $$new((a) => Val(a)(Nothing))(insert(ordVertex)($3)()(v2))($BaseVal("Constr", $1, vs))));
18341
+ })())($2))((vs) => Applicative0.pure($Maybe("Just", $Tuple($3, $BaseVal("Constr", $1, vs))))));
18210
18342
  }
18211
18343
  if (v1.tag === "Matrix") {
18212
18344
  const $1 = v1._2;
@@ -18219,10 +18351,10 @@ var $$eval = (dictMonadWithGraphAlloc) => {
18219
18351
  const $6 = v5._2._1;
18220
18352
  const $7 = v5._1._2;
18221
18353
  const $8 = v5._2._2;
18222
- return Bind1.bind(check(MonadThrow0)(greaterThanOrEq($Tuple($5, $6))($Tuple(1, 1)))("array must be at least (" + show3($Tuple(
18223
- 1,
18224
- 1
18225
- )) + "); got (" + show3($Tuple($5, $6)) + ")"))(() => Bind1.bind(sequence1(arrayBind(range(1)($5))((i) => [
18354
+ return Bind1.bind(check2(greaterThanOrEq($Tuple($5, $6))($Tuple(1, 1)))("array must be at least (" + show3($Tuple(1, 1)) + "); got (" + show3($Tuple(
18355
+ $5,
18356
+ $6
18357
+ )) + ")"))(() => Bind1.bind(sequence1(arrayBind(range(1)($5))((i) => [
18226
18358
  sequence1(arrayBind(range(1)($6))((j) => [
18227
18359
  $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(unionWith2((v$1) => identity14)(v)(disjointUnion2((() => {
18228
18360
  const $9 = {};
@@ -18234,90 +18366,134 @@ var $$eval = (dictMonadWithGraphAlloc) => {
18234
18366
  return $9;
18235
18367
  })())))($1)(v2)
18236
18368
  ]))
18237
- ])))((vss) => $$new((a) => Val(a)(Nothing))(insert(ordVertex)($4)()(v2))($BaseVal(
18238
- "Matrix",
18239
- $Tuple(vss, $Tuple($Tuple($5, $7), $Tuple($6, $8)))
18369
+ ])))((vss) => Applicative0.pure($Maybe(
18370
+ "Just",
18371
+ $Tuple($4, $BaseVal("Matrix", $Tuple(vss, $Tuple($Tuple($5, $7), $Tuple($6, $8)))))
18240
18372
  ))));
18241
18373
  });
18242
18374
  }
18243
18375
  if (v1.tag === "Lambda") {
18244
- return $$new((a) => Val(a)(Nothing))(insert(ordVertex)(v1._1)()(v2))($BaseVal(
18245
- "Fun",
18246
- $Fun(
18247
- "Closure",
18248
- (() => {
18249
- const $1 = fVElim.fv(v1._2);
18250
- return filterWithKey2((x) => {
18251
- const $2 = setSet(ordString).member(x)($1);
18252
- return (v$1) => $2;
18253
- })(v);
18254
- })(),
18255
- empty,
18256
- v1._2
18376
+ return Applicative0.pure($Maybe(
18377
+ "Just",
18378
+ $Tuple(
18379
+ v1._1,
18380
+ $BaseVal(
18381
+ "Fun",
18382
+ $Fun(
18383
+ "Closure",
18384
+ (() => {
18385
+ const $1 = fVElim.fv(v1._2);
18386
+ return filterWithKey2((x) => {
18387
+ const $2 = setSet(ordString).member(x)($1);
18388
+ return (v$1) => $2;
18389
+ })(v);
18390
+ })(),
18391
+ empty,
18392
+ v1._2
18393
+ )
18394
+ )
18257
18395
  )
18258
18396
  ));
18259
18397
  }
18260
- if (v1.tag === "Project") {
18261
- const $1 = v1._2;
18262
- return Bind1.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v)(v1._1)(v2))((v3) => {
18263
- if (v3._3.tag === "Dictionary") {
18264
- return withMsg2("Dict lookup")(orElse(MonadThrow0)('Key "' + $1 + '" not found')((() => {
18265
- const $2 = _lookup(Nothing, Just, $1, v3._3._1);
18266
- if ($2.tag === "Just") {
18267
- return $Maybe("Just", $2._1._2);
18268
- }
18269
- return Nothing;
18270
- })()));
18271
- }
18272
- return MonadThrow0.throwError(error("Found " + intercalate4("\n")(removeDocWS(prettyVal(highlightableVertex).pretty(v3)).lines) + ", expected dictionary"));
18273
- });
18398
+ return Applicative0.pure(Nothing);
18399
+ };
18400
+ };
18401
+ };
18402
+ var $$eval = (dictMonadWithGraphAlloc) => {
18403
+ const $$new = dictMonadWithGraphAlloc.new(typeNameVal);
18404
+ const MonadError1 = dictMonadWithGraphAlloc.MonadError1();
18405
+ const withMsg2 = withMsg(MonadError1);
18406
+ const MonadThrow0 = MonadError1.MonadThrow0();
18407
+ const match1 = match(dictMonadWithGraphAlloc);
18408
+ const closeDefs1 = closeDefs(dictMonadWithGraphAlloc);
18409
+ return (dictMonadReader) => (dictMonadAff) => {
18410
+ const Monad0 = dictMonadAff.MonadEffect0().Monad0();
18411
+ const $0 = Monad0.Bind1();
18412
+ return (dictLoadFile) => (\u03B3) => (e0) => (\u03B1s) => $0.bind(evalVal(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(\u03B3)(e0)(\u03B1s))((\u03B1u_opt) => {
18413
+ if (\u03B1u_opt.tag === "Just") {
18414
+ return $$new((a) => Val(a)(Nothing))(insert(ordVertex)(\u03B1u_opt._1._1)()(\u03B1s))(\u03B1u_opt._1._2);
18274
18415
  }
18275
- if (v1.tag === "DProject") {
18276
- const $1 = v1._2;
18277
- return Bind1.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v)(v1._1)(v2))((v3) => Bind1.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v)($1)(v2))((v$p) => {
18278
- if (v3._3.tag === "Dictionary") {
18279
- if (v$p._3.tag === "Str") {
18280
- return withMsg2("Dict lookup")(orElse(MonadThrow0)('Key "' + v$p._3._1 + '" not found')((() => {
18281
- const $2 = _lookup(Nothing, Just, v$p._3._1, v3._3._1);
18416
+ if (\u03B1u_opt.tag === "Nothing") {
18417
+ if (e0.tag === "Var") {
18418
+ return withMsg2("Variable lookup")(lookup$p(MonadThrow0)(showString)(mapEnvStringVal)(e0._1)(\u03B3));
18419
+ }
18420
+ if (e0.tag === "Op") {
18421
+ return withMsg2("Variable lookup")(lookup$p(MonadThrow0)(showString)(mapEnvStringVal)(e0._1)(\u03B3));
18422
+ }
18423
+ if (e0.tag === "Project") {
18424
+ const $1 = e0._2;
18425
+ return $0.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(\u03B3)(e0._1)(\u03B1s))((v) => {
18426
+ if (v._3.tag === "Dictionary") {
18427
+ return withMsg2("Dict lookup")(orElse(MonadThrow0)('Key "' + $1 + '" not found')((() => {
18428
+ const $2 = _lookup(Nothing, Just, $1, v._3._1);
18282
18429
  if ($2.tag === "Just") {
18283
18430
  return $Maybe("Just", $2._1._2);
18284
18431
  }
18285
18432
  return Nothing;
18286
18433
  })()));
18287
18434
  }
18288
- return MonadThrow0.throwError(error("Found " + intercalate4("\n")(removeDocWS(prettyVal(highlightableVertex).pretty(v$p)).lines) + ", expected string"));
18289
- }
18290
- return MonadThrow0.throwError(error("Found " + intercalate4("\n")(removeDocWS(prettyVal(highlightableVertex).pretty(v3)).lines) + ", expected dict"));
18291
- }));
18292
- }
18293
- if (v1.tag === "App") {
18294
- const $1 = v1._2;
18295
- return Bind1.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v)(v1._1)(v2))((v3) => Bind1.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v)($1)(v2))((v$p) => apply2(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v3)(v$p)));
18296
- }
18297
- if (v1.tag === "Let") {
18298
- const $1 = v1._2;
18299
- const $2 = v1._1._1;
18300
- return Bind1.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v)(v1._1._2)(v2))((v3) => Bind1.bind(match1(v3)($2))((v4) => $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(unionWith2((v$1) => identity14)(v)(v4._1))($1)(v4._2._2)));
18301
- }
18302
- if (v1.tag === "LetRec") {
18303
- const $1 = v1._2;
18304
- const $2 = v1._1._1;
18305
- return Bind1.bind(closeDefs1(v)(v1._1._2)(insert(ordVertex)($2)()(v2)))((\u03B3$p) => $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(unionWith2((v$1) => identity14)(v)(\u03B3$p))($1)(insert(ordVertex)($2)()(v2)));
18306
- }
18307
- if (v1.tag === "DocExpr") {
18308
- const $1 = v1._1;
18309
- return Bind1.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v)(v1._2)(v2))((v3) => {
18310
- const $2 = v3._3;
18311
- const $3 = v3._1;
18312
- return Bind1.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(unionWith2((v$1) => identity14)(v)((() => {
18313
- const $4 = {};
18314
- $4.this = $Val($3, Nothing, $2);
18315
- return $4;
18316
- })()))($1)(v2))((v4) => Applicative0.pure($Val($3, $Maybe("Just", v4), $2)));
18317
- });
18435
+ return MonadThrow0.throwError(error("Found " + intercalate4("\n")(removeDocWS(prettyVal(highlightableVertex).pretty(v)).lines) + ", expected dictionary"));
18436
+ });
18437
+ }
18438
+ if (e0.tag === "DProject") {
18439
+ const $1 = e0._2;
18440
+ return $0.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(\u03B3)(e0._1)(\u03B1s))((v) => $0.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(\u03B3)($1)(\u03B1s))((v$p) => {
18441
+ if (v._3.tag === "Dictionary") {
18442
+ if (v$p._3.tag === "Str") {
18443
+ return withMsg2("Dict lookup")(orElse(MonadThrow0)('Key "' + v$p._3._1 + '" not found')((() => {
18444
+ const $2 = _lookup(Nothing, Just, v$p._3._1, v._3._1);
18445
+ if ($2.tag === "Just") {
18446
+ return $Maybe("Just", $2._1._2);
18447
+ }
18448
+ return Nothing;
18449
+ })()));
18450
+ }
18451
+ return MonadThrow0.throwError(error("Found " + intercalate4("\n")(removeDocWS(prettyVal(highlightableVertex).pretty(v$p)).lines) + ", expected string"));
18452
+ }
18453
+ return MonadThrow0.throwError(error("Found " + intercalate4("\n")(removeDocWS(prettyVal(highlightableVertex).pretty(v)).lines) + ", expected dict"));
18454
+ }));
18455
+ }
18456
+ if (e0.tag === "App") {
18457
+ const $1 = e0._2;
18458
+ return $0.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(\u03B3)(e0._1)(\u03B1s))((v) => $0.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(\u03B3)($1)(\u03B1s))((v$p) => apply2(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(v)(v$p)));
18459
+ }
18460
+ if (e0.tag === "Let") {
18461
+ const $1 = e0._2;
18462
+ const $2 = e0._1._1;
18463
+ return $0.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(\u03B3)(e0._1._2)(\u03B1s))((v) => $0.bind(match1(v)($2))((v1) => $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(unionWith2((v$1) => identity14)(\u03B3)(v1._1))($1)(v1._2._2)));
18464
+ }
18465
+ if (e0.tag === "LetRec") {
18466
+ const $1 = e0._2;
18467
+ const $2 = e0._1._1;
18468
+ return $0.bind(closeDefs1(\u03B3)(e0._1._2)(insert(ordVertex)($2)()(\u03B1s)))((\u03B3$p) => $$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(unionWith2((v) => identity14)(\u03B3)(\u03B3$p))($1)(insert(ordVertex)($2)()(\u03B1s)));
18469
+ }
18470
+ if (e0.tag === "DocExpr") {
18471
+ const $1 = e0._1;
18472
+ const $2 = e0._2;
18473
+ return $0.bind(evalVal(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(\u03B3)($2)(\u03B1s))((\u03B1u_opt$p) => {
18474
+ if (\u03B1u_opt$p.tag === "Just") {
18475
+ const $3 = \u03B1u_opt$p._1._2;
18476
+ const $4 = \u03B1u_opt$p._1._1;
18477
+ return $0.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(\u03B3)($1)(\u03B1s))((v) => $$new((a) => Val(a)($Maybe("Just", v)))(insert(ordVertex)($4)()(\u03B1s))($3));
18478
+ }
18479
+ if (\u03B1u_opt$p.tag === "Nothing") {
18480
+ return $0.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(\u03B3)($2)(\u03B1s))((v) => {
18481
+ const $3 = v._3;
18482
+ const $4 = v._1;
18483
+ return $0.bind($$eval(dictMonadWithGraphAlloc)(dictMonadReader)(dictMonadAff)(dictLoadFile)(\u03B3)($1)(\u03B1s))((v1) => Monad0.Applicative0().pure($Val(
18484
+ $4,
18485
+ $Maybe("Just", v1),
18486
+ $3
18487
+ )));
18488
+ });
18489
+ }
18490
+ fail();
18491
+ });
18492
+ }
18493
+ return throwException(error("absurd"))();
18318
18494
  }
18319
18495
  fail();
18320
- };
18496
+ });
18321
18497
  };
18322
18498
  };
18323
18499
  var apply2 = (dictMonadWithGraphAlloc) => {
@@ -18574,7 +18750,6 @@ var graphEval = (dictMonadAff) => {
18574
18750
  const monadAffState1 = monadAffState(monadAffState2);
18575
18751
  const $1 = monadAffState2.MonadEffect0().Monad0();
18576
18752
  const $2 = dictMonadAff.MonadEffect0().Monad0();
18577
- const applicativeStateT2 = applicativeStateT(Monad0);
18578
18753
  return (dictMonadReader) => {
18579
18754
  const monadReaderStateT2 = monadReaderStateT(monadReaderStateT(dictMonadReader));
18580
18755
  return (dictLoadFile) => (dictMonadError) => {
@@ -18590,6 +18765,7 @@ var graphEval = (dictMonadAff) => {
18590
18765
  }
18591
18766
  };
18592
18767
  })());
18768
+ const check2 = check(monadThrowStateT(dictMonadError.MonadThrow0()));
18593
18769
  return (v) => (e) => {
18594
18770
  const $3 = v["\u03B3"];
18595
18771
  const $4 = spyFunWhen(false)("fwdSlice")((x) => $Tuple(showVertices(x._1), showEdgeList(toEdgeList(graphGraphImpl)(x._2))))(showGraph(graphGraphImpl))(fwdSlice2);
@@ -18600,7 +18776,10 @@ var graphEval = (dictMonadAff) => {
18600
18776
  ))))((v1) => {
18601
18777
  const $6 = v1._1;
18602
18778
  const $7 = v1._2;
18603
- return bindStateT2.bind(applicativeStateT2.pure())(() => applicativeStateT2.pure($Tuple($6, $Tuple($EnvExpr($3, e\u03B1), $7))));
18779
+ return bindStateT2.bind(check2(difference2(ordDVertex$p)(verticesValVertex.vertices($7))(verticesGraphImpl.vertices($6)).tag === "Leaf")("outputs in graph"))(() => applicativeStateT(Monad0).pure($Tuple(
18780
+ $6,
18781
+ $Tuple($EnvExpr($3, e\u03B1), $7)
18782
+ )));
18604
18783
  })))(v.n))((v1) => Monad0.Applicative0().pure({
18605
18784
  g: v1._2._2._1,
18606
18785
  graph_fwd: (a) => (b) => $4($Tuple(a, b)),
@@ -19444,13 +19623,18 @@ function stringify(j) {
19444
19623
  return JSON.stringify(j);
19445
19624
  }
19446
19625
  function _caseJson(isNull2, isBool, isNum, isStr, isArr, isObj, j) {
19447
- if (j == null) return isNull2();
19448
- else if (typeof j === "boolean") return isBool(j);
19449
- else if (typeof j === "number") return isNum(j);
19450
- else if (typeof j === "string") return isStr(j);
19626
+ if (j == null)
19627
+ return isNull2();
19628
+ else if (typeof j === "boolean")
19629
+ return isBool(j);
19630
+ else if (typeof j === "number")
19631
+ return isNum(j);
19632
+ else if (typeof j === "string")
19633
+ return isStr(j);
19451
19634
  else if (Object.prototype.toString.call(j) === "[object Array]")
19452
19635
  return isArr(j);
19453
- else return isObj(j);
19636
+ else
19637
+ return isObj(j);
19454
19638
  }
19455
19639
 
19456
19640
  // output-es/Data.Argonaut.Core/index.js
@@ -21280,7 +21464,7 @@ var sepBy_try = (p) => (sep) => {
21280
21464
  var fromFoldable18 = /* @__PURE__ */ (() => fromFoldableImpl(foldableList.foldr))();
21281
21465
  var fromFoldable19 = /* @__PURE__ */ (() => fromFoldableImpl(foldableNonEmptyList.foldr))();
21282
21466
  var onlyIf = (b) => (a) => {
21283
- const $0 = b ? ((state1, v, v1, v2, done) => done(state1, void 0)) : fail2("No alternative");
21467
+ const $0 = b ? (state1, v, v1, v2, done) => done(state1, void 0) : fail2("No alternative");
21284
21468
  return (state1, more, lift12, $$throw2, done) => more((v1) => $0(state1, more, lift12, $$throw2, (state2, a$1) => more((v2) => done(state2, a))));
21285
21469
  };
21286
21470
  var choose2 = /* @__PURE__ */ choose(altParserT);
@@ -23538,12 +23722,12 @@ var traversableProgCxt = {
23538
23722
  };
23539
23723
 
23540
23724
  // output-es/Module/index.js
23541
- var all3 = /* @__PURE__ */ (() => foldableList.foldMap(/* @__PURE__ */ (() => {
23725
+ var all3 = /* @__PURE__ */ (() => foldableList.foldMap((() => {
23542
23726
  const semigroupConj1 = { append: (v) => (v1) => v && v1 };
23543
23727
  return { mempty: true, Semigroup0: () => semigroupConj1 };
23544
23728
  })()))();
23545
23729
  var elem2 = /* @__PURE__ */ (() => {
23546
- const any1 = foldableList.foldMap(/* @__PURE__ */ (() => {
23730
+ const any1 = foldableList.foldMap((() => {
23547
23731
  const semigroupDisj1 = { append: (v) => (v1) => v || v1 };
23548
23732
  return { mempty: false, Semigroup0: () => semigroupDisj1 };
23549
23733
  })());
@@ -25232,12 +25416,12 @@ var disamb = (dictMonad) => {
25232
25416
  // output-es/Options.Applicative.Common/index.js
25233
25417
  var $OptWord = (_1, _2) => ({ tag: "OptWord", _1, _2 });
25234
25418
  var fromFoldable24 = /* @__PURE__ */ (() => fromFoldableImpl(foldableList.foldr))();
25235
- var any2 = /* @__PURE__ */ (() => foldableArray.foldMap(/* @__PURE__ */ (() => {
25419
+ var any2 = /* @__PURE__ */ (() => foldableArray.foldMap((() => {
25236
25420
  const semigroupDisj1 = { append: (v) => (v1) => v || v1 };
25237
25421
  return { mempty: false, Semigroup0: () => semigroupDisj1 };
25238
25422
  })()))();
25239
25423
  var elem3 = /* @__PURE__ */ (() => {
25240
- const any1 = foldableArray.foldMap(/* @__PURE__ */ (() => {
25424
+ const any1 = foldableArray.foldMap((() => {
25241
25425
  const semigroupDisj1 = { append: (v) => (v1) => v || v1 };
25242
25426
  return { mempty: false, Semigroup0: () => semigroupDisj1 };
25243
25427
  })());