@explorable-viz/fluid 0.12.2 → 0.12.3

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 (236) hide show
  1. package/dist/fluid/shared/fluid.mjs +478 -438
  2. package/dist/fluid/shared/load-figure.js +3193 -2969
  3. package/package.json +12 -26
  4. package/script/install-website.sh +27 -9
  5. package/web/lib/CodeMirror.svelte +19 -0
  6. package/web/lib/DataPane.svelte +46 -0
  7. package/web/lib/Figure.svelte +38 -0
  8. package/web/lib/FigureSrc.svelte +35 -0
  9. package/web/lib/Grid.svelte +32 -0
  10. package/web/lib/index.js +5 -0
  11. package/web/lib/view-styles.css +262 -0
  12. package/website/article/eslint.config.js +45 -0
  13. package/website/article/package.json +46 -0
  14. package/website/article/src/app.d.ts +13 -0
  15. package/website/article/src/app.html +12 -0
  16. package/website/article/src/lib/assets/css/styles.css +245 -0
  17. package/website/article/src/lib/assets/image/bristol.png +0 -0
  18. package/website/article/src/lib/assets/image/fluid.png +0 -0
  19. package/website/article/src/lib/assets/image/iccs.png +0 -0
  20. package/website/article/src/lib/assets/image/schmidt.png +0 -0
  21. package/website/article/src/lib/assets/image/turing.jpg +0 -0
  22. package/website/article/src/lib/config/nav.ts +7 -0
  23. package/website/article/src/lib/config/supporters.ts +27 -0
  24. package/website/article/src/routes/+layout.svelte +15 -0
  25. package/website/article/src/routes/+layout.ts +1 -0
  26. package/website/article/{index.html → src/routes/+page.svelte} +8 -17
  27. package/website/article/src/routes/convolution/+page.svelte +62 -0
  28. package/website/article/src/routes/energy-scatter/+page.svelte +34 -0
  29. package/website/article/src/routes/methane/+page.svelte +35 -0
  30. package/website/article/src/routes/moving-average/+page.svelte +57 -0
  31. package/website/article/src/routes/non-renewables/+page.svelte +40 -0
  32. package/website/article/src/routes/renewables-linked/+page.svelte +34 -0
  33. package/website/article/src/routes/scigen-1805.02474v1-10/+page.svelte +40 -0
  34. package/website/article/static/fluid/lib/graphics.fld +274 -0
  35. package/website/article/static/fluid/lib/matrix.fld +40 -0
  36. package/website/article/static/fluid/lib/prelude.fld +348 -0
  37. package/website/article/static/fluid/lib/stats.fld +83 -0
  38. package/website/article/svelte.config.js +13 -0
  39. package/website/article/test.mjs +66 -11
  40. package/website/article/tsconfig.json +20 -0
  41. package/website/article/vite.config.ts +6 -0
  42. package/.spago/aff/v7.1.0/.editorconfig +0 -13
  43. package/.spago/aff/v7.1.0/.eslintrc.json +0 -28
  44. package/.spago/aff/v7.1.0/.gitignore +0 -14
  45. package/.spago/aff/v7.1.0/.tidyrc.json +0 -10
  46. package/.spago/affjax/v13.0.0/.editorconfig +0 -13
  47. package/.spago/affjax/v13.0.0/.eslintrc.json +0 -28
  48. package/.spago/affjax/v13.0.0/.gitignore +0 -14
  49. package/.spago/affjax/v13.0.0/.tidyrc.json +0 -10
  50. package/.spago/affjax-web/v1.0.0/.editorconfig +0 -13
  51. package/.spago/affjax-web/v1.0.0/.eslintrc.json +0 -30
  52. package/.spago/affjax-web/v1.0.0/.gitignore +0 -14
  53. package/.spago/affjax-web/v1.0.0/.tidyrc.json +0 -10
  54. package/.spago/argonaut-codecs/v9.1.0/.editorconfig +0 -13
  55. package/.spago/argonaut-codecs/v9.1.0/.gitignore +0 -9
  56. package/.spago/argonaut-codecs/v9.1.0/.tidyrc.json +0 -10
  57. package/.spago/argonaut-core/v7.0.0/.editorconfig +0 -13
  58. package/.spago/argonaut-core/v7.0.0/.eslintrc.json +0 -29
  59. package/.spago/argonaut-core/v7.0.0/.gitignore +0 -14
  60. package/.spago/argonaut-core/v7.0.0/.tidyrc.json +0 -10
  61. package/.spago/arraybuffer-types/v3.0.2/.editorconfig +0 -13
  62. package/.spago/arraybuffer-types/v3.0.2/.gitignore +0 -9
  63. package/.spago/arraybuffer-types/v3.0.2/.tidyrc.json +0 -10
  64. package/.spago/arrays/v7.2.1/.eslintrc.json +0 -26
  65. package/.spago/arrays/v7.2.1/.gitignore +0 -9
  66. package/.spago/assert/v6.0.0/.eslintrc.json +0 -26
  67. package/.spago/assert/v6.0.0/.gitignore +0 -8
  68. package/.spago/bifunctors/v6.0.0/.gitignore +0 -7
  69. package/.spago/catenable-lists/v7.0.0/.gitignore +0 -7
  70. package/.spago/console/v6.1.0/.eslintrc.json +0 -30
  71. package/.spago/console/v6.1.0/.gitignore +0 -9
  72. package/.spago/const/v6.0.0/.gitignore +0 -7
  73. package/.spago/contravariant/v6.0.0/.gitignore +0 -7
  74. package/.spago/control/v6.0.0/.gitignore +0 -7
  75. package/.spago/datetime/v6.1.0/.eslintrc.json +0 -26
  76. package/.spago/datetime/v6.1.0/.gitignore +0 -8
  77. package/.spago/debug/v6.0.2/.eslintrc.json +0 -36
  78. package/.spago/debug/v6.0.2/.gitignore +0 -8
  79. package/.spago/distributive/v6.0.0/.gitignore +0 -7
  80. package/.spago/effect/v4.0.0/.eslintrc.json +0 -26
  81. package/.spago/effect/v4.0.0/.gitignore +0 -8
  82. package/.spago/either/v6.1.0/.gitignore +0 -7
  83. package/.spago/enums/v6.0.1/.gitignore +0 -7
  84. package/.spago/exceptions/v6.0.0/.eslintrc.json +0 -26
  85. package/.spago/exceptions/v6.0.0/.gitignore +0 -8
  86. package/.spago/exists/v6.0.0/.gitignore +0 -7
  87. package/.spago/filterable/v5.0.0/.gitignore +0 -11
  88. package/.spago/foldable-traversable/v6.0.0/.eslintrc.json +0 -26
  89. package/.spago/foldable-traversable/v6.0.0/.gitignore +0 -8
  90. package/.spago/foreign/v7.0.0/.eslintrc.json +0 -26
  91. package/.spago/foreign/v7.0.0/.gitignore +0 -8
  92. package/.spago/foreign-object/v4.1.0/.eslintrc.json +0 -26
  93. package/.spago/foreign-object/v4.1.0/.gitignore +0 -8
  94. package/.spago/form-urlencoded/v7.0.0/.editorconfig +0 -13
  95. package/.spago/form-urlencoded/v7.0.0/.gitignore +0 -9
  96. package/.spago/form-urlencoded/v7.0.0/.tidyrc.json +0 -10
  97. package/.spago/free/v7.1.0/.gitignore +0 -8
  98. package/.spago/functions/v6.0.0/.eslintrc.json +0 -26
  99. package/.spago/functions/v6.0.0/.gitignore +0 -8
  100. package/.spago/functors/v5.0.0/.gitignore +0 -7
  101. package/.spago/gen/v4.0.0/.gitignore +0 -8
  102. package/.spago/graphs/v8.1.0/.gitignore +0 -7
  103. package/.spago/http-methods/v6.0.0/.editorconfig +0 -13
  104. package/.spago/http-methods/v6.0.0/.gitignore +0 -9
  105. package/.spago/http-methods/v6.0.0/.tidyrc.json +0 -10
  106. package/.spago/identity/v6.0.0/.gitignore +0 -7
  107. package/.spago/integers/v6.0.0/.eslintrc.json +0 -26
  108. package/.spago/integers/v6.0.0/.gitignore +0 -8
  109. package/.spago/invariant/v6.0.0/.gitignore +0 -7
  110. package/.spago/js-date/v8.0.0/.editorconfig +0 -13
  111. package/.spago/js-date/v8.0.0/.eslintrc.json +0 -29
  112. package/.spago/js-date/v8.0.0/.gitignore +0 -14
  113. package/.spago/js-date/v8.0.0/.tidyrc.json +0 -10
  114. package/.spago/js-uri/v3.1.0/.eslintrc.json +0 -30
  115. package/.spago/js-uri/v3.1.0/.gitignore +0 -14
  116. package/.spago/js-uri/v3.1.0/.tidyrc.json +0 -10
  117. package/.spago/lazy/v6.0.0/.eslintrc.json +0 -26
  118. package/.spago/lazy/v6.0.0/.gitignore +0 -8
  119. package/.spago/lcg/v4.0.0/.gitignore +0 -8
  120. package/.spago/lists/v7.0.0/.gitignore +0 -7
  121. package/.spago/maybe/v6.0.0/.gitignore +0 -7
  122. package/.spago/media-types/v6.0.0/.editorconfig +0 -13
  123. package/.spago/media-types/v6.0.0/.gitignore +0 -9
  124. package/.spago/media-types/v6.0.0/.tidyrc.json +0 -10
  125. package/.spago/newtype/v5.0.0/.gitignore +0 -7
  126. package/.spago/node-buffer/v9.0.0/.eslintrc.json +0 -26
  127. package/.spago/node-buffer/v9.0.0/.gitignore +0 -8
  128. package/.spago/node-fs/v9.1.0/.eslintrc.json +0 -29
  129. package/.spago/node-fs/v9.1.0/.gitignore +0 -9
  130. package/.spago/node-path/v5.0.0/.eslintrc.json +0 -26
  131. package/.spago/node-path/v5.0.0/.gitignore +0 -8
  132. package/.spago/node-process/v11.2.0/.eslintrc.json +0 -29
  133. package/.spago/node-process/v11.2.0/.gitignore +0 -8
  134. package/.spago/node-streams/v9.0.0/.eslintrc.json +0 -29
  135. package/.spago/node-streams/v9.0.0/.gitignore +0 -8
  136. package/.spago/nonempty/v7.0.0/.gitignore +0 -7
  137. package/.spago/now/v6.0.0/.editorconfig +0 -13
  138. package/.spago/now/v6.0.0/.eslintrc.json +0 -29
  139. package/.spago/now/v6.0.0/.gitignore +0 -14
  140. package/.spago/now/v6.0.0/.tidyrc.json +0 -10
  141. package/.spago/nullable/v6.0.0/.editorconfig +0 -13
  142. package/.spago/nullable/v6.0.0/.eslintrc.json +0 -29
  143. package/.spago/nullable/v6.0.0/.gitignore +0 -14
  144. package/.spago/nullable/v6.0.0/.tidyrc.json +0 -10
  145. package/.spago/optparse/v6.0.0/.gitignore +0 -8
  146. package/.spago/optparse/v6.0.0/.npmrc +0 -1
  147. package/.spago/ordered-collections/v3.1.1/.gitignore +0 -8
  148. package/.spago/orders/v6.0.0/.gitignore +0 -7
  149. package/.spago/parallel/v7.0.0/.gitignore +0 -7
  150. package/.spago/parsing/v10.3.1/.editorconfig +0 -13
  151. package/.spago/parsing/v10.3.1/.gitignore +0 -12
  152. package/.spago/parsing/v10.3.1/.tidyoperators +0 -231
  153. package/.spago/parsing/v10.3.1/.tidyrc.json +0 -10
  154. package/.spago/partial/v4.0.0/.eslintrc.json +0 -26
  155. package/.spago/partial/v4.0.0/.gitignore +0 -8
  156. package/.spago/posix-types/v6.0.0/.gitignore +0 -7
  157. package/.spago/prelude/v6.0.1/.eslintrc.json +0 -26
  158. package/.spago/prelude/v6.0.1/.gitignore +0 -8
  159. package/.spago/profunctor/v6.0.0/.gitignore +0 -7
  160. package/.spago/psci-support/v6.0.0/.eslintrc.json +0 -28
  161. package/.spago/psci-support/v6.0.0/.gitignore +0 -8
  162. package/.spago/quickcheck/v8.0.1/.eslintrc.json +0 -26
  163. package/.spago/quickcheck/v8.0.1/.gitignore +0 -8
  164. package/.spago/random/v6.0.0/.eslintrc.json +0 -26
  165. package/.spago/random/v6.0.0/.gitignore +0 -8
  166. package/.spago/record/v4.0.0/.eslintrc.json +0 -26
  167. package/.spago/record/v4.0.0/.gitignore +0 -8
  168. package/.spago/refs/v6.0.0/.eslintrc.json +0 -26
  169. package/.spago/refs/v6.0.0/.gitignore +0 -8
  170. package/.spago/st/v6.2.0/.eslintrc.json +0 -26
  171. package/.spago/st/v6.2.0/.gitignore +0 -8
  172. package/.spago/strings/v6.0.1/.eslintrc.json +0 -26
  173. package/.spago/strings/v6.0.1/.gitignore +0 -8
  174. package/.spago/tailrec/v6.1.0/.gitignore +0 -7
  175. package/.spago/transformers/v6.0.0/.gitignore +0 -7
  176. package/.spago/tuples/v7.0.0/.gitignore +0 -7
  177. package/.spago/type-equality/v4.0.1/.gitignore +0 -7
  178. package/.spago/typelevel-prelude/v7.0.0/.gitignore +0 -8
  179. package/.spago/unfoldable/v6.0.0/.eslintrc.json +0 -26
  180. package/.spago/unfoldable/v6.0.0/.gitignore +0 -8
  181. package/.spago/unicode/v6.0.0/.editorconfig +0 -13
  182. package/.spago/unicode/v6.0.0/.gitattributes +0 -2
  183. package/.spago/unicode/v6.0.0/.gitignore +0 -19
  184. package/.spago/unicode/v6.0.0/.tidyrc.json +0 -10
  185. package/.spago/unsafe-coerce/v6.0.0/.eslintrc.json +0 -26
  186. package/.spago/unsafe-coerce/v6.0.0/.gitignore +0 -8
  187. package/.spago/web-dom/v6.0.0/.eslintrc.json +0 -29
  188. package/.spago/web-dom/v6.0.0/.gitignore +0 -9
  189. package/.spago/web-events/v4.0.0/.eslintrc.json +0 -29
  190. package/.spago/web-events/v4.0.0/.gitignore +0 -8
  191. package/.spago/web-file/v4.0.0/.eslintrc.json +0 -29
  192. package/.spago/web-file/v4.0.0/.gitignore +0 -8
  193. package/.spago/web-html/v4.1.0/.eslintrc.json +0 -29
  194. package/.spago/web-html/v4.1.0/.gitignore +0 -8
  195. package/.spago/web-storage/v5.0.0/.eslintrc.json +0 -29
  196. package/.spago/web-storage/v5.0.0/.gitignore +0 -8
  197. package/.spago/web-xhr/v5.0.1/.eslintrc.json +0 -29
  198. package/.spago/web-xhr/v5.0.1/.gitignore +0 -8
  199. package/LICENSE +0 -21
  200. package/README.md +0 -95
  201. package/dist/fluid/shared/website-test.js +0 -41
  202. package/dist/fluid/shared/webtest-lib.js +0 -300023
  203. package/script/bundle-website.sh +0 -52
  204. package/script/util/clean.sh +0 -5
  205. package/script/util/lisp-case.sh +0 -10
  206. package/website/article/convolution/index.html +0 -97
  207. package/website/article/css/styles.css +0 -325
  208. package/website/article/css/view-styles.css +0 -205
  209. package/website/article/energy-scatter/index.html +0 -47
  210. package/website/article/methane/index.html +0 -46
  211. package/website/article/moving-average/index.html +0 -64
  212. package/website/article/non-renewables/index.html +0 -52
  213. package/website/article/renewables-linked/index.html +0 -46
  214. package/website/article/scigen-1805.02474v1-10/index.html +0 -54
  215. package/website/article/shared/util.js +0 -15
  216. /package/website/article/{favicon.ico → src/lib/assets/image/favicon.ico} +0 -0
  217. /package/website/article/{dataset → static/dataset}/SciGen/1805.02474v1-10.json +0 -0
  218. /package/website/article/{dataset → static/dataset}/methane-emissions.json +0 -0
  219. /package/website/article/{dataset → static/dataset}/non-renewables.json +0 -0
  220. /package/website/article/{dataset → static/dataset}/renewable-new.json +0 -0
  221. /package/website/article/{dataset → static/dataset}/renewable.json +0 -0
  222. /package/website/article/{fluid → static/fluid}/1805.02474v1-10.fld +0 -0
  223. /package/website/article/{fluid → static/fluid}/bar-chart-line-chart.fld +0 -0
  224. /package/website/article/{fluid → static/fluid}/convolution/emboss.fld +0 -0
  225. /package/website/article/{fluid → static/fluid}/convolution/testImage.fld +0 -0
  226. /package/website/article/{fluid → static/fluid}/convolution.fld +0 -0
  227. /package/website/article/{fluid → static/fluid}/dataset/scigen/_1805_02474v1_10.fld +0 -0
  228. /package/website/article/{fluid → static/fluid}/energyscatter.fld +0 -0
  229. /package/website/article/{fluid → static/fluid}/methane.fld +0 -0
  230. /package/website/article/{fluid → static/fluid}/methane_data.fld +0 -0
  231. /package/website/article/{fluid → static/fluid}/moving-average.fld +0 -0
  232. /package/website/article/{fluid → static/fluid}/non-renewables.fld +0 -0
  233. /package/website/article/{fluid → static/fluid}/nonRenewables.fld +0 -0
  234. /package/website/article/{fluid → static/fluid}/renewables.fld +0 -0
  235. /package/website/article/{fluid → static/fluid}/scigen.fld +0 -0
  236. /package/website/article/{fluid → static/fluid}/util.fld +0 -0
@@ -10920,7 +10920,6 @@ var between = (open2) => (close3) => (p) => (state1, more, lift12, $$throw2, don
10920
10920
  var $Assoc = (tag) => tag;
10921
10921
  var $Operator = (tag, _1, _2) => ({ tag, _1, _2 });
10922
10922
  var choice2 = /* @__PURE__ */ choice(foldableList);
10923
- var identity17 = (x) => x;
10924
10923
  var AssocNone = /* @__PURE__ */ $Assoc("AssocNone");
10925
10924
  var AssocLeft = /* @__PURE__ */ $Assoc("AssocLeft");
10926
10925
  var AssocRight = /* @__PURE__ */ $Assoc("AssocRight");
@@ -10970,6 +10969,28 @@ var splitOp = (v) => (v1) => {
10970
10969
  }
10971
10970
  fail();
10972
10971
  };
10972
+ var rchainP = (p) => {
10973
+ const go = (go$a0$copy) => (go$a1$copy) => {
10974
+ let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
10975
+ while (go$c) {
10976
+ const b = go$a0, v = go$a1;
10977
+ if (v.tag === "Nil") {
10978
+ go$c = false;
10979
+ go$r = b;
10980
+ continue;
10981
+ }
10982
+ if (v.tag === "Cons") {
10983
+ go$a0 = v._1(b);
10984
+ go$a1 = v._2;
10985
+ continue;
10986
+ }
10987
+ fail();
10988
+ }
10989
+ return go$r;
10990
+ };
10991
+ const $0 = manyRec2(p);
10992
+ return (state1, more, lift12, $$throw2, done) => more((v1) => $0(state1, more, lift12, $$throw2, (state2, a) => more((v2) => done(state2, (a$1) => go(a$1)(a)))));
10993
+ };
10973
10994
  var rassocP1 = (x) => (rassocOp) => (prefixP) => (term) => (postfixP) => {
10974
10995
  const $0 = rassocP(x)(rassocOp)(prefixP)(term)(postfixP);
10975
10996
  return (v2, $1, $2, $3, $4) => {
@@ -11030,6 +11051,58 @@ var nassocP = (x) => (nassocOp) => (prefixP) => (term) => (postfixP) => (state1,
11030
11051
  ));
11031
11052
  })
11032
11053
  ));
11054
+ var lchainP = (p) => {
11055
+ const go = (go$a0$copy) => (go$a1$copy) => {
11056
+ let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
11057
+ while (go$c) {
11058
+ const b = go$a0, v = go$a1;
11059
+ if (v.tag === "Nil") {
11060
+ go$c = false;
11061
+ go$r = b;
11062
+ continue;
11063
+ }
11064
+ if (v.tag === "Cons") {
11065
+ go$a0 = v._1(b);
11066
+ go$a1 = v._2;
11067
+ continue;
11068
+ }
11069
+ fail();
11070
+ }
11071
+ return go$r;
11072
+ };
11073
+ const $0 = manyRec2(p);
11074
+ return (state1, more, lift12, $$throw2, done) => more((v1) => $0(
11075
+ state1,
11076
+ more,
11077
+ lift12,
11078
+ $$throw2,
11079
+ (state2, a) => more((v2) => done(
11080
+ state2,
11081
+ (() => {
11082
+ const go$1 = (go$1$a0$copy) => (go$1$a1$copy) => {
11083
+ let go$1$a0 = go$1$a0$copy, go$1$a1 = go$1$a1$copy, go$1$c = true, go$1$r;
11084
+ while (go$1$c) {
11085
+ const v = go$1$a0, v1$1 = go$1$a1;
11086
+ if (v1$1.tag === "Nil") {
11087
+ go$1$c = false;
11088
+ go$1$r = v;
11089
+ continue;
11090
+ }
11091
+ if (v1$1.tag === "Cons") {
11092
+ go$1$a0 = $List("Cons", v1$1._1, v);
11093
+ go$1$a1 = v1$1._2;
11094
+ continue;
11095
+ }
11096
+ fail();
11097
+ }
11098
+ return go$1$r;
11099
+ };
11100
+ const $1 = go$1(Nil)(a);
11101
+ return (a$1) => go(a$1)($1);
11102
+ })()
11103
+ ))
11104
+ ));
11105
+ };
11033
11106
  var lassocP1 = (x) => (lassocOp) => (prefixP) => (term) => (postfixP) => {
11034
11107
  const $0 = lassocP(x)(lassocOp)(prefixP)(term)(postfixP);
11035
11108
  return (v2, $1, $2, $3, $4) => {
@@ -11084,202 +11157,54 @@ var makeParser = (term) => (ops) => {
11084
11157
  })(ops);
11085
11158
  const lassocOp = choice2(accum.lassoc);
11086
11159
  const nassocOp = choice2(accum.nassoc);
11087
- const postfixOp = withErrorMessage(choice2(accum.postfix))("");
11088
- const prefixOp = withErrorMessage(choice2(accum.prefix))("");
11160
+ const postfixP = rchainP(withErrorMessage(choice2(accum.postfix))(""));
11161
+ const prefixP = lchainP(withErrorMessage(choice2(accum.prefix))(""));
11089
11162
  const rassocOp = choice2(accum.rassoc);
11090
- const $0 = termP((v2, $02, $1, $2, $3) => {
11091
- const $4 = v2._1;
11092
- const $5 = v2._2;
11093
- return $02((v3) => prefixOp(
11094
- $ParseState($4, $5, false),
11095
- $02,
11096
- $1,
11097
- (v4, $6) => {
11098
- const $7 = v4._3;
11099
- return $02((v5) => {
11100
- if ($7) {
11101
- return $2(v4, $6);
11102
- }
11103
- return $3(v2, identity17);
11104
- });
11105
- },
11106
- $3
11107
- ));
11108
- })(term)((v2, $02, $1, $2, $3) => {
11109
- const $4 = v2._1;
11110
- const $5 = v2._2;
11111
- return $02((v3) => postfixOp(
11112
- $ParseState($4, $5, false),
11113
- $02,
11114
- $1,
11115
- (v4, $6) => {
11116
- const $7 = v4._3;
11117
- return $02((v5) => {
11118
- if ($7) {
11119
- return $2(v4, $6);
11120
- }
11121
- return $3(v2, identity17);
11122
- });
11123
- },
11124
- $3
11125
- ));
11126
- });
11127
- return (state1, more, lift12, $$throw2, done) => more((v1) => $0(
11163
+ return (state1, more, lift12, $$throw2, done) => more((v1) => termP(prefixP)(term)(postfixP)(
11128
11164
  state1,
11129
11165
  more,
11130
11166
  lift12,
11131
11167
  $$throw2,
11132
11168
  (state2, a) => more((v2) => {
11133
- const $1 = rassocP(a)(rassocOp)((v2$1, $12, $22, $32, $42) => {
11134
- const $52 = v2$1._1;
11135
- const $62 = v2$1._2;
11136
- return $12((v3) => prefixOp(
11137
- $ParseState($52, $62, false),
11138
- $12,
11139
- $22,
11140
- (v4, $72) => {
11141
- const $8 = v4._3;
11142
- return $12((v5) => {
11143
- if ($8) {
11144
- return $32(v4, $72);
11145
- }
11146
- return $42(v2$1, identity17);
11147
- });
11148
- },
11149
- $42
11150
- ));
11151
- })(term)((v2$1, $12, $22, $32, $42) => {
11152
- const $52 = v2$1._1;
11153
- const $62 = v2$1._2;
11154
- return $12((v3) => postfixOp(
11155
- $ParseState($52, $62, false),
11156
- $12,
11157
- $22,
11158
- (v4, $72) => {
11159
- const $8 = v4._3;
11160
- return $12((v5) => {
11161
- if ($8) {
11162
- return $32(v4, $72);
11163
- }
11164
- return $42(v2$1, identity17);
11165
- });
11166
- },
11167
- $42
11168
- ));
11169
- });
11170
- const $2 = lassocP(a)(lassocOp)((v2$1, $22, $32, $42, $52) => {
11171
- const $62 = v2$1._1;
11172
- const $72 = v2$1._2;
11173
- return $22((v3) => prefixOp(
11174
- $ParseState($62, $72, false),
11175
- $22,
11176
- $32,
11177
- (v4, $8) => {
11178
- const $9 = v4._3;
11179
- return $22((v5) => {
11180
- if ($9) {
11181
- return $42(v4, $8);
11182
- }
11183
- return $52(v2$1, identity17);
11184
- });
11185
- },
11186
- $52
11187
- ));
11188
- })(term)((v2$1, $22, $32, $42, $52) => {
11189
- const $62 = v2$1._1;
11190
- const $72 = v2$1._2;
11191
- return $22((v3) => postfixOp(
11192
- $ParseState($62, $72, false),
11193
- $22,
11194
- $32,
11195
- (v4, $8) => {
11196
- const $9 = v4._3;
11197
- return $22((v5) => {
11198
- if ($9) {
11199
- return $42(v4, $8);
11200
- }
11201
- return $52(v2$1, identity17);
11202
- });
11203
- },
11204
- $52
11205
- ));
11206
- });
11207
- const $3 = nassocP(a)(nassocOp)((v2$1, $32, $42, $52, $62) => {
11208
- const $72 = v2$1._1;
11209
- const $8 = v2$1._2;
11210
- return $32((v3) => prefixOp(
11211
- $ParseState($72, $8, false),
11212
- $32,
11213
- $42,
11214
- (v4, $9) => {
11215
- const $10 = v4._3;
11216
- return $32((v5) => {
11217
- if ($10) {
11218
- return $52(v4, $9);
11219
- }
11220
- return $62(v2$1, identity17);
11221
- });
11222
- },
11223
- $62
11224
- ));
11225
- })(term)((v2$1, $32, $42, $52, $62) => {
11226
- const $72 = v2$1._1;
11227
- const $8 = v2$1._2;
11228
- return $32((v3) => postfixOp(
11229
- $ParseState($72, $8, false),
11230
- $32,
11231
- $42,
11232
- (v4, $9) => {
11233
- const $10 = v4._3;
11234
- return $32((v5) => {
11235
- if ($10) {
11236
- return $52(v4, $9);
11237
- }
11238
- return $62(v2$1, identity17);
11239
- });
11240
- },
11241
- $62
11242
- ));
11243
- });
11244
- const $4 = withErrorMessage((state1$1, v, v1$1, v2$1, done$1) => done$1(state1$1, a))("operator");
11245
- const $5 = state1._3 && !state2._3 ? $ParseState(state2._1, state2._2, true) : state2;
11246
- const $6 = $5._1;
11247
- const $7 = $5._2;
11248
- return more((v3) => $1(
11249
- $ParseState($6, $7, false),
11169
+ const $0 = withErrorMessage((state1$1, v, v1$1, v2$1, done$1) => done$1(state1$1, a))("operator");
11170
+ const $1 = state1._3 && !state2._3 ? $ParseState(state2._1, state2._2, true) : state2;
11171
+ const $2 = $1._1;
11172
+ const $3 = $1._2;
11173
+ return more((v3) => rassocP(a)(rassocOp)(prefixP)(term)(postfixP)(
11174
+ $ParseState($2, $3, false),
11250
11175
  more,
11251
11176
  lift12,
11252
- (v4, $8) => {
11253
- const $9 = v4._3;
11177
+ (v4, $4) => {
11178
+ const $5 = v4._3;
11254
11179
  return more((v5) => {
11255
- if ($9) {
11256
- return $$throw2(v4, $8);
11180
+ if ($5) {
11181
+ return $$throw2(v4, $4);
11257
11182
  }
11258
- const $10 = $5._1;
11259
- const $11 = $5._2;
11260
- return more((v3$1) => $2(
11261
- $ParseState($10, $11, false),
11183
+ const $6 = $1._1;
11184
+ const $7 = $1._2;
11185
+ return more((v3$1) => lassocP(a)(lassocOp)(prefixP)(term)(postfixP)(
11186
+ $ParseState($6, $7, false),
11262
11187
  more,
11263
11188
  lift12,
11264
- (v4$1, $12) => {
11265
- const $13 = v4$1._3;
11189
+ (v4$1, $8) => {
11190
+ const $9 = v4$1._3;
11266
11191
  return more((v5$1) => {
11267
- if ($13) {
11268
- return $$throw2(v4$1, $12);
11192
+ if ($9) {
11193
+ return $$throw2(v4$1, $8);
11269
11194
  }
11270
- const $14 = $5._1;
11271
- const $15 = $5._2;
11272
- return more((v3$2) => $3(
11273
- $ParseState($14, $15, false),
11195
+ const $10 = $1._1;
11196
+ const $11 = $1._2;
11197
+ return more((v3$2) => nassocP(a)(nassocOp)(prefixP)(term)(postfixP)(
11198
+ $ParseState($10, $11, false),
11274
11199
  more,
11275
11200
  lift12,
11276
- (v4$2, $16) => {
11277
- const $17 = v4$2._3;
11201
+ (v4$2, $12) => {
11202
+ const $13 = v4$2._3;
11278
11203
  return more((v5$2) => {
11279
- if ($17) {
11280
- return $$throw2(v4$2, $16);
11204
+ if ($13) {
11205
+ return $$throw2(v4$2, $12);
11281
11206
  }
11282
- return $4($5, more, lift12, $$throw2, done);
11207
+ return $0($1, more, lift12, $$throw2, done);
11283
11208
  });
11284
11209
  },
11285
11210
  done
@@ -11297,37 +11222,78 @@ var makeParser = (term) => (ops) => {
11297
11222
  };
11298
11223
 
11299
11224
  // output-es/Primitive.Parse/index.js
11300
- var $InfixParser = (tag) => tag;
11301
- var $OpDef = (_1, _2, _3, _4) => ({ tag: "Infix", _1, _2, _3, _4 });
11302
- var $$Symbol = /* @__PURE__ */ $InfixParser("Symbol");
11303
- var Ident = /* @__PURE__ */ $InfixParser("Ident");
11304
- var ConsOp = /* @__PURE__ */ $InfixParser("ConsOp");
11305
- var Custom = /* @__PURE__ */ $InfixParser("Custom");
11225
+ var $Fixity = (tag, _1) => ({ tag, _1 });
11226
+ var $OpDef = (_1, _2, _3) => ({ tag: "OpDef", _1, _2, _3 });
11227
+ var $OpType = (tag) => tag;
11228
+ var lookup4 = (k) => {
11229
+ const go = (go$a0$copy) => {
11230
+ let go$a0 = go$a0$copy, go$c = true, go$r;
11231
+ while (go$c) {
11232
+ const v = go$a0;
11233
+ if (v.tag === "Leaf") {
11234
+ go$c = false;
11235
+ go$r = Nothing;
11236
+ continue;
11237
+ }
11238
+ if (v.tag === "Node") {
11239
+ const v1 = ordString.compare(k)(v._3);
11240
+ if (v1 === "LT") {
11241
+ go$a0 = v._5;
11242
+ continue;
11243
+ }
11244
+ if (v1 === "GT") {
11245
+ go$a0 = v._6;
11246
+ continue;
11247
+ }
11248
+ if (v1 === "EQ") {
11249
+ go$c = false;
11250
+ go$r = $Maybe("Just", v._4);
11251
+ continue;
11252
+ }
11253
+ }
11254
+ fail();
11255
+ }
11256
+ return go$r;
11257
+ };
11258
+ return go;
11259
+ };
11260
+ var $$Symbol = /* @__PURE__ */ $OpType("Symbol");
11261
+ var Ident = /* @__PURE__ */ $OpType("Ident");
11262
+ var CustomOp = /* @__PURE__ */ $OpType("CustomOp");
11263
+ var ConsOp = /* @__PURE__ */ $OpType("ConsOp");
11264
+ var Prefix = /* @__PURE__ */ $Fixity("Prefix");
11306
11265
  var opDefs = [
11307
- /* @__PURE__ */ $OpDef($$Symbol, "!", AssocLeft, 9),
11308
- /* @__PURE__ */ $OpDef($$Symbol, "**", AssocRight, 8),
11309
- /* @__PURE__ */ $OpDef($$Symbol, "*", AssocLeft, 7),
11310
- /* @__PURE__ */ $OpDef($$Symbol, "/", AssocLeft, 7),
11311
- /* @__PURE__ */ $OpDef($$Symbol, "//", AssocLeft, 7),
11312
- /* @__PURE__ */ $OpDef($$Symbol, "%", AssocLeft, 7),
11313
- /* @__PURE__ */ $OpDef($$Symbol, "+", AssocLeft, 6),
11314
- /* @__PURE__ */ $OpDef($$Symbol, "-", AssocLeft, 6),
11315
- /* @__PURE__ */ $OpDef(ConsOp, ":", AssocRight, 5),
11316
- /* @__PURE__ */ $OpDef($$Symbol, "++", AssocRight, 4),
11317
- /* @__PURE__ */ $OpDef(Custom, "|x|", AssocLeft, 3),
11318
- /* @__PURE__ */ $OpDef($$Symbol, "==", AssocNone, 2),
11319
- /* @__PURE__ */ $OpDef($$Symbol, "/=", AssocNone, 2),
11320
- /* @__PURE__ */ $OpDef($$Symbol, "<", AssocLeft, 2),
11321
- /* @__PURE__ */ $OpDef($$Symbol, ">", AssocLeft, 2),
11322
- /* @__PURE__ */ $OpDef($$Symbol, "<=", AssocLeft, 2),
11323
- /* @__PURE__ */ $OpDef($$Symbol, ">=", AssocLeft, 2),
11324
- /* @__PURE__ */ $OpDef(Ident, "and", AssocLeft, 1),
11325
- /* @__PURE__ */ $OpDef(Ident, "or", AssocLeft, 0)
11266
+ [/* @__PURE__ */ $OpDef("!", /* @__PURE__ */ $Fixity("Infix", AssocLeft), $$Symbol)],
11267
+ [/* @__PURE__ */ $OpDef("**", /* @__PURE__ */ $Fixity("Infix", AssocRight), $$Symbol)],
11268
+ [
11269
+ /* @__PURE__ */ $OpDef("*", /* @__PURE__ */ $Fixity("Infix", AssocLeft), $$Symbol),
11270
+ /* @__PURE__ */ $OpDef("/", /* @__PURE__ */ $Fixity("Infix", AssocLeft), $$Symbol),
11271
+ /* @__PURE__ */ $OpDef("//", /* @__PURE__ */ $Fixity("Infix", AssocLeft), $$Symbol),
11272
+ /* @__PURE__ */ $OpDef("%", /* @__PURE__ */ $Fixity("Infix", AssocLeft), $$Symbol)
11273
+ ],
11274
+ [
11275
+ /* @__PURE__ */ $OpDef("+", /* @__PURE__ */ $Fixity("Infix", AssocLeft), $$Symbol),
11276
+ /* @__PURE__ */ $OpDef("-", /* @__PURE__ */ $Fixity("Infix", AssocLeft), $$Symbol)
11277
+ ],
11278
+ [/* @__PURE__ */ $OpDef(":", /* @__PURE__ */ $Fixity("Infix", AssocLeft), ConsOp)],
11279
+ [/* @__PURE__ */ $OpDef("++", /* @__PURE__ */ $Fixity("Infix", AssocRight), $$Symbol)],
11280
+ [/* @__PURE__ */ $OpDef("|x|", /* @__PURE__ */ $Fixity("Infix", AssocLeft), CustomOp)],
11281
+ [
11282
+ /* @__PURE__ */ $OpDef("==", /* @__PURE__ */ $Fixity("Infix", AssocNone), $$Symbol),
11283
+ /* @__PURE__ */ $OpDef("/=", /* @__PURE__ */ $Fixity("Infix", AssocNone), $$Symbol),
11284
+ /* @__PURE__ */ $OpDef("<", /* @__PURE__ */ $Fixity("Infix", AssocLeft), $$Symbol),
11285
+ /* @__PURE__ */ $OpDef(">", /* @__PURE__ */ $Fixity("Infix", AssocLeft), $$Symbol),
11286
+ /* @__PURE__ */ $OpDef("<=", /* @__PURE__ */ $Fixity("Infix", AssocLeft), $$Symbol),
11287
+ /* @__PURE__ */ $OpDef(">=", /* @__PURE__ */ $Fixity("Infix", AssocLeft), $$Symbol)
11288
+ ],
11289
+ [/* @__PURE__ */ $OpDef("not", Prefix, Ident)],
11290
+ [/* @__PURE__ */ $OpDef("and", /* @__PURE__ */ $Fixity("Infix", AssocLeft), Ident)],
11291
+ [/* @__PURE__ */ $OpDef("or", /* @__PURE__ */ $Fixity("Infix", AssocLeft), Ident)]
11326
11292
  ];
11327
- var opMap = /* @__PURE__ */ fromFoldable(ordString)(foldableArray)(/* @__PURE__ */ arrayMap((def) => $Tuple(
11328
- def._2,
11329
- def
11330
- ))(opDefs));
11293
+ var opPrecs = /* @__PURE__ */ fromFoldable(ordString)(foldableArray)(/* @__PURE__ */ arrayBind(/* @__PURE__ */ mapWithIndexArray(Tuple)(opDefs))((v) => {
11294
+ const $0 = v._1;
11295
+ return arrayBind(v._2)((v1) => [$Tuple(v1._1, 11 - $0 | 0)]);
11296
+ }));
11331
11297
 
11332
11298
  // output-es/Bind/index.js
11333
11299
  var union4 = /* @__PURE__ */ (() => setSet(ordString).union)();
@@ -11651,6 +11617,9 @@ var functorExpr2 = {
11651
11617
  if (m.tag === "BinaryApp") {
11652
11618
  return $Expr2("BinaryApp", functorExpr2.map(f)(m._1), m._2, functorExpr2.map(f)(m._3));
11653
11619
  }
11620
+ if (m.tag === "UnaryPrefixApp") {
11621
+ return $Expr2("UnaryPrefixApp", m._1, functorExpr2.map(f)(m._2));
11622
+ }
11654
11623
  if (m.tag === "MatchAs") {
11655
11624
  return $Expr2(
11656
11625
  "MatchAs",
@@ -13210,6 +13179,9 @@ var exprFwd = (dictBoundedLattice) => {
13210
13179
  if (v.tag === "BinaryApp") {
13211
13180
  return Apply0.apply(Functor0.map(App2)(Functor0.map(App2($Expr("Op", v._2)))(exprFwd(dictBoundedLattice)(dictMonadError)(dictBoundedLattice.BoundedJoinSemilattice0().JoinSemilattice0())(v._1))))(exprFwd(dictBoundedLattice)(dictMonadError)(dictBoundedLattice.BoundedJoinSemilattice0().JoinSemilattice0())(v._3));
13212
13181
  }
13182
+ if (v.tag === "UnaryPrefixApp") {
13183
+ return Functor0.map(App2($Expr("Op", v._1)))(exprFwd(dictBoundedLattice)(dictMonadError)(dictBoundedLattice.BoundedJoinSemilattice0().JoinSemilattice0())(v._2));
13184
+ }
13213
13185
  if (v.tag === "MatchAs") {
13214
13186
  return Apply0.apply(Functor0.map(App2)(Functor0.map(Lambda(top))(desugarableClausesElim.desug(dictMonadError)(dictBoundedLattice)($NonEmpty(
13215
13187
  $Tuple($NonEmpty(v._2._1._1, Nil), v._2._1._2),
@@ -13527,6 +13499,15 @@ var exprBwd = (dictBoundedJoinSemilattice) => (v) => (v1) => {
13527
13499
  }
13528
13500
  return throwException(error("absurd"))();
13529
13501
  }
13502
+ if (v._1.tag === "Op") {
13503
+ if (v1.tag === "UnaryPrefixApp") {
13504
+ return $Expr2("UnaryPrefixApp", v1._1, exprBwd(dictBoundedJoinSemilattice)(v._2)(v1._2));
13505
+ }
13506
+ if (v1.tag === "ListComp") {
13507
+ return $1(v, v1._3, v1._2);
13508
+ }
13509
+ return throwException(error("absurd"))();
13510
+ }
13530
13511
  if (v._1.tag === "Lambda") {
13531
13512
  if (v1.tag === "MatchAs") {
13532
13513
  return $Expr2(
@@ -13823,38 +13804,6 @@ var moduleFwd = (dictMonadError) => {
13823
13804
  };
13824
13805
 
13825
13806
  // output-es/Pretty/index.js
13826
- var lookup4 = (k) => {
13827
- const go = (go$a0$copy) => {
13828
- let go$a0 = go$a0$copy, go$c = true, go$r;
13829
- while (go$c) {
13830
- const v = go$a0;
13831
- if (v.tag === "Leaf") {
13832
- go$c = false;
13833
- go$r = Nothing;
13834
- continue;
13835
- }
13836
- if (v.tag === "Node") {
13837
- const v1 = ordString.compare(k)(v._3);
13838
- if (v1 === "LT") {
13839
- go$a0 = v._5;
13840
- continue;
13841
- }
13842
- if (v1 === "GT") {
13843
- go$a0 = v._6;
13844
- continue;
13845
- }
13846
- if (v1 === "EQ") {
13847
- go$c = false;
13848
- go$r = $Maybe("Just", v._4);
13849
- continue;
13850
- }
13851
- }
13852
- fail();
13853
- }
13854
- return go$r;
13855
- };
13856
- return go;
13857
- };
13858
13807
  var lessThanOrEq = (a1) => (a2) => a1 <= a2;
13859
13808
  var lessThan = (a1) => (a2) => a1 < a2;
13860
13809
  var toUnfoldable5 = /* @__PURE__ */ toAscUnfoldable(unfoldableList);
@@ -13880,16 +13829,6 @@ var vcommas = (v) => {
13880
13829
  }
13881
13830
  fail();
13882
13831
  };
13883
- var getPrec = (x) => {
13884
- const v = lookup4(x)(opMap);
13885
- if (v.tag === "Just") {
13886
- return v._1._4;
13887
- }
13888
- if (v.tag === "Nothing") {
13889
- return -1;
13890
- }
13891
- fail();
13892
- };
13893
13832
  var prettyConsArg = (dictRootOp) => (dictIsSimple) => (dictPretty) => (e) => (lhs) => {
13894
13833
  const v = dictRootOp.rootOp(e);
13895
13834
  if (v.tag === "Nothing") {
@@ -13899,7 +13838,25 @@ var prettyConsArg = (dictRootOp) => (dictIsSimple) => (dictPretty) => (e) => (lh
13899
13838
  return $Doc("Concat", $Doc("Text", "("), $Doc("Concat", dictPretty.pretty(e), $Doc("Text", ")")));
13900
13839
  }
13901
13840
  if (v.tag === "Just") {
13902
- if ((lhs ? lessThanOrEq : lessThan)(getPrec(v._1))(getPrec(":"))) {
13841
+ if ((lhs ? lessThanOrEq : lessThan)((() => {
13842
+ const v$1 = lookup4(v._1)(opPrecs);
13843
+ if (v$1.tag === "Just") {
13844
+ return v$1._1;
13845
+ }
13846
+ if (v$1.tag === "Nothing") {
13847
+ return -1;
13848
+ }
13849
+ fail();
13850
+ })())((() => {
13851
+ const v$1 = lookup4(":")(opPrecs);
13852
+ if (v$1.tag === "Just") {
13853
+ return v$1._1;
13854
+ }
13855
+ if (v$1.tag === "Nothing") {
13856
+ return -1;
13857
+ }
13858
+ fail();
13859
+ })())) {
13903
13860
  return $Doc("Concat", $Doc("Text", "("), $Doc("Concat", dictPretty.pretty(e), $Doc("Text", ")")));
13904
13861
  }
13905
13862
  return dictPretty.pretty(e);
@@ -14166,7 +14123,7 @@ var prettyVarDef = (dictAnn) => ({
14166
14123
  "Concat",
14167
14124
  prettyPattern.pretty(v._1),
14168
14125
  (() => {
14169
- const $0 = prettyExpr1(dictAnn).pretty(v._2);
14126
+ const $0 = prettyExpr(dictAnn).pretty(v._2);
14170
14127
  return $Doc(
14171
14128
  "StmtOrExpr",
14172
14129
  $Doc(
@@ -14206,7 +14163,7 @@ var prettyPattern$x215Expr = (dictAnn) => ({
14206
14163
  "Concat",
14207
14164
  prettyPattern.pretty(v._1),
14208
14165
  (() => {
14209
- const $0 = prettyExpr1(dictAnn).pretty(v._2);
14166
+ const $0 = prettyExpr(dictAnn).pretty(v._2);
14210
14167
  return $Doc(
14211
14168
  "StmtOrExpr",
14212
14169
  $Doc(
@@ -14235,7 +14192,7 @@ var prettyParagraphElem = (dictAnn) => ({
14235
14192
  return $Doc("Text", v._1);
14236
14193
  }
14237
14194
  if (v.tag === "Unquote") {
14238
- return $Doc("Concat", $Doc("Text", "{"), $Doc("Concat", prettyExpr1(dictAnn).pretty(v._1), $Doc("Text", "}")));
14195
+ return $Doc("Concat", $Doc("Text", "{"), $Doc("Concat", prettyExpr(dictAnn).pretty(v._1), $Doc("Text", "}")));
14239
14196
  }
14240
14197
  fail();
14241
14198
  }
@@ -14265,13 +14222,13 @@ var prettyListQualifier = (dictAnn) => ({
14265
14222
  $Doc(
14266
14223
  "Concat",
14267
14224
  prettyPattern.pretty(v._1._1._1),
14268
- $Doc("Concat", $Doc("Text", ":"), $Doc("Concat", $Doc("Text", " "), prettyExpr1(dictAnn).pretty(v._1._1._2)))
14225
+ $Doc("Concat", $Doc("Text", ":"), $Doc("Concat", $Doc("Text", " "), prettyExpr(dictAnn).pretty(v._1._1._2)))
14269
14226
  )
14270
14227
  )
14271
14228
  );
14272
14229
  }
14273
14230
  if (v._1.tag === "ListCompGuard") {
14274
- return $Doc("Concat", $Doc("Text", "if"), $Doc("Concat", $Doc("Text", " "), prettyExpr1(dictAnn).pretty(v._1._1)));
14231
+ return $Doc("Concat", $Doc("Text", "if"), $Doc("Concat", $Doc("Text", " "), prettyExpr(dictAnn).pretty(v._1._1)));
14275
14232
  }
14276
14233
  if (v._1.tag === "ListCompGen") {
14277
14234
  return $Doc(
@@ -14286,7 +14243,7 @@ var prettyListQualifier = (dictAnn) => ({
14286
14243
  $Doc(
14287
14244
  "Concat",
14288
14245
  $Doc("Text", " "),
14289
- $Doc("Concat", $Doc("Text", "in"), $Doc("Concat", $Doc("Text", " "), prettyExpr1(dictAnn).pretty(v._1._2)))
14246
+ $Doc("Concat", $Doc("Text", "in"), $Doc("Concat", $Doc("Text", " "), prettyExpr(dictAnn).pretty(v._1._2)))
14290
14247
  )
14291
14248
  )
14292
14249
  )
@@ -14308,13 +14265,16 @@ var prettyListParagraphElem = (dictAnn) => ({
14308
14265
  $Doc("Concat", hsep(listMap(prettyParagraphElem(dictAnn).pretty)(xs)), $Doc("Text", '"""'))
14309
14266
  )
14310
14267
  });
14311
- var prettyExpr1 = (dictAnn) => {
14268
+ var prettyExpr = (dictAnn) => {
14312
14269
  const $0 = dictAnn.Highlightable0();
14313
14270
  const isSimpleExpr2 = {
14314
14271
  isSimple: (v) => {
14315
14272
  if (v.tag === "BinaryApp") {
14316
14273
  return false;
14317
14274
  }
14275
+ if (v.tag === "UnaryPrefixApp") {
14276
+ return false;
14277
+ }
14318
14278
  if (v.tag === "Constr") {
14319
14279
  return v._2 !== ":";
14320
14280
  }
@@ -14344,6 +14304,9 @@ var prettyExpr1 = (dictAnn) => {
14344
14304
  if (v.tag === "BinaryApp") {
14345
14305
  return $Maybe("Just", v._2);
14346
14306
  }
14307
+ if (v.tag === "UnaryPrefixApp") {
14308
+ return $Maybe("Just", v._1);
14309
+ }
14347
14310
  return Nothing;
14348
14311
  }
14349
14312
  })(isSimpleExpr2);
@@ -14372,7 +14335,7 @@ var prettyExpr1 = (dictAnn) => {
14372
14335
  if (v._3.tag === "Nil") {
14373
14336
  return $0.highlightIf(v._1)($Doc("Text", v._2));
14374
14337
  }
14375
- return $0.highlightIf(v._1)(expr(prettyConstr2(prettyExpr1(dictAnn))(v._2)(v._3)));
14338
+ return $0.highlightIf(v._1)(expr(prettyConstr2(prettyExpr(dictAnn))(v._2)(v._3)));
14376
14339
  }
14377
14340
  if (v.tag === "Dictionary") {
14378
14341
  if (v._2.tag === "Nil") {
@@ -14384,7 +14347,7 @@ var prettyExpr1 = (dictAnn) => {
14384
14347
  return $0.highlightIf(v._1)(expr((() => {
14385
14348
  const $1 = $Doc(
14386
14349
  "Concat",
14387
- prettyExpr1(dictAnn).pretty(v._2),
14350
+ prettyExpr(dictAnn).pretty(v._2),
14388
14351
  $Doc(
14389
14352
  "Concat",
14390
14353
  $Doc("Text", " "),
@@ -14412,7 +14375,7 @@ var prettyExpr1 = (dictAnn) => {
14412
14375
  $Doc(
14413
14376
  "Concat",
14414
14377
  $Doc("Text", " "),
14415
- $Doc("Concat", $Doc("Text", "in"), $Doc("Concat", $Doc("Text", " "), prettyExpr1(dictAnn).pretty(v._4)))
14378
+ $Doc("Concat", $Doc("Text", "in"), $Doc("Concat", $Doc("Text", " "), prettyExpr(dictAnn).pretty(v._4)))
14416
14379
  )
14417
14380
  )
14418
14381
  )
@@ -14437,7 +14400,7 @@ var prettyExpr1 = (dictAnn) => {
14437
14400
  return expr($Doc(
14438
14401
  "Concat",
14439
14402
  (() => {
14440
- const $1 = prettyExpr1(dictAnn);
14403
+ const $1 = prettyExpr(dictAnn);
14441
14404
  if (isSimpleExpr2.isSimple(v._1)) {
14442
14405
  return $1.pretty(v._1);
14443
14406
  }
@@ -14450,20 +14413,23 @@ var prettyExpr1 = (dictAnn) => {
14450
14413
  return expr($Doc(
14451
14414
  "Concat",
14452
14415
  (() => {
14453
- const $1 = prettyExpr1(dictAnn);
14416
+ const $1 = prettyExpr(dictAnn);
14454
14417
  if (isSimpleExpr2.isSimple(v._1)) {
14455
14418
  return $1.pretty(v._1);
14456
14419
  }
14457
14420
  return $Doc("Concat", $Doc("Text", "("), $Doc("Concat", $1.pretty(v._1), $Doc("Text", ")")));
14458
14421
  })(),
14459
- $Doc("Concat", $Doc("Text", "["), $Doc("Concat", expr(prettyExpr1(dictAnn).pretty(v._2)), $Doc("Text", "]")))
14422
+ $Doc("Concat", $Doc("Text", "["), $Doc("Concat", expr(prettyExpr(dictAnn).pretty(v._2)), $Doc("Text", "]")))
14460
14423
  ));
14461
14424
  }
14462
14425
  if (v.tag === "App") {
14463
14426
  return expr(prettyAppChain(dictAnn)($Expr2("App", v._1, v._2))(Nil));
14464
14427
  }
14465
14428
  if (v.tag === "BinaryApp") {
14466
- return expr(binaryApp(dictAnn)(0)($Expr2("BinaryApp", v._1, v._2, v._3)));
14429
+ return expr(operatorApp(dictAnn)(0)($Expr2("BinaryApp", v._1, v._2, v._3)));
14430
+ }
14431
+ if (v.tag === "UnaryPrefixApp") {
14432
+ return expr(operatorApp(dictAnn)(0)($Expr2("UnaryPrefixApp", v._1, v._2)));
14467
14433
  }
14468
14434
  if (v.tag === "MatchAs") {
14469
14435
  return $Doc(
@@ -14474,7 +14440,7 @@ var prettyExpr1 = (dictAnn) => {
14474
14440
  $Doc("Text", " "),
14475
14441
  $Doc(
14476
14442
  "Concat",
14477
- prettyExpr1(dictAnn).pretty(v._1),
14443
+ prettyExpr(dictAnn).pretty(v._1),
14478
14444
  (() => {
14479
14445
  const $1 = prettyNonEmptyListPattern(dictAnn).pretty(v._2);
14480
14446
  return $Doc(
@@ -14508,9 +14474,9 @@ var prettyExpr1 = (dictAnn) => {
14508
14474
  $Doc("Text", " "),
14509
14475
  $Doc(
14510
14476
  "Concat",
14511
- expr(prettyExpr1(dictAnn).pretty(v1._1)),
14477
+ expr(prettyExpr(dictAnn).pretty(v1._1)),
14512
14478
  (() => {
14513
- const $1 = prettyExpr1(dictAnn).pretty(v1._2);
14479
+ const $1 = prettyExpr(dictAnn).pretty(v1._2);
14514
14480
  return $Doc(
14515
14481
  "StmtOrExpr",
14516
14482
  $Doc(
@@ -14542,7 +14508,7 @@ var prettyExpr1 = (dictAnn) => {
14542
14508
  "Concat",
14543
14509
  $Doc("Text", "else"),
14544
14510
  (() => {
14545
- const $1 = prettyExpr1(dictAnn).pretty(v._2);
14511
+ const $1 = prettyExpr(dictAnn).pretty(v._2);
14546
14512
  return $Doc(
14547
14513
  "StmtOrExpr",
14548
14514
  $Doc(
@@ -14576,7 +14542,7 @@ var prettyExpr1 = (dictAnn) => {
14576
14542
  $0.highlightIf(v1._1)($Doc("Text", ",")),
14577
14543
  $Doc(
14578
14544
  "Concat",
14579
- v2 ? $Doc("Concat", $Doc("Text", " "), prettyExpr1(dictAnn).pretty(v1._2)) : $Doc("Indent", $Doc("Concat", Line, prettyExpr1(dictAnn).pretty(v1._2))),
14545
+ v2 ? $Doc("Concat", $Doc("Text", " "), prettyExpr(dictAnn).pretty(v1._2)) : $Doc("Indent", $Doc("Concat", Line, prettyExpr(dictAnn).pretty(v1._2))),
14580
14546
  collect(v1._3)(v2)
14581
14547
  )
14582
14548
  );
@@ -14594,8 +14560,8 @@ var prettyExpr1 = (dictAnn) => {
14594
14560
  $0.highlightIf(v._1)($Doc("Text", "[")),
14595
14561
  $Doc(
14596
14562
  "InlOrMul",
14597
- $Doc("Concat", prettyExpr1(dictAnn).pretty(v._2), collect(v._3)(true)),
14598
- $Doc("Concat", $Doc("Indent", $Doc("Concat", Line, prettyExpr1(dictAnn).pretty(v._2))), collect(v._3)(false))
14563
+ $Doc("Concat", prettyExpr(dictAnn).pretty(v._2), collect(v._3)(true)),
14564
+ $Doc("Concat", $Doc("Indent", $Doc("Concat", Line, prettyExpr(dictAnn).pretty(v._2))), collect(v._3)(false))
14599
14565
  )
14600
14566
  );
14601
14567
  }
@@ -14607,11 +14573,11 @@ var prettyExpr1 = (dictAnn) => {
14607
14573
  "Concat",
14608
14574
  expr($Doc(
14609
14575
  "Concat",
14610
- prettyExpr1(dictAnn).pretty(v._1),
14576
+ prettyExpr(dictAnn).pretty(v._1),
14611
14577
  $Doc(
14612
14578
  "Concat",
14613
14579
  $Doc("Text", " "),
14614
- $Doc("Concat", $Doc("Text", ".."), $Doc("Concat", $Doc("Text", " "), prettyExpr1(dictAnn).pretty(v._2)))
14580
+ $Doc("Concat", $Doc("Text", ".."), $Doc("Concat", $Doc("Text", " "), prettyExpr(dictAnn).pretty(v._2)))
14615
14581
  )
14616
14582
  )),
14617
14583
  $Doc("Text", "]")
@@ -14626,7 +14592,7 @@ var prettyExpr1 = (dictAnn) => {
14626
14592
  "Concat",
14627
14593
  $Doc(
14628
14594
  "Concat",
14629
- expr(prettyExpr1(dictAnn).pretty(v._2)),
14595
+ expr(prettyExpr(dictAnn).pretty(v._2)),
14630
14596
  $Doc("Concat", $Doc("Text", " "), prettyListQualifier(dictAnn).pretty(v._3))
14631
14597
  ),
14632
14598
  $Doc("Text", "]")
@@ -14640,7 +14606,7 @@ var prettyExpr1 = (dictAnn) => {
14640
14606
  $Doc(
14641
14607
  "Concat",
14642
14608
  $Doc("StmtOrExpr", $Doc("Concat", Line, Line), $Doc("Text", " ")),
14643
- prettyExpr1(dictAnn).pretty(v._2)
14609
+ prettyExpr(dictAnn).pretty(v._2)
14644
14610
  )
14645
14611
  );
14646
14612
  }
@@ -14651,7 +14617,7 @@ var prettyExpr1 = (dictAnn) => {
14651
14617
  $Doc(
14652
14618
  "Concat",
14653
14619
  $Doc("StmtOrExpr", $Doc("Concat", Line, Line), $Doc("Text", " ")),
14654
- prettyExpr1(dictAnn).pretty(v._2)
14620
+ prettyExpr(dictAnn).pretty(v._2)
14655
14621
  )
14656
14622
  );
14657
14623
  }
@@ -14663,8 +14629,8 @@ var prettyExpr1 = (dictAnn) => {
14663
14629
  "Concat",
14664
14630
  $Doc("Text", "@doc"),
14665
14631
  (() => {
14666
- const $1 = prettyExpr1(dictAnn).pretty(v._1);
14667
- const $2 = prettyExpr1(dictAnn).pretty(v._2);
14632
+ const $1 = prettyExpr(dictAnn).pretty(v._1);
14633
+ const $2 = prettyExpr(dictAnn).pretty(v._2);
14668
14634
  return $Doc(
14669
14635
  "InlOrMul",
14670
14636
  $Doc(
@@ -14691,15 +14657,15 @@ var prettyDictEntry$x215Expr = (dictAnn) => ({
14691
14657
  prettyDictEntry(dictAnn).pretty(v._1),
14692
14658
  stmt($Doc(
14693
14659
  "InlOrMul",
14694
- $Doc("Concat", $Doc("Text", ":"), $Doc("Concat", $Doc("Text", " "), prettyExpr1(dictAnn).pretty(v._2))),
14695
- $Doc("Concat", $Doc("Text", ":"), $Doc("Indent", $Doc("Concat", Line, prettyExpr1(dictAnn).pretty(v._2))))
14660
+ $Doc("Concat", $Doc("Text", ":"), $Doc("Concat", $Doc("Text", " "), prettyExpr(dictAnn).pretty(v._2))),
14661
+ $Doc("Concat", $Doc("Text", ":"), $Doc("Indent", $Doc("Concat", Line, prettyExpr(dictAnn).pretty(v._2))))
14696
14662
  ))
14697
14663
  )
14698
14664
  });
14699
14665
  var prettyDictEntry = (dictAnn) => ({
14700
14666
  pretty: (v) => {
14701
14667
  if (v.tag === "ExprKey") {
14702
- return $Doc("Concat", $Doc("Text", "["), $Doc("Concat", prettyExpr1(dictAnn).pretty(v._1), $Doc("Text", "]")));
14668
+ return $Doc("Concat", $Doc("Text", "["), $Doc("Concat", prettyExpr(dictAnn).pretty(v._1), $Doc("Text", "]")));
14703
14669
  }
14704
14670
  if (v.tag === "VarKey") {
14705
14671
  return dictAnn.Highlightable0().highlightIf(v._1)($Doc("Text", v._2));
@@ -14727,7 +14693,7 @@ var prettyBranch = (dictAnn) => ({
14727
14693
  $Doc("Concat", prettyList5($List("Cons", v._2._1._1, v._2._1._2)), $Doc("Text", ")"))
14728
14694
  ),
14729
14695
  (() => {
14730
- const $0 = prettyExpr1(dictAnn).pretty(v._2._2);
14696
+ const $0 = prettyExpr(dictAnn).pretty(v._2._2);
14731
14697
  return $Doc(
14732
14698
  "StmtOrExpr",
14733
14699
  $Doc(
@@ -14758,11 +14724,14 @@ var prettyAppChain = (dictAnn) => (v) => (v1) => {
14758
14724
  return $Doc(
14759
14725
  "Concat",
14760
14726
  (() => {
14761
- const $0 = prettyExpr1(dictAnn);
14727
+ const $0 = prettyExpr(dictAnn);
14762
14728
  if ((() => {
14763
14729
  if (v.tag === "BinaryApp") {
14764
14730
  return false;
14765
14731
  }
14732
+ if (v.tag === "UnaryPrefixApp") {
14733
+ return false;
14734
+ }
14766
14735
  if (v.tag === "Constr") {
14767
14736
  return v._2 !== ":";
14768
14737
  }
@@ -14784,30 +14753,35 @@ var prettyAppChain = (dictAnn) => (v) => (v1) => {
14784
14753
  }
14785
14754
  return $Doc("Concat", $Doc("Text", "("), $Doc("Concat", $0.pretty(v), $Doc("Text", ")")));
14786
14755
  })(),
14787
- $Doc("Concat", $Doc("Text", "("), $Doc("Concat", prettyList1(prettyExpr1(dictAnn))(v1), $Doc("Text", ")")))
14756
+ $Doc("Concat", $Doc("Text", "("), $Doc("Concat", prettyList1(prettyExpr(dictAnn))(v1), $Doc("Text", ")")))
14788
14757
  );
14789
14758
  };
14790
- var lambda = (dictAnn) => (ps) => (e) => $Doc(
14791
- "Concat",
14792
- $Doc("Text", "lambda"),
14793
- $Doc(
14794
- "Concat",
14795
- $Doc("Text", " "),
14796
- $Doc(
14797
- "Concat",
14798
- prettyList5(ps),
14799
- $Doc("Concat", $Doc("Text", ":"), $Doc("Concat", $Doc("Text", " "), prettyExpr1(dictAnn).pretty(e)))
14800
- )
14801
- )
14802
- );
14803
- var binaryApp = (dictAnn) => (v) => (v1) => {
14759
+ var operatorApp = (dictAnn) => (v) => (v1) => {
14804
14760
  if (v1.tag === "BinaryApp") {
14805
- const v2 = getPrec(v1._2);
14761
+ const v$1 = lookup4(v1._2)(opPrecs);
14762
+ const v2 = (() => {
14763
+ if (v$1.tag === "Just") {
14764
+ return v$1._1;
14765
+ }
14766
+ if (v$1.tag === "Nothing") {
14767
+ return -1;
14768
+ }
14769
+ fail();
14770
+ })();
14806
14771
  if (v2 === -1) {
14807
- const customPrec = getPrec("|x|");
14772
+ const v$2 = lookup4("|x|")(opPrecs);
14773
+ const customPrec = (() => {
14774
+ if (v$2.tag === "Just") {
14775
+ return v$2._1;
14776
+ }
14777
+ if (v$2.tag === "Nothing") {
14778
+ return -1;
14779
+ }
14780
+ fail();
14781
+ })();
14808
14782
  return $Doc(
14809
14783
  "Concat",
14810
- binaryApp(dictAnn)(customPrec)(v1._1),
14784
+ operatorApp(dictAnn)(customPrec)(v1._1),
14811
14785
  $Doc(
14812
14786
  "Concat",
14813
14787
  $Doc("Text", " "),
@@ -14817,7 +14791,7 @@ var binaryApp = (dictAnn) => (v) => (v1) => {
14817
14791
  $Doc(
14818
14792
  "Concat",
14819
14793
  $Doc("Text", v1._2),
14820
- $Doc("Concat", $Doc("Text", "|"), $Doc("Concat", $Doc("Text", " "), binaryApp(dictAnn)(customPrec)(v1._3)))
14794
+ $Doc("Concat", $Doc("Text", "|"), $Doc("Concat", $Doc("Text", " "), operatorApp(dictAnn)(customPrec)(v1._3)))
14821
14795
  )
14822
14796
  )
14823
14797
  )
@@ -14831,11 +14805,11 @@ var binaryApp = (dictAnn) => (v) => (v1) => {
14831
14805
  "Concat",
14832
14806
  $Doc(
14833
14807
  "Concat",
14834
- binaryApp(dictAnn)(v2)(v1._1),
14808
+ operatorApp(dictAnn)(v2)(v1._1),
14835
14809
  $Doc(
14836
14810
  "Concat",
14837
14811
  $Doc("Text", " "),
14838
- $Doc("Concat", $Doc("Text", v1._2), $Doc("Concat", $Doc("Text", " "), binaryApp(dictAnn)(v2)(v1._3)))
14812
+ $Doc("Concat", $Doc("Text", v1._2), $Doc("Concat", $Doc("Text", " "), operatorApp(dictAnn)(v2)(v1._3)))
14839
14813
  )
14840
14814
  ),
14841
14815
  $Doc("Text", ")")
@@ -14844,19 +14818,49 @@ var binaryApp = (dictAnn) => (v) => (v1) => {
14844
14818
  }
14845
14819
  return $Doc(
14846
14820
  "Concat",
14847
- binaryApp(dictAnn)(v2)(v1._1),
14821
+ operatorApp(dictAnn)(v2)(v1._1),
14848
14822
  $Doc(
14849
14823
  "Concat",
14850
14824
  $Doc("Text", " "),
14851
- $Doc("Concat", $Doc("Text", v1._2), $Doc("Concat", $Doc("Text", " "), binaryApp(dictAnn)(v2)(v1._3)))
14825
+ $Doc("Concat", $Doc("Text", v1._2), $Doc("Concat", $Doc("Text", " "), operatorApp(dictAnn)(v2)(v1._3)))
14852
14826
  )
14853
14827
  );
14854
14828
  }
14855
- const $0 = prettyExpr1(dictAnn);
14829
+ if (v1.tag === "UnaryPrefixApp") {
14830
+ const v$1 = lookup4(v1._1)(opPrecs);
14831
+ const v2 = (() => {
14832
+ if (v$1.tag === "Just") {
14833
+ return v$1._1;
14834
+ }
14835
+ if (v$1.tag === "Nothing") {
14836
+ return -1;
14837
+ }
14838
+ fail();
14839
+ })();
14840
+ if (v2 === -1) {
14841
+ return throwException(error("not implemented!"))();
14842
+ }
14843
+ if (v2 <= v) {
14844
+ return $Doc(
14845
+ "Concat",
14846
+ $Doc("Text", "("),
14847
+ $Doc(
14848
+ "Concat",
14849
+ $Doc("Concat", $Doc("Text", v1._1), $Doc("Concat", $Doc("Text", " "), operatorApp(dictAnn)(v2)(v1._2))),
14850
+ $Doc("Text", ")")
14851
+ )
14852
+ );
14853
+ }
14854
+ return $Doc("Concat", $Doc("Text", v1._1), $Doc("Concat", $Doc("Text", " "), operatorApp(dictAnn)(v2)(v1._2)));
14855
+ }
14856
+ const $0 = prettyExpr(dictAnn);
14856
14857
  if ((() => {
14857
14858
  if (v1.tag === "BinaryApp") {
14858
14859
  return false;
14859
14860
  }
14861
+ if (v1.tag === "UnaryPrefixApp") {
14862
+ return false;
14863
+ }
14860
14864
  if (v1.tag === "Constr") {
14861
14865
  return v1._2 !== ":";
14862
14866
  }
@@ -14878,9 +14882,22 @@ var binaryApp = (dictAnn) => (v) => (v1) => {
14878
14882
  }
14879
14883
  return $Doc("Concat", $Doc("Text", "("), $Doc("Concat", $0.pretty(v1), $Doc("Text", ")")));
14880
14884
  };
14885
+ var lambda = (dictAnn) => (ps) => (e) => $Doc(
14886
+ "Concat",
14887
+ $Doc("Text", "lambda"),
14888
+ $Doc(
14889
+ "Concat",
14890
+ $Doc("Text", " "),
14891
+ $Doc(
14892
+ "Concat",
14893
+ prettyList5(ps),
14894
+ $Doc("Concat", $Doc("Text", ":"), $Doc("Concat", $Doc("Text", " "), prettyExpr(dictAnn).pretty(e)))
14895
+ )
14896
+ )
14897
+ );
14881
14898
 
14882
14899
  // output-es/Data.Profunctor.Choice/index.js
14883
- var identity20 = (x) => x;
14900
+ var identity19 = (x) => x;
14884
14901
  var fanin = (dictCategory) => {
14885
14902
  const identity1 = dictCategory.identity;
14886
14903
  const $0 = dictCategory.Semigroupoid0();
@@ -14893,7 +14910,7 @@ var fanin = (dictCategory) => {
14893
14910
  return v2._1;
14894
14911
  }
14895
14912
  fail();
14896
- })(identity20)(identity1))($1.compose(dictChoice.right(r))(dictChoice.left(l)));
14913
+ })(identity19)(identity1))($1.compose(dictChoice.right(r))(dictChoice.left(l)));
14897
14914
  };
14898
14915
  var choiceFn = /* @__PURE__ */ (() => ({
14899
14916
  left: (v) => (v1) => {
@@ -14920,7 +14937,7 @@ var unions4 = /* @__PURE__ */ unions(foldableArray)(ordDVertex$p);
14920
14937
  var vertices = /* @__PURE__ */ (() => verticesDict(verticesElimVertex).vertices)();
14921
14938
  var unions13 = /* @__PURE__ */ unions(foldableList)(ordDVertex$p);
14922
14939
  var foldMap2 = /* @__PURE__ */ foldMap(/* @__PURE__ */ monoidSet(ordDVertex$p));
14923
- var identity21 = (x) => x;
14940
+ var identity20 = (x) => x;
14924
14941
  var boundedLattice = { BoundedJoinSemilattice0: () => boundedJoinSemilatticeUni, BoundedMeetSemilattice1: () => boundedMeetSemilatticeUni };
14925
14942
  var setSet1 = /* @__PURE__ */ setSet(ordString);
14926
14943
  var toUnfoldable13 = (x) => {
@@ -15128,7 +15145,7 @@ var mapEnvStringVal = {
15128
15145
  var highlightableVertex = {
15129
15146
  highlightIf: (v) => (doc) => $Doc("Concat", doc, $Doc("Concat", $Doc("Text", "_"), $Doc("Text", "\u27E8" + v + "\u27E9")))
15130
15147
  };
15131
- var highlightableUnit = { highlightIf: (v) => identity21 };
15148
+ var highlightableUnit = { highlightIf: (v) => identity20 };
15132
15149
  var functorMatrixDim = { map: (f) => (m) => $Tuple(m._1, f(m._2)) };
15133
15150
  var functorVal = {
15134
15151
  map: (f) => (m) => $Val(
@@ -15194,7 +15211,7 @@ var functorBaseVal = {
15194
15211
  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) };
15195
15212
  var traversableMatrixDim = {
15196
15213
  traverse: (dictApplicative) => (f) => (m) => dictApplicative.Apply0().Functor0().map((v1) => v1)(traversableTuple.traverse(dictApplicative)(f)(m)),
15197
- sequence: (dictApplicative) => (v) => traversableMatrixDim.traverse(dictApplicative)(identity21)(v),
15214
+ sequence: (dictApplicative) => (v) => traversableMatrixDim.traverse(dictApplicative)(identity20)(v),
15198
15215
  Functor0: () => functorMatrixDim,
15199
15216
  Foldable1: () => foldableMatrixDim
15200
15217
  };
@@ -15441,7 +15458,7 @@ var traversableVal = {
15441
15458
  const Apply0 = dictApplicative.Apply0();
15442
15459
  return (f) => (m) => Apply0.apply(Apply0.apply(Apply0.Functor0().map((v3) => (v4) => (v5) => $Val(v3, v4, v5))(f(m._1)))(traversableMaybe.traverse(dictApplicative)(traversableVal.traverse(dictApplicative)(f))(m._2)))(traversableBaseVal.traverse(dictApplicative)(f)(m._3));
15443
15460
  },
15444
- sequence: (dictApplicative) => (v) => traversableVal.traverse(dictApplicative)(identity21)(v),
15461
+ sequence: (dictApplicative) => (v) => traversableVal.traverse(dictApplicative)(identity20)(v),
15445
15462
  Functor0: () => functorVal,
15446
15463
  Foldable1: () => foldableVal
15447
15464
  };
@@ -15477,7 +15494,7 @@ var traversableFun = {
15477
15494
  fail();
15478
15495
  };
15479
15496
  },
15480
- sequence: (dictApplicative) => (v) => traversableFun.traverse(dictApplicative)(identity21)(v),
15497
+ sequence: (dictApplicative) => (v) => traversableFun.traverse(dictApplicative)(identity20)(v),
15481
15498
  Functor0: () => functorFun,
15482
15499
  Foldable1: () => foldableFun
15483
15500
  };
@@ -15486,7 +15503,7 @@ var traversableEnv = {
15486
15503
  const traverse9 = traversableDict.traverse(dictApplicative);
15487
15504
  return (f) => (m) => dictApplicative.Apply0().Functor0().map((v1) => v1)(traverse9(traversableVal.traverse(dictApplicative)(f))(m));
15488
15505
  },
15489
- sequence: (dictApplicative) => (v) => traversableEnv.traverse(dictApplicative)(identity21)(v),
15506
+ sequence: (dictApplicative) => (v) => traversableEnv.traverse(dictApplicative)(identity20)(v),
15490
15507
  Functor0: () => functorEnv,
15491
15508
  Foldable1: () => foldableEnv
15492
15509
  };
@@ -15530,7 +15547,7 @@ var traversableBaseVal = {
15530
15547
  fail();
15531
15548
  };
15532
15549
  },
15533
- sequence: (dictApplicative) => (v) => traversableBaseVal.traverse(dictApplicative)(identity21)(v),
15550
+ sequence: (dictApplicative) => (v) => traversableBaseVal.traverse(dictApplicative)(identity20)(v),
15534
15551
  Functor0: () => functorBaseVal,
15535
15552
  Foldable1: () => foldableBaseVal
15536
15553
  };
@@ -17641,11 +17658,6 @@ function nullable(a, r, f) {
17641
17658
  return a == null ? r : f(a);
17642
17659
  }
17643
17660
 
17644
- // output-es/Foreign/foreign.js
17645
- var isArray = Array.isArray || function(value) {
17646
- return Object.prototype.toString.call(value) === "[object Array]";
17647
- };
17648
-
17649
17661
  // output-es/File/index.js
17650
17662
  var Folder = (x) => x;
17651
17663
  var show4 = /* @__PURE__ */ showArrayImpl(showStringImpl);
@@ -18421,7 +18433,7 @@ var align = (p) => (state1, more, lift12, $$throw2, done) => more((v2) => more((
18421
18433
  )));
18422
18434
 
18423
18435
  // output-es/Parse.Number/index.js
18424
- var identity23 = (x) => x;
18436
+ var identity22 = (x) => x;
18425
18437
  var sign2 = (dictRing) => {
18426
18438
  const $0 = withErrorMessage(satisfy((v) => v === "-"))("'-'");
18427
18439
  const zero = dictRing.Semiring0().zero;
@@ -18451,10 +18463,10 @@ var sign2 = (dictRing) => {
18451
18463
  if ($13) {
18452
18464
  return $4(v4$1, $12);
18453
18465
  }
18454
- return $5(v2, identity23);
18466
+ return $5(v2, identity22);
18455
18467
  });
18456
18468
  },
18457
- (state2, a) => $2((v2$1) => $5(state2, identity23))
18469
+ (state2, a) => $2((v2$1) => $5(state2, identity22))
18458
18470
  )));
18459
18471
  });
18460
18472
  },
@@ -18682,7 +18694,7 @@ var floating = /* @__PURE__ */ (() => {
18682
18694
  const $1 = (state2, a) => more((v2) => {
18683
18695
  const $12 = (() => {
18684
18696
  if (a.tag === "Nothing") {
18685
- return identity23;
18697
+ return identity22;
18686
18698
  }
18687
18699
  if (a.tag === "Just") {
18688
18700
  return a._1;
@@ -19074,61 +19086,6 @@ var pattern$lazy = /* @__PURE__ */ binding(() => lazyParserT.defer((v) => foldlA
19074
19086
  [$Operator("Infix", pConsOp, AssocRight)]
19075
19087
  ])));
19076
19088
  var pattern = /* @__PURE__ */ pattern$lazy();
19077
- var infixSymbol = (op) => (state1, more, lift12, $$throw2, done) => more((v1) => reservedOperator(op)(
19078
- state1,
19079
- more,
19080
- lift12,
19081
- $$throw2,
19082
- (state2, a) => more((v2) => done(state1._3 && !state2._3 ? $ParseState(state2._1, state2._2, true) : state2, (e) => (e$p) => $Expr2("BinaryApp", e, op, e$p)))
19083
- ));
19084
- var infixIdent = (op) => {
19085
- const $0 = reserved(op);
19086
- return (state1, more, lift12, $$throw2, done) => more((v1) => $0(
19087
- state1,
19088
- more,
19089
- lift12,
19090
- $$throw2,
19091
- (state2, a) => more((v2) => done(state1._3 && !state2._3 ? $ParseState(state2._1, state2._2, true) : state2, (e) => (e$p) => $Expr2("BinaryApp", e, op, e$p)))
19092
- ));
19093
- };
19094
- var infixCustom = /* @__PURE__ */ (() => {
19095
- const $0 = delim(parseableChar)("|");
19096
- return (state1, more, lift12, $$throw2, done) => more((v1) => {
19097
- const $1 = state1._3;
19098
- return more((v2) => more((v1$1) => $0(
19099
- state1,
19100
- more,
19101
- lift12,
19102
- (v2$1, $2) => $$throw2($ParseState(v2$1._1, v2$1._2, $1), $2),
19103
- (state2, a) => more((v2$1) => more((v3) => {
19104
- const state2$p = state1._3 && !state2._3 ? $ParseState(state2._1, state2._2, true) : state2;
19105
- return variable(
19106
- state2$p,
19107
- more,
19108
- lift12,
19109
- (v2$2, $2) => $$throw2($ParseState(v2$2._1, v2$2._2, $1), $2),
19110
- (state3, a$1) => more((v4) => {
19111
- const $2 = state2$p._3 && !state3._3 ? $ParseState(state3._1, state3._2, true) : state3;
19112
- return more((v2$2) => {
19113
- const $3 = delim(parseableChar)("|");
19114
- const $4 = state1._3 && !$2._3 ? $ParseState($2._1, $2._2, true) : $2;
19115
- return more((v1$2) => $3(
19116
- $4,
19117
- more,
19118
- lift12,
19119
- $$throw2,
19120
- (state2$1, a$2) => more((v2$3) => done(
19121
- $4._3 && !state2$1._3 ? $ParseState(state2$1._1, state2$1._2, true) : state2$1,
19122
- (e) => (e$p) => $Expr2("BinaryApp", e, a$1, e$p)
19123
- ))
19124
- ));
19125
- });
19126
- })
19127
- );
19128
- }))
19129
- )));
19130
- });
19131
- })();
19132
19089
  var imports_ = /* @__PURE__ */ manyRec2(/* @__PURE__ */ (() => {
19133
19090
  const $0 = reserved("import");
19134
19091
  const $1 = joinWith("/");
@@ -19181,45 +19138,6 @@ var withImports = (p) => topLevel((state1, more, lift12, $$throw2, done) => more
19181
19138
  ));
19182
19139
  })
19183
19140
  )));
19184
- var consOp = (state1, more, lift12, $$throw2, done) => more((v1) => reservedOperator(":|")(
19185
- state1,
19186
- more,
19187
- lift12,
19188
- $$throw2,
19189
- (state2, a) => more((v2) => done(
19190
- state1._3 && !state2._3 ? $ParseState(state2._1, state2._2, true) : state2,
19191
- (e) => (e$p) => $Expr2("Constr", void 0, ":", $List("Cons", e, $List("Cons", e$p, Nil)))
19192
- ))
19193
- ));
19194
- var opTable = /* @__PURE__ */ arrayMap(/* @__PURE__ */ arrayMap((v) => $Operator(
19195
- "Infix",
19196
- (() => {
19197
- if (v._1 === "Symbol") {
19198
- return infixSymbol(v._2);
19199
- }
19200
- if (v._1 === "Ident") {
19201
- return infixIdent(v._2);
19202
- }
19203
- if (v._1 === "ConsOp") {
19204
- return consOp;
19205
- }
19206
- if (v._1 === "Custom") {
19207
- return infixCustom;
19208
- }
19209
- fail();
19210
- })(),
19211
- v._3
19212
- )))(/* @__PURE__ */ sortBy((x) => (y) => ordInt.compare((() => {
19213
- if (0 < x.length) {
19214
- return -x[0]._4;
19215
- }
19216
- fail();
19217
- })())((() => {
19218
- if (0 < y.length) {
19219
- return -y[0]._4;
19220
- }
19221
- fail();
19222
- })()))(/* @__PURE__ */ groupBy((a) => (b) => a._4 === b._4)(opDefs)));
19223
19141
  var varDefs$lazy = /* @__PURE__ */ binding(() => many1((() => {
19224
19142
  const $0 = reserved("def");
19225
19143
  const $1 = delim(parseableChar)(":");
@@ -20559,7 +20477,129 @@ var expr$lazy = /* @__PURE__ */ binding(() => {
20559
20477
  $$throw2,
20560
20478
  (state2, a) => more((v2) => chain(a)(state1._3 && !state2._3 ? $ParseState(state2._1, state2._2, true) : state2, more, lift12, $$throw2, done))
20561
20479
  ));
20562
- })()))(opTable);
20480
+ })()))(arrayMap(arrayMap((v) => {
20481
+ if (v._3 === "Symbol") {
20482
+ const $02 = (state1, more, lift12, $$throw2, done) => more((v1) => reservedOperator(v._1)(
20483
+ state1,
20484
+ more,
20485
+ lift12,
20486
+ $$throw2,
20487
+ (state2, a) => more((v2) => done(state2, v._1))
20488
+ ));
20489
+ if (v._2.tag === "Infix") {
20490
+ return $Operator(
20491
+ "Infix",
20492
+ (state1, more, lift12, $$throw2, done) => more((v1) => $02(
20493
+ state1,
20494
+ more,
20495
+ lift12,
20496
+ $$throw2,
20497
+ (state2, a) => more((v2) => done(state2, (e) => (e$p) => $Expr2("BinaryApp", e, a, e$p)))
20498
+ )),
20499
+ v._2._1
20500
+ );
20501
+ }
20502
+ if (v._2.tag === "Prefix") {
20503
+ return $Operator(
20504
+ "Prefix",
20505
+ (state1, more, lift12, $$throw2, done) => more((v1) => $02(state1, more, lift12, $$throw2, (state2, a) => more((v2) => done(state2, (e) => $Expr2("UnaryPrefixApp", a, e)))))
20506
+ );
20507
+ }
20508
+ if (v._2.tag === "Postfix") {
20509
+ return throwException(error("not implemented!"))();
20510
+ }
20511
+ fail();
20512
+ }
20513
+ if (v._3 === "Ident") {
20514
+ const $02 = reserved(v._1);
20515
+ const $1 = (state1, more, lift12, $$throw2, done) => more((v1) => $02(state1, more, lift12, $$throw2, (state2, a) => more((v2) => done(state2, v._1))));
20516
+ if (v._2.tag === "Infix") {
20517
+ return $Operator(
20518
+ "Infix",
20519
+ (state1, more, lift12, $$throw2, done) => more((v1) => $1(
20520
+ state1,
20521
+ more,
20522
+ lift12,
20523
+ $$throw2,
20524
+ (state2, a) => more((v2) => done(state2, (e) => (e$p) => $Expr2("BinaryApp", e, a, e$p)))
20525
+ )),
20526
+ v._2._1
20527
+ );
20528
+ }
20529
+ if (v._2.tag === "Prefix") {
20530
+ return $Operator(
20531
+ "Prefix",
20532
+ (state1, more, lift12, $$throw2, done) => more((v1) => $1(state1, more, lift12, $$throw2, (state2, a) => more((v2) => done(state2, (e) => $Expr2("UnaryPrefixApp", a, e)))))
20533
+ );
20534
+ }
20535
+ if (v._2.tag === "Postfix") {
20536
+ return throwException(error("not implemented!"))();
20537
+ }
20538
+ fail();
20539
+ }
20540
+ if (v._3 === "CustomOp") {
20541
+ const $02 = delim(parseableChar)("|");
20542
+ const $1 = delim(parseableChar)("|");
20543
+ return $Operator(
20544
+ "Infix",
20545
+ (state1, more, lift12, $$throw2, done) => more((v1) => more((v2) => more((v1$1) => {
20546
+ const $2 = state1._3;
20547
+ return more((v2$1) => more((v1$2) => $02(
20548
+ state1,
20549
+ more,
20550
+ lift12,
20551
+ (v2$2, $3) => $$throw2($ParseState(v2$2._1, v2$2._2, $2), $3),
20552
+ (state2, a) => more((v2$2) => more((v3) => {
20553
+ const state2$p = state1._3 && !state2._3 ? $ParseState(state2._1, state2._2, true) : state2;
20554
+ return variable(
20555
+ state2$p,
20556
+ more,
20557
+ lift12,
20558
+ (v2$3, $3) => $$throw2($ParseState(v2$3._1, v2$3._2, $2), $3),
20559
+ (state3, a$1) => more((v4) => {
20560
+ const $3 = state2$p._3 && !state3._3 ? $ParseState(state3._1, state3._2, true) : state3;
20561
+ return more((v2$3) => more((v3$1) => {
20562
+ const state2$p$1 = state1._3 && !$3._3 ? $ParseState($3._1, $3._2, true) : $3;
20563
+ return $1(
20564
+ state2$p$1,
20565
+ more,
20566
+ lift12,
20567
+ $$throw2,
20568
+ (state3$1, a$2) => more((v4$1) => {
20569
+ const $4 = state2$p$1._3 && !state3$1._3 ? $ParseState(state3$1._1, state3$1._2, true) : state3$1;
20570
+ return more((v2$4) => done($4, (e) => (e$p) => $Expr2("BinaryApp", e, a$1, e$p)));
20571
+ })
20572
+ );
20573
+ }));
20574
+ })
20575
+ );
20576
+ }))
20577
+ )));
20578
+ }))),
20579
+ AssocLeft
20580
+ );
20581
+ }
20582
+ if (v._3 === "ConsOp") {
20583
+ return $Operator(
20584
+ "Infix",
20585
+ (state1, more, lift12, $$throw2, done) => more((v1) => reservedOperator(":|")(
20586
+ state1,
20587
+ more,
20588
+ lift12,
20589
+ $$throw2,
20590
+ (state2, a) => more((v2) => done(
20591
+ state1._3 && !state2._3 ? $ParseState(state2._1, state2._2, true) : state2,
20592
+ (e) => (e$p) => $Expr2("Constr", void 0, ":", $List("Cons", e, $List("Cons", e$p, Nil)))
20593
+ ))
20594
+ )),
20595
+ AssocRight
20596
+ );
20597
+ }
20598
+ if (v._3 === "ProjectOp") {
20599
+ return throwException(error("not implemented!"))();
20600
+ }
20601
+ fail();
20602
+ }))(opDefs));
20563
20603
  })());
20564
20604
  return (state1, more, lift12, $$throw2, done) => more((v2) => more((v1) => $0(
20565
20605
  state1,
@@ -22137,7 +22177,7 @@ var manyM = (p) => freeMonadRec.tailRecM((acc) => $Free(
22137
22177
  var $DefaultProp = (_1, _2) => ({ tag: "DefaultProp", _1, _2 });
22138
22178
  var $Mod = (_1, _2, _3) => ({ tag: "Mod", _1, _2, _3 });
22139
22179
  var lookup6 = /* @__PURE__ */ lookup(foldableArray)(eqString);
22140
- var identity25 = (x) => x;
22180
+ var identity24 = (x) => x;
22141
22181
  var Mod = (value0) => (value1) => (value2) => $Mod(value0, value1, value2);
22142
22182
  var optionFieldsHasName = { name: (n) => (fields2) => ({ optNames: [n, ...fields2.optNames], optCompleter: fields2.optCompleter, optNoArgError: fields2.optNoArgError }) };
22143
22183
  var mkCommand = (m) => {
@@ -22148,8 +22188,8 @@ var mkCommand = (m) => {
22148
22188
  var modSemigroup = {
22149
22189
  append: (v) => (v1) => $Mod((x) => v1._1(v._1(x)), $DefaultProp(v1._2._1.tag === "Nothing" ? v._2._1 : v1._2._1, v1._2._2.tag === "Nothing" ? v._2._2 : v1._2._2), (x) => v1._3(v._3(x)))
22150
22190
  };
22151
- var modMonoid = { mempty: /* @__PURE__ */ $Mod(identity25, /* @__PURE__ */ $DefaultProp(Nothing, Nothing), identity25), Semigroup0: () => modSemigroup };
22152
- var optionMod = /* @__PURE__ */ Mod(identity25)(/* @__PURE__ */ $DefaultProp(Nothing, Nothing));
22191
+ var modMonoid = { mempty: /* @__PURE__ */ $Mod(identity24, /* @__PURE__ */ $DefaultProp(Nothing, Nothing), identity24), Semigroup0: () => modSemigroup };
22192
+ var optionMod = /* @__PURE__ */ Mod(identity24)(/* @__PURE__ */ $DefaultProp(Nothing, Nothing));
22153
22193
  var internal = /* @__PURE__ */ optionMod((p) => ({ propVisibility: Internal, propDescMod: p.propDescMod, propHelp: p.propHelp, propMetaVar: p.propMetaVar, propShowDefault: p.propShowDefault }));
22154
22194
  var baseProps = {
22155
22195
  propMetaVar: "",
@@ -22191,7 +22231,7 @@ var mkParser = (v) => (g) => (rdr) => {
22191
22231
  };
22192
22232
 
22193
22233
  // output-es/Options.Applicative.Builder/index.js
22194
- var identity26 = (x) => x;
22234
+ var identity25 = (x) => x;
22195
22235
  var fold3 = /* @__PURE__ */ (() => foldableArray.foldMap(modMonoid)(identity3))();
22196
22236
  var progDesc = (s) => (i) => ({
22197
22237
  infoProgDesc: paragraph(s),
@@ -22277,19 +22317,19 @@ var defaultPrefs = {
22277
22317
  var command = (cmd) => (pinfo) => $Mod(
22278
22318
  (p) => ({ cmdCommands: [$Tuple(cmd, pinfo), ...p.cmdCommands], cmdGroup: p.cmdGroup }),
22279
22319
  $DefaultProp(Nothing, Nothing),
22280
- identity25
22320
+ identity24
22281
22321
  );
22282
22322
  var abortOption = (err) => (m) => {
22283
22323
  const $0 = fold3([
22284
22324
  $Mod(
22285
22325
  (p) => ({ optNoArgError: (v) => err, optCompleter: p.optCompleter, optNames: p.optNames }),
22286
22326
  $DefaultProp(Nothing, Nothing),
22287
- identity25
22327
+ identity24
22288
22328
  ),
22289
22329
  $Mod(
22290
- identity26,
22291
- $DefaultProp($Maybe("Just", identity26), Nothing),
22292
- identity26
22330
+ identity25,
22331
+ $DefaultProp($Maybe("Just", identity25), Nothing),
22332
+ identity25
22293
22333
  ),
22294
22334
  optionMod((p) => ({ propMetaVar: "", propDescMod: p.propDescMod, propHelp: p.propHelp, propShowDefault: p.propShowDefault, propVisibility: p.propVisibility }))
22295
22335
  ]);
@@ -23250,7 +23290,7 @@ var mapParser = (f) => {
23250
23290
  // output-es/Options.Applicative.BashCompletion/index.js
23251
23291
  var $Richness = (tag, _1, _2) => ({ tag, _1, _2 });
23252
23292
  var fromFoldable17 = /* @__PURE__ */ foldrArray(Cons)(Nil);
23253
- var identity27 = (x) => x;
23293
+ var identity26 = (x) => x;
23254
23294
  var fold4 = /* @__PURE__ */ (() => foldableArray.foldMap(monoidArray)(identity3))();
23255
23295
  var sequence = /* @__PURE__ */ (() => traversableArray.traverse(applicativeEffect)(identity4))();
23256
23296
  var unLines = (xs) => foldlArray((v) => (v1) => {
@@ -23363,7 +23403,7 @@ var bashCompletionQuery = (pinfo) => (pprefs) => (richness) => (ws) => (i) => (v
23363
23403
  const $0 = arrayMap(showOption);
23364
23404
  const add_opt_help1 = (opt) => {
23365
23405
  if (richness.tag === "Standard") {
23366
- return identity27;
23406
+ return identity26;
23367
23407
  }
23368
23408
  if (richness.tag === "Enriched") {
23369
23409
  const $1 = richness._1;
@@ -23436,7 +23476,7 @@ var bashCompletionQuery = (pinfo) => (pprefs) => (richness) => (ws) => (i) => (v
23436
23476
  }
23437
23477
  const $22 = (() => {
23438
23478
  if (richness.tag === "Standard") {
23439
- return identity27;
23479
+ return identity26;
23440
23480
  }
23441
23481
  if (richness.tag === "Enriched") {
23442
23482
  const $23 = richness._2;
@@ -23733,7 +23773,7 @@ var chunkMonoid2 = /* @__PURE__ */ (() => {
23733
23773
  return { mempty: Nothing, Semigroup0: () => chunkSemigroup1 };
23734
23774
  })();
23735
23775
  var listToChunk2 = /* @__PURE__ */ listToChunk(docMonoid);
23736
- var identity28 = (x) => x;
23776
+ var identity27 = (x) => x;
23737
23777
  var usageHelp = (chunk) => ({
23738
23778
  helpUsage: chunk,
23739
23779
  helpBody: parserHelpMonoid.mempty.helpBody,
@@ -23772,7 +23812,7 @@ var optDesc = (pprefs) => (style) => (info2) => (opt) => {
23772
23812
  })()));
23773
23813
  return (() => {
23774
23814
  if (opt.optProps.propDescMod.tag === "Nothing") {
23775
- return identity28;
23815
+ return identity27;
23776
23816
  }
23777
23817
  if (opt.optProps.propDescMod.tag === "Just") {
23778
23818
  return (v1) => {
@@ -24455,12 +24495,12 @@ var helper = /* @__PURE__ */ (() => abortOption(ShowHelpText)(foldableArray.fold
24455
24495
  $Mod(
24456
24496
  optionFieldsHasName.name($OptName("OptLong", "help")),
24457
24497
  $DefaultProp(Nothing, Nothing),
24458
- identity25
24498
+ identity24
24459
24499
  ),
24460
24500
  $Mod(
24461
24501
  optionFieldsHasName.name($OptName("OptShort", "h")),
24462
24502
  $DefaultProp(Nothing, Nothing),
24463
- identity25
24503
+ identity24
24464
24504
  ),
24465
24505
  help("Show this help text"),
24466
24506
  hidden
@@ -25443,7 +25483,7 @@ var parse3 = (v) => {
25443
25483
  return (v$1) => $0;
25444
25484
  }
25445
25485
  if (v1.tag === "Right") {
25446
- const $0 = _pure(renderWithIndent(Stmt)(0)(0)(prettyExpr1(annUnit).pretty(v1._1._1))._1);
25486
+ const $0 = _pure(renderWithIndent(Stmt)(0)(0)(prettyExpr(annUnit).pretty(v1._1._1))._1);
25447
25487
  return (v$1) => $0;
25448
25488
  }
25449
25489
  fail();