@explorable-viz/fluid 0.12.3 → 0.12.4

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 (792) hide show
  1. package/output-es/Affjax/foreign.js +52 -0
  2. package/output-es/Affjax/index.js +387 -0
  3. package/output-es/Affjax.RequestBody/index.js +22 -0
  4. package/output-es/Affjax.RequestHeader/index.js +58 -0
  5. package/output-es/Affjax.ResponseFormat/index.js +47 -0
  6. package/output-es/Affjax.ResponseHeader/index.js +19 -0
  7. package/output-es/Affjax.StatusCode/index.js +8 -0
  8. package/output-es/Affjax.Web/foreign.js +8 -0
  9. package/output-es/Affjax.Web/index.js +14 -0
  10. package/output-es/App.CodeMirror/foreign.js +69 -0
  11. package/output-es/App.CodeMirror/index.js +3 -0
  12. package/output-es/App.Fig/index.js +713 -0
  13. package/output-es/App.LoadFigure/index.js +131 -0
  14. package/output-es/App.Util/index.js +773 -0
  15. package/output-es/App.Util.Selector/index.js +273 -0
  16. package/output-es/App.View/index.js +310 -0
  17. package/output-es/App.View.BarChart/index.js +153 -0
  18. package/output-es/App.View.DocView/index.js +40 -0
  19. package/output-es/App.View.LineChart/index.js +437 -0
  20. package/output-es/App.View.MatrixView/foreign.js +182 -0
  21. package/output-es/App.View.MatrixView/index.js +232 -0
  22. package/output-es/App.View.MultiView/index.js +30 -0
  23. package/output-es/App.View.Paragraph/index.js +44 -0
  24. package/output-es/App.View.ScatterPlot/foreign.js +110 -0
  25. package/output-es/App.View.ScatterPlot/index.js +122 -0
  26. package/output-es/App.View.Segment/index.js +92 -0
  27. package/output-es/App.View.StackedBar/index.js +54 -0
  28. package/output-es/App.View.TableView/index.js +397 -0
  29. package/output-es/App.View.Text/index.js +157 -0
  30. package/output-es/App.View.Util/index.js +222 -0
  31. package/output-es/App.View.Util.Axes/index.js +79 -0
  32. package/output-es/App.View.Util.D3/foreign.js +263 -0
  33. package/output-es/App.View.Util.D3/index.js +678 -0
  34. package/output-es/App.View.Util.Point/index.js +3 -0
  35. package/output-es/Benchmark/index.js +63 -0
  36. package/output-es/Bind/index.js +24 -0
  37. package/output-es/Control.Alt/index.js +5 -0
  38. package/output-es/Control.Alternative/index.js +11 -0
  39. package/output-es/Control.Applicative/index.js +18 -0
  40. package/output-es/Control.Apply/foreign.js +15 -0
  41. package/output-es/Control.Apply/index.js +17 -0
  42. package/output-es/Control.Biapplicative/index.js +5 -0
  43. package/output-es/Control.Biapply/index.js +11 -0
  44. package/output-es/Control.Bind/foreign.js +9 -0
  45. package/output-es/Control.Bind/index.js +21 -0
  46. package/output-es/Control.Category/index.js +4 -0
  47. package/output-es/Control.Comonad/index.js +2 -0
  48. package/output-es/Control.Comonad.Cofree/index.js +255 -0
  49. package/output-es/Control.Comonad.Cofree.Class/index.js +43 -0
  50. package/output-es/Control.Comonad.Env/index.js +8 -0
  51. package/output-es/Control.Comonad.Env.Class/index.js +17 -0
  52. package/output-es/Control.Comonad.Env.Trans/index.js +113 -0
  53. package/output-es/Control.Comonad.Store/index.js +5 -0
  54. package/output-es/Control.Comonad.Store.Class/index.js +56 -0
  55. package/output-es/Control.Comonad.Store.Trans/index.js +27 -0
  56. package/output-es/Control.Comonad.Traced/index.js +4 -0
  57. package/output-es/Control.Comonad.Traced.Class/index.js +16 -0
  58. package/output-es/Control.Comonad.Traced.Trans/index.js +28 -0
  59. package/output-es/Control.Comonad.Trans.Class/index.js +3 -0
  60. package/output-es/Control.Extend/foreign.js +7 -0
  61. package/output-es/Control.Extend/index.js +12 -0
  62. package/output-es/Control.Lazy/index.js +10 -0
  63. package/output-es/Control.Monad/index.js +27 -0
  64. package/output-es/Control.Monad.Cont/index.js +6 -0
  65. package/output-es/Control.Monad.Cont.Class/index.js +3 -0
  66. package/output-es/Control.Monad.Cont.Trans/index.js +122 -0
  67. package/output-es/Control.Monad.Error.Class/index.js +83 -0
  68. package/output-es/Control.Monad.Except/index.js +10 -0
  69. package/output-es/Control.Monad.Except.Trans/index.js +241 -0
  70. package/output-es/Control.Monad.Free/index.js +423 -0
  71. package/output-es/Control.Monad.Free.Class/index.js +45 -0
  72. package/output-es/Control.Monad.Gen/index.js +132 -0
  73. package/output-es/Control.Monad.Gen.Class/index.js +6 -0
  74. package/output-es/Control.Monad.Gen.Common/index.js +44 -0
  75. package/output-es/Control.Monad.Identity.Trans/index.js +88 -0
  76. package/output-es/Control.Monad.List.Trans/index.js +536 -0
  77. package/output-es/Control.Monad.Maybe.Trans/index.js +217 -0
  78. package/output-es/Control.Monad.RWS/index.js +16 -0
  79. package/output-es/Control.Monad.RWS.Trans/index.js +260 -0
  80. package/output-es/Control.Monad.Reader/index.js +6 -0
  81. package/output-es/Control.Monad.Reader.Class/index.js +11 -0
  82. package/output-es/Control.Monad.Reader.Trans/index.js +320 -0
  83. package/output-es/Control.Monad.Rec.Class/index.js +265 -0
  84. package/output-es/Control.Monad.ST/index.js +1 -0
  85. package/output-es/Control.Monad.ST.Class/index.js +7 -0
  86. package/output-es/Control.Monad.ST.Global/index.js +3 -0
  87. package/output-es/Control.Monad.ST.Internal/foreign.js +90 -0
  88. package/output-es/Control.Monad.ST.Internal/index.js +75 -0
  89. package/output-es/Control.Monad.ST.Ref/index.js +1 -0
  90. package/output-es/Control.Monad.ST.Uncurried/foreign.js +229 -0
  91. package/output-es/Control.Monad.ST.Uncurried/index.js +39 -0
  92. package/output-es/Control.Monad.State/index.js +8 -0
  93. package/output-es/Control.Monad.State.Class/index.js +12 -0
  94. package/output-es/Control.Monad.State.Trans/index.js +209 -0
  95. package/output-es/Control.Monad.Trampoline/index.js +9 -0
  96. package/output-es/Control.Monad.Trans.Class/index.js +3 -0
  97. package/output-es/Control.Monad.Writer/index.js +6 -0
  98. package/output-es/Control.Monad.Writer.Class/index.js +14 -0
  99. package/output-es/Control.Monad.Writer.Trans/index.js +256 -0
  100. package/output-es/Control.MonadPlus/index.js +4 -0
  101. package/output-es/Control.Parallel/index.js +49 -0
  102. package/output-es/Control.Parallel.Class/index.js +191 -0
  103. package/output-es/Control.Plus/index.js +4 -0
  104. package/output-es/Control.Promise/foreign.js +24 -0
  105. package/output-es/Control.Promise/index.js +40 -0
  106. package/output-es/Control.Semigroupoid/index.js +4 -0
  107. package/output-es/Data.Argonaut.Core/foreign.js +102 -0
  108. package/output-es/Data.Argonaut.Core/index.js +72 -0
  109. package/output-es/Data.Argonaut.Decode/index.js +10 -0
  110. package/output-es/Data.Argonaut.Decode.Class/index.js +173 -0
  111. package/output-es/Data.Argonaut.Decode.Combinators/index.js +21 -0
  112. package/output-es/Data.Argonaut.Decode.Decoders/index.js +463 -0
  113. package/output-es/Data.Argonaut.Decode.Error/index.js +151 -0
  114. package/output-es/Data.Argonaut.Decode.Parser/index.js +11 -0
  115. package/output-es/Data.Argonaut.Encode/index.js +3 -0
  116. package/output-es/Data.Argonaut.Encode.Class/index.js +114 -0
  117. package/output-es/Data.Argonaut.Encode.Combinators/index.js +15 -0
  118. package/output-es/Data.Argonaut.Encode.Encoders/index.js +222 -0
  119. package/output-es/Data.Argonaut.Gen/index.js +68 -0
  120. package/output-es/Data.Argonaut.Parser/foreign.js +8 -0
  121. package/output-es/Data.Argonaut.Parser/index.js +5 -0
  122. package/output-es/Data.Array/foreign.js +298 -0
  123. package/output-es/Data.Array/index.js +555 -0
  124. package/output-es/Data.Array.NonEmpty/index.js +317 -0
  125. package/output-es/Data.Array.NonEmpty.Internal/foreign.js +77 -0
  126. package/output-es/Data.Array.NonEmpty.Internal/index.js +90 -0
  127. package/output-es/Data.Array.Partial/index.js +7 -0
  128. package/output-es/Data.Array.ST/foreign.js +107 -0
  129. package/output-es/Data.Array.ST/index.js +82 -0
  130. package/output-es/Data.Array.ST.Iterator/index.js +83 -0
  131. package/output-es/Data.Array.ST.Partial/foreign.js +7 -0
  132. package/output-es/Data.Array.ST.Partial/index.js +9 -0
  133. package/output-es/Data.ArrayBuffer.Types/index.js +1 -0
  134. package/output-es/Data.Bifoldable/index.js +149 -0
  135. package/output-es/Data.Bifunctor/index.js +17 -0
  136. package/output-es/Data.Bifunctor.Join/index.js +21 -0
  137. package/output-es/Data.Bitraversable/index.js +195 -0
  138. package/output-es/Data.Boolean/index.js +2 -0
  139. package/output-es/Data.BooleanAlgebra/index.js +42 -0
  140. package/output-es/Data.Bounded/foreign.js +8 -0
  141. package/output-es/Data.Bounded/index.js +76 -0
  142. package/output-es/Data.Bounded.Generic/index.js +37 -0
  143. package/output-es/Data.CatList/index.js +326 -0
  144. package/output-es/Data.CatQueue/index.js +364 -0
  145. package/output-es/Data.Char/index.js +5 -0
  146. package/output-es/Data.Char.Gen/index.js +21 -0
  147. package/output-es/Data.CodePoint.Unicode/index.js +382 -0
  148. package/output-es/Data.CodePoint.Unicode.Internal/index.js +5476 -0
  149. package/output-es/Data.CodePoint.Unicode.Internal.Casing/index.js +1636 -0
  150. package/output-es/Data.CommutativeRing/index.js +49 -0
  151. package/output-es/Data.Compactable/index.js +228 -0
  152. package/output-es/Data.Comparison/index.js +22 -0
  153. package/output-es/Data.Const/index.js +56 -0
  154. package/output-es/Data.Coyoneda/index.js +212 -0
  155. package/output-es/Data.Date/foreign.js +22 -0
  156. package/output-es/Data.Date/index.js +370 -0
  157. package/output-es/Data.Date.Component/index.js +451 -0
  158. package/output-es/Data.Date.Component.Gen/index.js +11 -0
  159. package/output-es/Data.Date.Gen/index.js +25 -0
  160. package/output-es/Data.DateTime/foreign.js +33 -0
  161. package/output-es/Data.DateTime/index.js +131 -0
  162. package/output-es/Data.DateTime.Gen/index.js +8 -0
  163. package/output-es/Data.DateTime.Instant/foreign.js +18 -0
  164. package/output-es/Data.DateTime.Instant/index.js +86 -0
  165. package/output-es/Data.Decidable/index.js +70 -0
  166. package/output-es/Data.Decide/index.js +64 -0
  167. package/output-es/Data.Distributive/index.js +55 -0
  168. package/output-es/Data.Divide/index.js +47 -0
  169. package/output-es/Data.Divisible/index.js +17 -0
  170. package/output-es/Data.DivisionRing/index.js +6 -0
  171. package/output-es/Data.Either/index.js +242 -0
  172. package/output-es/Data.Either.Inject/index.js +25 -0
  173. package/output-es/Data.Either.Nested/index.js +450 -0
  174. package/output-es/Data.Enum/foreign.js +7 -0
  175. package/output-es/Data.Enum/index.js +441 -0
  176. package/output-es/Data.Enum.Gen/index.js +19 -0
  177. package/output-es/Data.Enum.Generic/index.js +211 -0
  178. package/output-es/Data.Eq/foreign.js +23 -0
  179. package/output-es/Data.Eq/index.js +33 -0
  180. package/output-es/Data.Eq.Generic/index.js +16 -0
  181. package/output-es/Data.Equivalence/index.js +8 -0
  182. package/output-es/Data.EuclideanRing/foreign.js +26 -0
  183. package/output-es/Data.EuclideanRing/index.js +25 -0
  184. package/output-es/Data.Exists/index.js +4 -0
  185. package/output-es/Data.Field/index.js +2 -0
  186. package/output-es/Data.Filterable/index.js +317 -0
  187. package/output-es/Data.Foldable/foreign.js +25 -0
  188. package/output-es/Data.Foldable/index.js +394 -0
  189. package/output-es/Data.FoldableWithIndex/index.js +431 -0
  190. package/output-es/Data.FormURLEncoded/index.js +110 -0
  191. package/output-es/Data.Function/index.js +23 -0
  192. package/output-es/Data.Function.Memoize/index.js +242 -0
  193. package/output-es/Data.Function.Uncurried/foreign.js +218 -0
  194. package/output-es/Data.Function.Uncurried/index.js +5 -0
  195. package/output-es/Data.Functor/foreign.js +10 -0
  196. package/output-es/Data.Functor/index.js +14 -0
  197. package/output-es/Data.Functor.App/index.js +87 -0
  198. package/output-es/Data.Functor.Clown/index.js +24 -0
  199. package/output-es/Data.Functor.Compose/index.js +131 -0
  200. package/output-es/Data.Functor.Contravariant/index.js +7 -0
  201. package/output-es/Data.Functor.Coproduct/index.js +171 -0
  202. package/output-es/Data.Functor.Coproduct.Inject/index.js +25 -0
  203. package/output-es/Data.Functor.Coproduct.Nested/index.js +433 -0
  204. package/output-es/Data.Functor.Costar/index.js +82 -0
  205. package/output-es/Data.Functor.Flip/index.js +31 -0
  206. package/output-es/Data.Functor.Invariant/index.js +14 -0
  207. package/output-es/Data.Functor.Joker/index.js +88 -0
  208. package/output-es/Data.Functor.Product/index.js +127 -0
  209. package/output-es/Data.Functor.Product.Nested/index.js +46 -0
  210. package/output-es/Data.Functor.Product2/index.js +46 -0
  211. package/output-es/Data.FunctorWithIndex/foreign.js +10 -0
  212. package/output-es/Data.FunctorWithIndex/index.js +147 -0
  213. package/output-es/Data.Generic.Rep/index.js +31 -0
  214. package/output-es/Data.Graph/index.js +370 -0
  215. package/output-es/Data.HTTP.Method/index.js +223 -0
  216. package/output-es/Data.HeytingAlgebra/foreign.js +15 -0
  217. package/output-es/Data.HeytingAlgebra/index.js +104 -0
  218. package/output-es/Data.HeytingAlgebra.Generic/index.js +76 -0
  219. package/output-es/Data.Identity/index.js +54 -0
  220. package/output-es/Data.Int/foreign.js +65 -0
  221. package/output-es/Data.Int/index.js +122 -0
  222. package/output-es/Data.Int.Bits/foreign.js +48 -0
  223. package/output-es/Data.Int.Bits/index.js +4 -0
  224. package/output-es/Data.Interval/index.js +331 -0
  225. package/output-es/Data.Interval.Duration/index.js +124 -0
  226. package/output-es/Data.Interval.Duration.Iso/index.js +423 -0
  227. package/output-es/Data.JSDate/foreign.js +83 -0
  228. package/output-es/Data.JSDate/index.js +123 -0
  229. package/output-es/Data.Lazy/foreign.js +14 -0
  230. package/output-es/Data.Lazy/index.js +143 -0
  231. package/output-es/Data.List/index.js +1505 -0
  232. package/output-es/Data.List.Internal/index.js +155 -0
  233. package/output-es/Data.List.Lazy/index.js +658 -0
  234. package/output-es/Data.List.Lazy.NonEmpty/index.js +77 -0
  235. package/output-es/Data.List.Lazy.Types/index.js +511 -0
  236. package/output-es/Data.List.NonEmpty/index.js +540 -0
  237. package/output-es/Data.List.Partial/index.js +37 -0
  238. package/output-es/Data.List.Types/index.js +841 -0
  239. package/output-es/Data.List.ZipList/index.js +43 -0
  240. package/output-es/Data.Map/index.js +80 -0
  241. package/output-es/Data.Map.Gen/index.js +15 -0
  242. package/output-es/Data.Map.Internal/index.js +1216 -0
  243. package/output-es/Data.Maybe/index.js +253 -0
  244. package/output-es/Data.Maybe.First/index.js +85 -0
  245. package/output-es/Data.Maybe.Last/index.js +86 -0
  246. package/output-es/Data.MediaType/index.js +8 -0
  247. package/output-es/Data.MediaType.Common/index.js +30 -0
  248. package/output-es/Data.Monoid/index.js +66 -0
  249. package/output-es/Data.Monoid.Additive/index.js +33 -0
  250. package/output-es/Data.Monoid.Alternate/index.js +46 -0
  251. package/output-es/Data.Monoid.Conj/index.js +21 -0
  252. package/output-es/Data.Monoid.Disj/index.js +21 -0
  253. package/output-es/Data.Monoid.Dual/index.js +19 -0
  254. package/output-es/Data.Monoid.Endo/index.js +12 -0
  255. package/output-es/Data.Monoid.Generic/index.js +11 -0
  256. package/output-es/Data.Monoid.Multiplicative/index.js +33 -0
  257. package/output-es/Data.NaturalTransformation/index.js +1 -0
  258. package/output-es/Data.Newtype/index.js +51 -0
  259. package/output-es/Data.NonEmpty/index.js +217 -0
  260. package/output-es/Data.Nullable/foreign.js +12 -0
  261. package/output-es/Data.Nullable/index.js +53 -0
  262. package/output-es/Data.Number/foreign.js +80 -0
  263. package/output-es/Data.Number/index.js +15 -0
  264. package/output-es/Data.Number.Approximate/index.js +13 -0
  265. package/output-es/Data.Number.Format/foreign.js +12 -0
  266. package/output-es/Data.Number.Format/index.js +53 -0
  267. package/output-es/Data.Op/index.js +13 -0
  268. package/output-es/Data.Ord/foreign.js +43 -0
  269. package/output-es/Data.Ord/index.js +161 -0
  270. package/output-es/Data.Ord.Down/index.js +35 -0
  271. package/output-es/Data.Ord.Generic/index.js +34 -0
  272. package/output-es/Data.Ord.Max/index.js +34 -0
  273. package/output-es/Data.Ord.Min/index.js +34 -0
  274. package/output-es/Data.Ordering/index.js +35 -0
  275. package/output-es/Data.Posix/index.js +19 -0
  276. package/output-es/Data.Posix.Signal/index.js +405 -0
  277. package/output-es/Data.Predicate/index.js +14 -0
  278. package/output-es/Data.Profunctor/index.js +13 -0
  279. package/output-es/Data.Profunctor.Choice/index.js +32 -0
  280. package/output-es/Data.Profunctor.Closed/index.js +5 -0
  281. package/output-es/Data.Profunctor.Cochoice/index.js +3 -0
  282. package/output-es/Data.Profunctor.Costrong/index.js +3 -0
  283. package/output-es/Data.Profunctor.Join/index.js +13 -0
  284. package/output-es/Data.Profunctor.Split/index.js +11 -0
  285. package/output-es/Data.Profunctor.Star/index.js +250 -0
  286. package/output-es/Data.Profunctor.Strong/index.js +19 -0
  287. package/output-es/Data.Reflectable/foreign.js +5 -0
  288. package/output-es/Data.Reflectable/index.js +10 -0
  289. package/output-es/Data.Ring/foreign.js +12 -0
  290. package/output-es/Data.Ring/index.js +50 -0
  291. package/output-es/Data.Ring.Generic/index.js +10 -0
  292. package/output-es/Data.Semigroup/foreign.js +13 -0
  293. package/output-es/Data.Semigroup/index.js +25 -0
  294. package/output-es/Data.Semigroup.First/index.js +14 -0
  295. package/output-es/Data.Semigroup.Foldable/index.js +143 -0
  296. package/output-es/Data.Semigroup.Generic/index.js +11 -0
  297. package/output-es/Data.Semigroup.Last/index.js +14 -0
  298. package/output-es/Data.Semigroup.Traversable/index.js +39 -0
  299. package/output-es/Data.Semiring/foreign.js +25 -0
  300. package/output-es/Data.Semiring/index.js +66 -0
  301. package/output-es/Data.Semiring.Generic/index.js +52 -0
  302. package/output-es/Data.Set/index.js +310 -0
  303. package/output-es/Data.Set.NonEmpty/index.js +198 -0
  304. package/output-es/Data.Show/foreign.js +59 -0
  305. package/output-es/Data.Show/index.js +56 -0
  306. package/output-es/Data.Show.Generic/foreign.js +5 -0
  307. package/output-es/Data.Show.Generic/index.js +43 -0
  308. package/output-es/Data.String/index.js +1 -0
  309. package/output-es/Data.String.CaseInsensitive/index.js +12 -0
  310. package/output-es/Data.String.CodePoints/foreign.js +107 -0
  311. package/output-es/Data.String.CodePoints/index.js +201 -0
  312. package/output-es/Data.String.CodeUnits/foreign.js +116 -0
  313. package/output-es/Data.String.CodeUnits/index.js +55 -0
  314. package/output-es/Data.String.Common/foreign.js +52 -0
  315. package/output-es/Data.String.Common/index.js +6 -0
  316. package/output-es/Data.String.Gen/index.js +26 -0
  317. package/output-es/Data.String.NonEmpty/index.js +1 -0
  318. package/output-es/Data.String.NonEmpty.CaseInsensitive/index.js +12 -0
  319. package/output-es/Data.String.NonEmpty.CodePoints/index.js +89 -0
  320. package/output-es/Data.String.NonEmpty.CodeUnits/index.js +98 -0
  321. package/output-es/Data.String.NonEmpty.Internal/index.js +119 -0
  322. package/output-es/Data.String.Pattern/index.js +13 -0
  323. package/output-es/Data.String.Regex/foreign.js +103 -0
  324. package/output-es/Data.String.Regex/index.js +28 -0
  325. package/output-es/Data.String.Regex.Flags/index.js +44 -0
  326. package/output-es/Data.String.Regex.Unsafe/index.js +10 -0
  327. package/output-es/Data.String.Unicode/index.js +18 -0
  328. package/output-es/Data.String.Unsafe/foreign.js +11 -0
  329. package/output-es/Data.String.Unsafe/index.js +4 -0
  330. package/output-es/Data.Symbol/foreign.js +6 -0
  331. package/output-es/Data.Symbol/index.js +6 -0
  332. package/output-es/Data.Time/index.js +119 -0
  333. package/output-es/Data.Time.Component/index.js +138 -0
  334. package/output-es/Data.Time.Component.Gen/index.js +7 -0
  335. package/output-es/Data.Time.Duration/index.js +95 -0
  336. package/output-es/Data.Time.Duration.Gen/index.js +7 -0
  337. package/output-es/Data.Time.Gen/index.js +8 -0
  338. package/output-es/Data.Traversable/foreign.js +52 -0
  339. package/output-es/Data.Traversable/index.js +303 -0
  340. package/output-es/Data.Traversable.Accum/index.js +1 -0
  341. package/output-es/Data.Traversable.Accum.Internal/index.js +35 -0
  342. package/output-es/Data.TraversableWithIndex/index.js +280 -0
  343. package/output-es/Data.Tuple/index.js +194 -0
  344. package/output-es/Data.Tuple.Nested/index.js +290 -0
  345. package/output-es/Data.Unfoldable/foreign.js +21 -0
  346. package/output-es/Data.Unfoldable/index.js +45 -0
  347. package/output-es/Data.Unfoldable1/foreign.js +21 -0
  348. package/output-es/Data.Unfoldable1/index.js +39 -0
  349. package/output-es/Data.Unit/foreign.js +1 -0
  350. package/output-es/Data.Unit/index.js +3 -0
  351. package/output-es/Data.Void/index.js +12 -0
  352. package/output-es/Data.Witherable/index.js +371 -0
  353. package/output-es/Data.Yoneda/index.js +85 -0
  354. package/output-es/DataType/index.js +276 -0
  355. package/output-es/Debug/foreign.js +57 -0
  356. package/output-es/Debug/index.js +13 -0
  357. package/output-es/Desug/index.js +17 -0
  358. package/output-es/Desugarable/index.js +3 -0
  359. package/output-es/Dict/index.js +118 -0
  360. package/output-es/Effect/foreign.js +51 -0
  361. package/output-es/Effect/index.js +49 -0
  362. package/output-es/Effect.Aff/foreign.js +1154 -0
  363. package/output-es/Effect.Aff/index.js +268 -0
  364. package/output-es/Effect.Aff.Class/index.js +114 -0
  365. package/output-es/Effect.Aff.Compat/index.js +14 -0
  366. package/output-es/Effect.Class/index.js +4 -0
  367. package/output-es/Effect.Class.Console/index.js +25 -0
  368. package/output-es/Effect.Console/foreign.js +67 -0
  369. package/output-es/Effect.Console/index.js +17 -0
  370. package/output-es/Effect.Exception/foreign.js +45 -0
  371. package/output-es/Effect.Exception/index.js +14 -0
  372. package/output-es/Effect.Exception.Unsafe/index.js +4 -0
  373. package/output-es/Effect.Now/foreign.js +8 -0
  374. package/output-es/Effect.Now/index.js +16 -0
  375. package/output-es/Effect.Random/foreign.js +1 -0
  376. package/output-es/Effect.Random/index.js +17 -0
  377. package/output-es/Effect.Ref/foreign.js +37 -0
  378. package/output-es/Effect.Ref/index.js +34 -0
  379. package/output-es/Effect.Uncurried/foreign.js +229 -0
  380. package/output-es/Effect.Uncurried/index.js +386 -0
  381. package/output-es/Effect.Unsafe/foreign.js +3 -0
  382. package/output-es/Effect.Unsafe/index.js +3 -0
  383. package/output-es/Eval/index.js +951 -0
  384. package/output-es/ExitCodes/index.js +461 -0
  385. package/output-es/Expr/index.js +1732 -0
  386. package/output-es/File/index.js +125 -0
  387. package/output-es/Fluid/index.js +229 -0
  388. package/output-es/Foreign/foreign.js +19 -0
  389. package/output-es/Foreign/index.js +171 -0
  390. package/output-es/Foreign.Index/foreign.js +11 -0
  391. package/output-es/Foreign.Index/index.js +80 -0
  392. package/output-es/Foreign.Keys/foreign.js +9 -0
  393. package/output-es/Foreign.Keys/index.js +28 -0
  394. package/output-es/Foreign.Object/foreign.js +116 -0
  395. package/output-es/Foreign.Object/index.js +304 -0
  396. package/output-es/Foreign.Object.Gen/index.js +13 -0
  397. package/output-es/Foreign.Object.ST/foreign.js +37 -0
  398. package/output-es/Foreign.Object.ST/index.js +9 -0
  399. package/output-es/Foreign.Object.ST.Unsafe/foreign.js +5 -0
  400. package/output-es/Foreign.Object.ST.Unsafe/index.js +3 -0
  401. package/output-es/Foreign.Object.Unsafe/foreign.js +5 -0
  402. package/output-es/Foreign.Object.Unsafe/index.js +3 -0
  403. package/output-es/GaloisConnection/index.js +72 -0
  404. package/output-es/Graph/index.js +279 -0
  405. package/output-es/Graph.GraphImpl/index.js +296 -0
  406. package/output-es/Graph.Slice/index.js +125 -0
  407. package/output-es/Graph.WithGraph/index.js +190 -0
  408. package/output-es/JSURI/foreign.js +61 -0
  409. package/output-es/JSURI/index.js +10 -0
  410. package/output-es/Lattice/index.js +397 -0
  411. package/output-es/Link/index.js +84 -0
  412. package/output-es/Module/index.js +317 -0
  413. package/output-es/Module.Node/index.js +95 -0
  414. package/output-es/Module.Web/index.js +79 -0
  415. package/output-es/ModuleGraph/index.js +1 -0
  416. package/output-es/Node.Buffer/foreign.js +33 -0
  417. package/output-es/Node.Buffer/index.js +191 -0
  418. package/output-es/Node.Buffer.Class/index.js +48 -0
  419. package/output-es/Node.Buffer.Constants/foreign.js +5 -0
  420. package/output-es/Node.Buffer.Constants/index.js +3 -0
  421. package/output-es/Node.Buffer.Immutable/foreign.js +45 -0
  422. package/output-es/Node.Buffer.Immutable/index.js +121 -0
  423. package/output-es/Node.Buffer.ST/index.js +98 -0
  424. package/output-es/Node.Buffer.Types/index.js +36 -0
  425. package/output-es/Node.Encoding/foreign.js +3 -0
  426. package/output-es/Node.Encoding/index.js +55 -0
  427. package/output-es/Node.EventEmitter/foreign.js +24 -0
  428. package/output-es/Node.EventEmitter/index.js +142 -0
  429. package/output-es/Node.EventEmitter.UtilTypes/index.js +1 -0
  430. package/output-es/Node.FS/index.js +27 -0
  431. package/output-es/Node.FS.Aff/index.js +132 -0
  432. package/output-es/Node.FS.Async/foreign.js +28 -0
  433. package/output-es/Node.FS.Async/index.js +241 -0
  434. package/output-es/Node.FS.Constants/foreign.js +17 -0
  435. package/output-es/Node.FS.Constants/index.js +103 -0
  436. package/output-es/Node.FS.Perms/index.js +125 -0
  437. package/output-es/Node.FS.Stats/foreign.js +27 -0
  438. package/output-es/Node.FS.Stats/index.js +102 -0
  439. package/output-es/Node.FS.Stream/foreign.js +11 -0
  440. package/output-es/Node.FS.Stream/index.js +20 -0
  441. package/output-es/Node.FS.Sync/foreign.js +30 -0
  442. package/output-es/Node.FS.Sync/index.js +258 -0
  443. package/output-es/Node.Path/foreign.js +30 -0
  444. package/output-es/Node.Path/index.js +3 -0
  445. package/output-es/Node.Platform/index.js +104 -0
  446. package/output-es/Node.Process/foreign.js +65 -0
  447. package/output-es/Node.Process/index.js +180 -0
  448. package/output-es/Node.Stream/foreign.js +97 -0
  449. package/output-es/Node.Stream/index.js +310 -0
  450. package/output-es/Node.Stream.Aff/index.js +445 -0
  451. package/output-es/Node.Symbol/foreign.js +3 -0
  452. package/output-es/Node.Symbol/index.js +12 -0
  453. package/output-es/Options.Applicative/index.js +1 -0
  454. package/output-es/Options.Applicative.BashCompletion/index.js +417 -0
  455. package/output-es/Options.Applicative.Builder/index.js +505 -0
  456. package/output-es/Options.Applicative.Builder.Completer/foreign.js +8 -0
  457. package/output-es/Options.Applicative.Builder.Completer/index.js +133 -0
  458. package/output-es/Options.Applicative.Builder.Internal/index.js +122 -0
  459. package/output-es/Options.Applicative.Common/index.js +497 -0
  460. package/output-es/Options.Applicative.Extra/index.js +273 -0
  461. package/output-es/Options.Applicative.Help/index.js +3 -0
  462. package/output-es/Options.Applicative.Help.Chunk/index.js +229 -0
  463. package/output-es/Options.Applicative.Help.Core/index.js +450 -0
  464. package/output-es/Options.Applicative.Help.Levenshtein/index.js +22 -0
  465. package/output-es/Options.Applicative.Help.Pretty/index.js +1 -0
  466. package/output-es/Options.Applicative.Help.Types/index.js +112 -0
  467. package/output-es/Options.Applicative.Internal/index.js +447 -0
  468. package/output-es/Options.Applicative.Internal.Utils/index.js +36 -0
  469. package/output-es/Options.Applicative.Types/index.js +979 -0
  470. package/output-es/PSCI.Support/index.js +15 -0
  471. package/output-es/Parse/index.js +2003 -0
  472. package/output-es/Parse.Number/index.js +390 -0
  473. package/output-es/Parse.Parser/index.js +428 -0
  474. package/output-es/Parsing/index.js +342 -0
  475. package/output-es/Parsing.Combinators/index.js +901 -0
  476. package/output-es/Parsing.Combinators.Array/index.js +131 -0
  477. package/output-es/Parsing.Expr/index.js +317 -0
  478. package/output-es/Parsing.Indent/index.js +492 -0
  479. package/output-es/Parsing.Language/index.js +224 -0
  480. package/output-es/Parsing.String/index.js +378 -0
  481. package/output-es/Parsing.String.Basic/index.js +236 -0
  482. package/output-es/Parsing.String.Replace/index.js +342 -0
  483. package/output-es/Parsing.Token/index.js +1980 -0
  484. package/output-es/Partial/foreign.js +5 -0
  485. package/output-es/Partial/index.js +6 -0
  486. package/output-es/Partial.Unsafe/foreign.js +5 -0
  487. package/output-es/Partial.Unsafe/index.js +8 -0
  488. package/output-es/Prelude/index.js +13 -0
  489. package/output-es/Pretty/index.js +1334 -0
  490. package/output-es/Pretty.Doc/index.js +139 -0
  491. package/output-es/Pretty.Util/index.js +90 -0
  492. package/output-es/Primitive/index.js +304 -0
  493. package/output-es/Primitive.Defs/index.js +872 -0
  494. package/output-es/Primitive.Parse/index.js +93 -0
  495. package/output-es/Random.LCG/index.js +35 -0
  496. package/output-es/Record/index.js +23 -0
  497. package/output-es/Record.Builder/foreign.js +44 -0
  498. package/output-es/Record.Builder/index.js +20 -0
  499. package/output-es/Record.Unsafe/foreign.js +38 -0
  500. package/output-es/Record.Unsafe/index.js +9 -0
  501. package/output-es/Record.Unsafe.Union/foreign.js +14 -0
  502. package/output-es/Record.Unsafe.Union/index.js +4 -0
  503. package/output-es/SExpr/index.js +3972 -0
  504. package/output-es/Safe.Coerce/index.js +3 -0
  505. package/output-es/Test.Assert/foreign.js +21 -0
  506. package/output-es/Test.Assert/index.js +37 -0
  507. package/output-es/Test.Benchmark.Util/foreign.js +3 -0
  508. package/output-es/Test.Benchmark.Util/index.js +273 -0
  509. package/output-es/Test.QuickCheck/index.js +297 -0
  510. package/output-es/Test.QuickCheck.Arbitrary/index.js +482 -0
  511. package/output-es/Test.QuickCheck.Gen/foreign.js +10 -0
  512. package/output-es/Test.QuickCheck.Gen/index.js +270 -0
  513. package/output-es/Test.Specs.Bwd/index.js +220 -0
  514. package/output-es/Test.Specs.Comments/index.js +25 -0
  515. package/output-es/Test.Specs.Desugar/index.js +17 -0
  516. package/output-es/Test.Specs.Graphics/index.js +7 -0
  517. package/output-es/Test.Specs.LinkedInputs/index.js +52 -0
  518. package/output-es/Test.Specs.LinkedOutputs/index.js +61 -0
  519. package/output-es/Test.Specs.Misc/index.js +35 -0
  520. package/output-es/Test.Specs.Paragraph/index.js +5 -0
  521. package/output-es/Test.Test/index.js +106 -0
  522. package/output-es/Test.Util/index.js +239 -0
  523. package/output-es/Test.Util.Debug/index.js +6 -0
  524. package/output-es/Test.Util.Debug.Defaults/index.js +16 -0
  525. package/output-es/Test.Util.Mocha/foreign.js +55 -0
  526. package/output-es/Test.Util.Mocha/index.js +21 -0
  527. package/output-es/Test.Util.Puppeteer/index.js +83 -0
  528. package/output-es/Test.Util.Suite/index.js +197 -0
  529. package/output-es/Text.PrettyPrint.Leijen/index.js +700 -0
  530. package/output-es/Toppokki/foreign.js +170 -0
  531. package/output-es/Toppokki/index.js +122 -0
  532. package/output-es/Type.Data.Boolean/index.js +21 -0
  533. package/output-es/Type.Data.Ordering/index.js +56 -0
  534. package/output-es/Type.Data.Symbol/index.js +7 -0
  535. package/output-es/Type.Equality/index.js +5 -0
  536. package/output-es/Type.Function/index.js +1 -0
  537. package/output-es/Type.Prelude/index.js +1 -0
  538. package/output-es/Type.Proxy/index.js +51 -0
  539. package/output-es/Type.Row/index.js +1 -0
  540. package/output-es/Type.Row.Homogeneous/index.js +4 -0
  541. package/output-es/Type.RowList/index.js +10 -0
  542. package/output-es/Unsafe.Coerce/foreign.js +5 -0
  543. package/output-es/Unsafe.Coerce/index.js +3 -0
  544. package/output-es/Util/index.js +340 -0
  545. package/output-es/Util.Map/foreign.js +13 -0
  546. package/output-es/Util.Map/index.js +129 -0
  547. package/output-es/Util.Pair/index.js +90 -0
  548. package/output-es/Util.Set/index.js +75 -0
  549. package/output-es/Val/index.js +1771 -0
  550. package/output-es/Web.DOM/index.js +1 -0
  551. package/output-es/Web.DOM.CharacterData/foreign.js +61 -0
  552. package/output-es/Web.DOM.CharacterData/index.js +13 -0
  553. package/output-es/Web.DOM.ChildNode/foreign.js +5 -0
  554. package/output-es/Web.DOM.ChildNode/index.js +3 -0
  555. package/output-es/Web.DOM.Comment/index.js +13 -0
  556. package/output-es/Web.DOM.DOMTokenList/foreign.js +49 -0
  557. package/output-es/Web.DOM.DOMTokenList/index.js +15 -0
  558. package/output-es/Web.DOM.Document/foreign.js +112 -0
  559. package/output-es/Web.DOM.Document/index.js +75 -0
  560. package/output-es/Web.DOM.DocumentFragment/index.js +13 -0
  561. package/output-es/Web.DOM.DocumentType/foreign.js +9 -0
  562. package/output-es/Web.DOM.DocumentType/index.js +11 -0
  563. package/output-es/Web.DOM.Element/foreign.js +210 -0
  564. package/output-es/Web.DOM.Element/index.js +101 -0
  565. package/output-es/Web.DOM.HTMLCollection/foreign.js +27 -0
  566. package/output-es/Web.DOM.HTMLCollection/index.js +25 -0
  567. package/output-es/Web.DOM.Internal.Types/index.js +1 -0
  568. package/output-es/Web.DOM.MutationObserver/foreign.js +29 -0
  569. package/output-es/Web.DOM.MutationObserver/index.js +4 -0
  570. package/output-es/Web.DOM.MutationRecord/foreign.js +53 -0
  571. package/output-es/Web.DOM.MutationRecord/index.js +66 -0
  572. package/output-es/Web.DOM.Node/foreign.js +153 -0
  573. package/output-es/Web.DOM.Node/index.js +147 -0
  574. package/output-es/Web.DOM.NodeList/foreign.js +19 -0
  575. package/output-es/Web.DOM.NodeList/index.js +15 -0
  576. package/output-es/Web.DOM.NodeType/index.js +199 -0
  577. package/output-es/Web.DOM.NonDocumentTypeChildNode/foreign.js +11 -0
  578. package/output-es/Web.DOM.NonDocumentTypeChildNode/index.js +19 -0
  579. package/output-es/Web.DOM.NonElementParentNode/foreign.js +7 -0
  580. package/output-es/Web.DOM.NonElementParentNode/index.js +15 -0
  581. package/output-es/Web.DOM.ParentNode/foreign.js +28 -0
  582. package/output-es/Web.DOM.ParentNode/index.js +35 -0
  583. package/output-es/Web.DOM.ProcessingInstruction/foreign.js +5 -0
  584. package/output-es/Web.DOM.ProcessingInstruction/index.js +15 -0
  585. package/output-es/Web.DOM.ShadowRoot/foreign.js +9 -0
  586. package/output-es/Web.DOM.ShadowRoot/index.js +23 -0
  587. package/output-es/Web.DOM.Text/foreign.js +13 -0
  588. package/output-es/Web.DOM.Text/index.js +15 -0
  589. package/output-es/Web.Event.CustomEvent/foreign.js +18 -0
  590. package/output-es/Web.Event.CustomEvent/index.js +20 -0
  591. package/output-es/Web.Event.Event/foreign.js +51 -0
  592. package/output-es/Web.Event.Event/index.js +23 -0
  593. package/output-es/Web.Event.EventPhase/index.js +99 -0
  594. package/output-es/Web.Event.EventTarget/foreign.js +51 -0
  595. package/output-es/Web.Event.EventTarget/index.js +3 -0
  596. package/output-es/Web.Event.Internal.Types/index.js +1 -0
  597. package/output-es/Web.File.Blob/foreign.js +19 -0
  598. package/output-es/Web.File.Blob/index.js +18 -0
  599. package/output-es/Web.File.File/foreign.js +2 -0
  600. package/output-es/Web.File.File/index.js +13 -0
  601. package/output-es/Web.File.FileList/foreign.js +7 -0
  602. package/output-es/Web.File.FileList/index.js +16 -0
  603. package/output-es/Web.File.FileReader/foreign.js +51 -0
  604. package/output-es/Web.File.FileReader/index.js +19 -0
  605. package/output-es/Web.File.FileReader.ReadyState/index.js +94 -0
  606. package/output-es/Web.File.Url/foreign.js +11 -0
  607. package/output-es/Web.File.Url/index.js +3 -0
  608. package/output-es/Web.HTML/foreign.js +4 -0
  609. package/output-es/Web.HTML/index.js +3 -0
  610. package/output-es/Web.HTML.Common/index.js +15 -0
  611. package/output-es/Web.HTML.Event.BeforeUnloadEvent/foreign.js +13 -0
  612. package/output-es/Web.HTML.Event.BeforeUnloadEvent/index.js +7 -0
  613. package/output-es/Web.HTML.Event.BeforeUnloadEvent.EventTypes/index.js +2 -0
  614. package/output-es/Web.HTML.Event.DataTransfer/foreign.js +55 -0
  615. package/output-es/Web.HTML.Event.DataTransfer/index.js +63 -0
  616. package/output-es/Web.HTML.Event.DataTransfer.DataTransferItem/foreign.js +23 -0
  617. package/output-es/Web.HTML.Event.DataTransfer.DataTransferItem/index.js +41 -0
  618. package/output-es/Web.HTML.Event.DragEvent/foreign.js +3 -0
  619. package/output-es/Web.HTML.Event.DragEvent/index.js +7 -0
  620. package/output-es/Web.HTML.Event.DragEvent.EventTypes/index.js +9 -0
  621. package/output-es/Web.HTML.Event.ErrorEvent/foreign.js +15 -0
  622. package/output-es/Web.HTML.Event.ErrorEvent/index.js +7 -0
  623. package/output-es/Web.HTML.Event.EventTypes/index.js +68 -0
  624. package/output-es/Web.HTML.Event.HashChangeEvent/foreign.js +7 -0
  625. package/output-es/Web.HTML.Event.HashChangeEvent/index.js +7 -0
  626. package/output-es/Web.HTML.Event.HashChangeEvent.EventTypes/index.js +2 -0
  627. package/output-es/Web.HTML.Event.PageTransitionEvent/foreign.js +3 -0
  628. package/output-es/Web.HTML.Event.PageTransitionEvent/index.js +7 -0
  629. package/output-es/Web.HTML.Event.PageTransitionEvent.EventTypes/index.js +3 -0
  630. package/output-es/Web.HTML.Event.PopStateEvent/foreign.js +3 -0
  631. package/output-es/Web.HTML.Event.PopStateEvent/index.js +7 -0
  632. package/output-es/Web.HTML.Event.PopStateEvent.EventTypes/index.js +2 -0
  633. package/output-es/Web.HTML.Event.TrackEvent/index.js +5 -0
  634. package/output-es/Web.HTML.Event.TrackEvent.EventTypes/index.js +3 -0
  635. package/output-es/Web.HTML.HTMLAnchorElement/foreign.js +117 -0
  636. package/output-es/Web.HTML.HTMLAnchorElement/index.js +36 -0
  637. package/output-es/Web.HTML.HTMLAreaElement/foreign.js +133 -0
  638. package/output-es/Web.HTML.HTMLAreaElement/index.js +34 -0
  639. package/output-es/Web.HTML.HTMLAudioElement/foreign.js +9 -0
  640. package/output-es/Web.HTML.HTMLAudioElement/index.js +40 -0
  641. package/output-es/Web.HTML.HTMLBRElement/index.js +32 -0
  642. package/output-es/Web.HTML.HTMLBaseElement/foreign.js +29 -0
  643. package/output-es/Web.HTML.HTMLBaseElement/index.js +34 -0
  644. package/output-es/Web.HTML.HTMLBodyElement/index.js +32 -0
  645. package/output-es/Web.HTML.HTMLButtonElement/foreign.js +223 -0
  646. package/output-es/Web.HTML.HTMLButtonElement/index.js +73 -0
  647. package/output-es/Web.HTML.HTMLCanvasElement/foreign.js +29 -0
  648. package/output-es/Web.HTML.HTMLCanvasElement/index.js +34 -0
  649. package/output-es/Web.HTML.HTMLDListElement/index.js +32 -0
  650. package/output-es/Web.HTML.HTMLDataElement/foreign.js +13 -0
  651. package/output-es/Web.HTML.HTMLDataElement/index.js +34 -0
  652. package/output-es/Web.HTML.HTMLDataListElement/foreign.js +5 -0
  653. package/output-es/Web.HTML.HTMLDataListElement/index.js +34 -0
  654. package/output-es/Web.HTML.HTMLDivElement/index.js +32 -0
  655. package/output-es/Web.HTML.HTMLDocument/foreign.js +39 -0
  656. package/output-es/Web.HTML.HTMLDocument/index.js +76 -0
  657. package/output-es/Web.HTML.HTMLDocument.ReadyState/index.js +52 -0
  658. package/output-es/Web.HTML.HTMLDocument.VisibilityState/index.js +42 -0
  659. package/output-es/Web.HTML.HTMLElement/foreign.js +194 -0
  660. package/output-es/Web.HTML.HTMLElement/index.js +66 -0
  661. package/output-es/Web.HTML.HTMLEmbedElement/foreign.js +61 -0
  662. package/output-es/Web.HTML.HTMLEmbedElement/index.js +34 -0
  663. package/output-es/Web.HTML.HTMLFieldSetElement/foreign.js +103 -0
  664. package/output-es/Web.HTML.HTMLFieldSetElement/index.js +44 -0
  665. package/output-es/Web.HTML.HTMLFormElement/foreign.js +181 -0
  666. package/output-es/Web.HTML.HTMLFormElement/index.js +58 -0
  667. package/output-es/Web.HTML.HTMLHRElement/index.js +32 -0
  668. package/output-es/Web.HTML.HTMLHeadElement/index.js +32 -0
  669. package/output-es/Web.HTML.HTMLHeadingElement/index.js +32 -0
  670. package/output-es/Web.HTML.HTMLHtmlElement/index.js +32 -0
  671. package/output-es/Web.HTML.HTMLHyperlinkElementUtils/foreign.js +165 -0
  672. package/output-es/Web.HTML.HTMLHyperlinkElementUtils/index.js +26 -0
  673. package/output-es/Web.HTML.HTMLIFrameElement/foreign.js +91 -0
  674. package/output-es/Web.HTML.HTMLIFrameElement/index.js +52 -0
  675. package/output-es/Web.HTML.HTMLImageElement/foreign.js +215 -0
  676. package/output-es/Web.HTML.HTMLImageElement/index.js +140 -0
  677. package/output-es/Web.HTML.HTMLImageElement.CORSMode/index.js +43 -0
  678. package/output-es/Web.HTML.HTMLImageElement.DecodingHint/index.js +53 -0
  679. package/output-es/Web.HTML.HTMLImageElement.Laziness/index.js +43 -0
  680. package/output-es/Web.HTML.HTMLInputElement/foreign.js +727 -0
  681. package/output-es/Web.HTML.HTMLInputElement/index.js +171 -0
  682. package/output-es/Web.HTML.HTMLKeygenElement/foreign.js +151 -0
  683. package/output-es/Web.HTML.HTMLKeygenElement/index.js +64 -0
  684. package/output-es/Web.HTML.HTMLLIElement/foreign.js +13 -0
  685. package/output-es/Web.HTML.HTMLLIElement/index.js +34 -0
  686. package/output-es/Web.HTML.HTMLLabelElement/foreign.js +29 -0
  687. package/output-es/Web.HTML.HTMLLabelElement/index.js +52 -0
  688. package/output-es/Web.HTML.HTMLLegendElement/foreign.js +5 -0
  689. package/output-es/Web.HTML.HTMLLegendElement/index.js +44 -0
  690. package/output-es/Web.HTML.HTMLLinkElement/foreign.js +133 -0
  691. package/output-es/Web.HTML.HTMLLinkElement/index.js +34 -0
  692. package/output-es/Web.HTML.HTMLMapElement/foreign.js +29 -0
  693. package/output-es/Web.HTML.HTMLMapElement/index.js +34 -0
  694. package/output-es/Web.HTML.HTMLMediaElement/foreign.js +295 -0
  695. package/output-es/Web.HTML.HTMLMediaElement/index.js +103 -0
  696. package/output-es/Web.HTML.HTMLMediaElement.CanPlayType/index.js +52 -0
  697. package/output-es/Web.HTML.HTMLMediaElement.NetworkState/index.js +109 -0
  698. package/output-es/Web.HTML.HTMLMediaElement.ReadyState/index.js +124 -0
  699. package/output-es/Web.HTML.HTMLMetaElement/foreign.js +45 -0
  700. package/output-es/Web.HTML.HTMLMetaElement/index.js +34 -0
  701. package/output-es/Web.HTML.HTMLMeterElement/foreign.js +101 -0
  702. package/output-es/Web.HTML.HTMLMeterElement/index.js +34 -0
  703. package/output-es/Web.HTML.HTMLModElement/foreign.js +29 -0
  704. package/output-es/Web.HTML.HTMLModElement/index.js +34 -0
  705. package/output-es/Web.HTML.HTMLOListElement/foreign.js +45 -0
  706. package/output-es/Web.HTML.HTMLOListElement/index.js +34 -0
  707. package/output-es/Web.HTML.HTMLObjectElement/foreign.js +167 -0
  708. package/output-es/Web.HTML.HTMLObjectElement/index.js +74 -0
  709. package/output-es/Web.HTML.HTMLOptGroupElement/foreign.js +29 -0
  710. package/output-es/Web.HTML.HTMLOptGroupElement/index.js +34 -0
  711. package/output-es/Web.HTML.HTMLOptionElement/foreign.js +109 -0
  712. package/output-es/Web.HTML.HTMLOptionElement/index.js +44 -0
  713. package/output-es/Web.HTML.HTMLOutputElement/foreign.js +119 -0
  714. package/output-es/Web.HTML.HTMLOutputElement/index.js +60 -0
  715. package/output-es/Web.HTML.HTMLParagraphElement/index.js +32 -0
  716. package/output-es/Web.HTML.HTMLParamElement/foreign.js +29 -0
  717. package/output-es/Web.HTML.HTMLParamElement/index.js +34 -0
  718. package/output-es/Web.HTML.HTMLPreElement/index.js +32 -0
  719. package/output-es/Web.HTML.HTMLProgressElement/foreign.js +45 -0
  720. package/output-es/Web.HTML.HTMLProgressElement/index.js +34 -0
  721. package/output-es/Web.HTML.HTMLQuoteElement/foreign.js +13 -0
  722. package/output-es/Web.HTML.HTMLQuoteElement/index.js +34 -0
  723. package/output-es/Web.HTML.HTMLScriptElement/foreign.js +109 -0
  724. package/output-es/Web.HTML.HTMLScriptElement/index.js +34 -0
  725. package/output-es/Web.HTML.HTMLSelectElement/foreign.js +223 -0
  726. package/output-es/Web.HTML.HTMLSelectElement/index.js +73 -0
  727. package/output-es/Web.HTML.HTMLSourceElement/foreign.js +45 -0
  728. package/output-es/Web.HTML.HTMLSourceElement/index.js +34 -0
  729. package/output-es/Web.HTML.HTMLSpanElement/index.js +32 -0
  730. package/output-es/Web.HTML.HTMLStyleElement/foreign.js +29 -0
  731. package/output-es/Web.HTML.HTMLStyleElement/index.js +34 -0
  732. package/output-es/Web.HTML.HTMLTableCaptionElement/index.js +32 -0
  733. package/output-es/Web.HTML.HTMLTableCellElement/foreign.js +37 -0
  734. package/output-es/Web.HTML.HTMLTableCellElement/index.js +34 -0
  735. package/output-es/Web.HTML.HTMLTableColElement/foreign.js +13 -0
  736. package/output-es/Web.HTML.HTMLTableColElement/index.js +34 -0
  737. package/output-es/Web.HTML.HTMLTableDataCellElement/index.js +36 -0
  738. package/output-es/Web.HTML.HTMLTableElement/foreign.js +153 -0
  739. package/output-es/Web.HTML.HTMLTableElement/index.js +103 -0
  740. package/output-es/Web.HTML.HTMLTableHeaderCellElement/foreign.js +29 -0
  741. package/output-es/Web.HTML.HTMLTableHeaderCellElement/index.js +38 -0
  742. package/output-es/Web.HTML.HTMLTableRowElement/foreign.js +41 -0
  743. package/output-es/Web.HTML.HTMLTableRowElement/index.js +38 -0
  744. package/output-es/Web.HTML.HTMLTableSectionElement/foreign.js +25 -0
  745. package/output-es/Web.HTML.HTMLTableSectionElement/index.js +38 -0
  746. package/output-es/Web.HTML.HTMLTemplateElement/foreign.js +5 -0
  747. package/output-es/Web.HTML.HTMLTemplateElement/index.js +34 -0
  748. package/output-es/Web.HTML.HTMLTextAreaElement/foreign.js +403 -0
  749. package/output-es/Web.HTML.HTMLTextAreaElement/index.js +107 -0
  750. package/output-es/Web.HTML.HTMLTimeElement/foreign.js +13 -0
  751. package/output-es/Web.HTML.HTMLTimeElement/index.js +34 -0
  752. package/output-es/Web.HTML.HTMLTitleElement/foreign.js +13 -0
  753. package/output-es/Web.HTML.HTMLTitleElement/index.js +34 -0
  754. package/output-es/Web.HTML.HTMLTrackElement/foreign.js +84 -0
  755. package/output-es/Web.HTML.HTMLTrackElement/index.js +44 -0
  756. package/output-es/Web.HTML.HTMLTrackElement.ReadyState/index.js +109 -0
  757. package/output-es/Web.HTML.HTMLUListElement/index.js +32 -0
  758. package/output-es/Web.HTML.HTMLVideoElement/foreign.js +63 -0
  759. package/output-es/Web.HTML.HTMLVideoElement/index.js +38 -0
  760. package/output-es/Web.HTML.History/foreign.js +49 -0
  761. package/output-es/Web.HTML.History/index.js +16 -0
  762. package/output-es/Web.HTML.Location/foreign.js +169 -0
  763. package/output-es/Web.HTML.Location/index.js +25 -0
  764. package/output-es/Web.HTML.Navigator/foreign.js +29 -0
  765. package/output-es/Web.HTML.Navigator/index.js +3 -0
  766. package/output-es/Web.HTML.SelectionMode/index.js +62 -0
  767. package/output-es/Web.HTML.ValidityState/foreign.js +3 -0
  768. package/output-es/Web.HTML.ValidityState/index.js +15 -0
  769. package/output-es/Web.HTML.Window/foreign.js +239 -0
  770. package/output-es/Web.HTML.Window/index.js +86 -0
  771. package/output-es/Web.Internal.FFI/foreign.js +20 -0
  772. package/output-es/Web.Internal.FFI/index.js +5 -0
  773. package/output-es/Web.Storage.Event.StorageEvent/foreign.js +19 -0
  774. package/output-es/Web.Storage.Event.StorageEvent/index.js +13 -0
  775. package/output-es/Web.Storage.Storage/foreign.js +45 -0
  776. package/output-es/Web.Storage.Storage/index.js +52 -0
  777. package/output-es/Web.XHR.EventTypes/index.js +8 -0
  778. package/output-es/Web.XHR.FormData/foreign.js +32 -0
  779. package/output-es/Web.XHR.FormData/index.js +52 -0
  780. package/output-es/Web.XHR.ProgressEvent/foreign.js +11 -0
  781. package/output-es/Web.XHR.ProgressEvent/index.js +7 -0
  782. package/output-es/Web.XHR.ReadyState/index.js +99 -0
  783. package/output-es/Web.XHR.ResponseType/index.js +5 -0
  784. package/output-es/Web.XHR.XMLHttpRequest/foreign.js +41 -0
  785. package/output-es/Web.XHR.XMLHttpRequest/index.js +95 -0
  786. package/output-es/Web.XHR.XMLHttpRequestUpload/index.js +3 -0
  787. package/output-es/Website.Test.Article.EnergyScatter/index.js +12 -0
  788. package/output-es/Website.Test.Article.RenewablesLinked/index.js +14 -0
  789. package/output-es/package.json +1 -0
  790. package/output-es/runtime.js +33 -0
  791. package/package.json +3 -2
  792. package/script/install-website.sh +8 -1
@@ -0,0 +1,1732 @@
1
+ import * as $runtime from "../runtime.js";
2
+ import * as Data$dEither from "../Data.Either/index.js";
3
+ import * as Data$dEq from "../Data.Eq/index.js";
4
+ import * as Data$dFoldable from "../Data.Foldable/index.js";
5
+ import * as Data$dFunction from "../Data.Function/index.js";
6
+ import * as Data$dList$dTypes from "../Data.List.Types/index.js";
7
+ import * as Data$dMap$dInternal from "../Data.Map.Internal/index.js";
8
+ import * as Data$dOrd from "../Data.Ord/index.js";
9
+ import * as Data$dOrdering from "../Data.Ordering/index.js";
10
+ import * as Data$dSet from "../Data.Set/index.js";
11
+ import * as Data$dTraversable from "../Data.Traversable/index.js";
12
+ import * as Data$dTuple from "../Data.Tuple/index.js";
13
+ import * as Dict from "../Dict/index.js";
14
+ import * as Effect$dException from "../Effect.Exception/index.js";
15
+ import * as Foreign$dObject from "../Foreign.Object/index.js";
16
+ import * as Graph from "../Graph/index.js";
17
+ import * as Lattice from "../Lattice/index.js";
18
+ import * as Unsafe$dCoerce from "../Unsafe.Coerce/index.js";
19
+ import * as Util from "../Util/index.js";
20
+ import * as Util$dMap from "../Util.Map/index.js";
21
+ import * as Util$dPair from "../Util.Pair/index.js";
22
+ import * as Util$dSet from "../Util.Set/index.js";
23
+ const $Cont = (tag, _1) => ({tag, _1});
24
+ const $Elim = (tag, _1, _2) => ({tag, _1, _2});
25
+ const $Expr = (tag, _1, _2, _3, _4) => ({tag, _1, _2, _3, _4});
26
+ const $RecDefs = (_1, _2) => ({tag: "RecDefs", _1, _2});
27
+ const $VarDef = (_1, _2) => ({tag: "VarDef", _1, _2});
28
+ const union = /* #__PURE__ */ (() => Util$dSet.setSet(Graph.ordDVertex$p).union)();
29
+ const unions1 = /* #__PURE__ */ Data$dSet.unions(Data$dList$dTypes.foldableList)(Graph.ordDVertex$p);
30
+ const identity = x => x;
31
+ const compare3 = x => y => {
32
+ const v = Data$dOrd.ordString.compare(x._1)(y._1);
33
+ if (v === "LT") { return Data$dOrdering.LT; }
34
+ if (v === "GT") { return Data$dOrdering.GT; }
35
+ return Data$dOrd.ordString.compare(x._2)(y._2);
36
+ };
37
+ const compare4 = /* #__PURE__ */ (() => Data$dSet.ordSet(Data$dOrd.ordString).compare)();
38
+ const setSet = /* #__PURE__ */ Util$dSet.setSet(Data$dOrd.ordString);
39
+ const unions2 = /* #__PURE__ */ Data$dSet.unions(Dict.foldableDict)(Data$dOrd.ordString);
40
+ const fromFoldable = /* #__PURE__ */ (() => {
41
+ const go = go$a0$copy => go$a1$copy => {
42
+ let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
43
+ while (go$c) {
44
+ const b = go$a0, v = go$a1;
45
+ if (v.tag === "Nil") {
46
+ go$c = false;
47
+ go$r = b;
48
+ continue;
49
+ }
50
+ if (v.tag === "Cons") {
51
+ go$a0 = Data$dMap$dInternal.insert(Data$dOrd.ordString)(v._1)()(b);
52
+ go$a1 = v._2;
53
+ continue;
54
+ }
55
+ $runtime.fail();
56
+ }
57
+ return go$r;
58
+ };
59
+ const $0 = go(Data$dMap$dInternal.Leaf);
60
+ return x => $0((() => {
61
+ const go$1 = (m$p, z$p) => {
62
+ if (m$p.tag === "Leaf") { return z$p; }
63
+ if (m$p.tag === "Node") { return go$1(m$p._5, Data$dList$dTypes.$List("Cons", m$p._3, go$1(m$p._6, z$p))); }
64
+ $runtime.fail();
65
+ };
66
+ return go$1(x, Data$dList$dTypes.Nil);
67
+ })());
68
+ })();
69
+ const unions3 = /* #__PURE__ */ Data$dSet.unions(Data$dList$dTypes.foldableList)(Data$dOrd.ordString);
70
+ const asMaplet = /* #__PURE__ */ Util$dMap.asMaplet(Dict.mapDictString);
71
+ const ContExpr = value0 => $Cont("ContExpr", value0);
72
+ const ContElim = value0 => $Cont("ContElim", value0);
73
+ const Var = value0 => $Expr("Var", value0);
74
+ const Op = value0 => $Expr("Op", value0);
75
+ const Int = value0 => value1 => $Expr("Int", value0, value1);
76
+ const Float = value0 => value1 => $Expr("Float", value0, value1);
77
+ const Str = value0 => value1 => $Expr("Str", value0, value1);
78
+ const Dictionary = value0 => value1 => $Expr("Dictionary", value0, value1);
79
+ const Constr = value0 => value1 => value2 => $Expr("Constr", value0, value1, value2);
80
+ const Matrix = value0 => value1 => value2 => value3 => $Expr("Matrix", value0, value1, value2, value3);
81
+ const Lambda = value0 => value1 => $Expr("Lambda", value0, value1);
82
+ const DProject = value0 => value1 => $Expr("DProject", value0, value1);
83
+ const App = value0 => value1 => $Expr("App", value0, value1);
84
+ const Let = value0 => value1 => $Expr("Let", value0, value1);
85
+ const LetRec = value0 => value1 => $Expr("LetRec", value0, value1);
86
+ const DocExpr = value0 => value1 => $Expr("DocExpr", value0, value1);
87
+ const ElimVar = value0 => value1 => $Elim("ElimVar", value0, value1);
88
+ const ElimConstr = value0 => $Elim("ElimConstr", value0);
89
+ const ElimDict = value0 => value1 => $Elim("ElimDict", value0, value1);
90
+ const VarDef = value0 => value1 => $VarDef(value0, value1);
91
+ const RecDefs = value0 => value1 => $RecDefs(value0, value1);
92
+ const Module = x => x;
93
+ const typeNameRecDefs = {typeName: v => "RecDefs"};
94
+ const pack = x => k => k(typeNameRecDefs)(x);
95
+ const typeNameExpr = {typeName: v => "Expr"};
96
+ const pack1 = x => k => k(typeNameExpr)(x);
97
+ const verticesVarDefVertex = {vertices: v => union(verticesElimVertex.vertices(v._1))(verticesExprVertex.vertices(v._2))};
98
+ const verticesRecDefsVertex = {
99
+ vertices: v => union(Data$dMap$dInternal.$$$Map("Node", 1, 1, Data$dTuple.$Tuple(v._1, pack(v)), undefined, Data$dMap$dInternal.Leaf, Data$dMap$dInternal.Leaf))(Graph.verticesDict(verticesElimVertex).vertices(v._2))
100
+ };
101
+ const verticesExprVertex = {
102
+ vertices: v => {
103
+ if (v.tag === "Var") { return Data$dMap$dInternal.Leaf; }
104
+ if (v.tag === "Op") { return Data$dMap$dInternal.Leaf; }
105
+ if (v.tag === "Int") { return Data$dMap$dInternal.$$$Map("Node", 1, 1, Data$dTuple.$Tuple(v._1, pack1(v)), undefined, Data$dMap$dInternal.Leaf, Data$dMap$dInternal.Leaf); }
106
+ if (v.tag === "Float") { return Data$dMap$dInternal.$$$Map("Node", 1, 1, Data$dTuple.$Tuple(v._1, pack1(v)), undefined, Data$dMap$dInternal.Leaf, Data$dMap$dInternal.Leaf); }
107
+ if (v.tag === "Str") { return Data$dMap$dInternal.$$$Map("Node", 1, 1, Data$dTuple.$Tuple(v._1, pack1(v)), undefined, Data$dMap$dInternal.Leaf, Data$dMap$dInternal.Leaf); }
108
+ if (v.tag === "Dictionary") {
109
+ return union(Data$dMap$dInternal.$$$Map("Node", 1, 1, Data$dTuple.$Tuple(v._1, pack1(v)), undefined, Data$dMap$dInternal.Leaf, Data$dMap$dInternal.Leaf))(unions1(Data$dList$dTypes.listMap(v1 => union(verticesExprVertex.vertices(v1._1))(verticesExprVertex.vertices(v1._2)))(v._2)));
110
+ }
111
+ if (v.tag === "Constr") {
112
+ return union(Data$dMap$dInternal.$$$Map("Node", 1, 1, Data$dTuple.$Tuple(v._1, pack1(v)), undefined, Data$dMap$dInternal.Leaf, Data$dMap$dInternal.Leaf))(unions1(Data$dList$dTypes.listMap(verticesExprVertex.vertices)(v._3)));
113
+ }
114
+ if (v.tag === "Matrix") {
115
+ return union(Data$dMap$dInternal.$$$Map("Node", 1, 1, Data$dTuple.$Tuple(v._1, pack1(v)), undefined, Data$dMap$dInternal.Leaf, Data$dMap$dInternal.Leaf))(union(verticesExprVertex.vertices(v._2))(verticesExprVertex.vertices(v._4)));
116
+ }
117
+ if (v.tag === "Lambda") {
118
+ return union(Data$dMap$dInternal.$$$Map("Node", 1, 1, Data$dTuple.$Tuple(v._1, pack1(v)), undefined, Data$dMap$dInternal.Leaf, Data$dMap$dInternal.Leaf))(verticesElimVertex.vertices(v._2));
119
+ }
120
+ if (v.tag === "DProject") { return union(verticesExprVertex.vertices(v._1))(verticesExprVertex.vertices(v._2)); }
121
+ if (v.tag === "App") { return union(verticesExprVertex.vertices(v._1))(verticesExprVertex.vertices(v._2)); }
122
+ if (v.tag === "Let") { return union(verticesVarDefVertex.vertices(v._1))(verticesExprVertex.vertices(v._2)); }
123
+ if (v.tag === "LetRec") { return union(verticesRecDefsVertex.vertices(v._1))(verticesExprVertex.vertices(v._2)); }
124
+ if (v.tag === "DocExpr") { return union(verticesExprVertex.vertices(v._1))(verticesExprVertex.vertices(v._2)); }
125
+ $runtime.fail();
126
+ }
127
+ };
128
+ const verticesElimVertex = {
129
+ vertices: v => {
130
+ if (v.tag === "ElimVar") { return verticesContVertex.vertices(v._2); }
131
+ if (v.tag === "ElimConstr") { return Graph.verticesDict(verticesContVertex).vertices(v._1); }
132
+ if (v.tag === "ElimDict") { return verticesContVertex.vertices(v._2); }
133
+ $runtime.fail();
134
+ }
135
+ };
136
+ const verticesContVertex = {
137
+ vertices: v => {
138
+ if (v.tag === "ContExpr") { return verticesExprVertex.vertices(v._1); }
139
+ if (v.tag === "ContElim") { return verticesElimVertex.vertices(v._1); }
140
+ $runtime.fail();
141
+ }
142
+ };
143
+ const verticesModuleVertex = {
144
+ vertices: v => unions1(Data$dList$dTypes.listMap(v1 => {
145
+ if (v1.tag === "Left") { return verticesVarDefVertex.vertices(v1._1); }
146
+ if (v1.tag === "Right") { return verticesRecDefsVertex.vertices(v1._1); }
147
+ $runtime.fail();
148
+ })(v))
149
+ };
150
+ const newtypeModule_ = {Coercible0: () => {}};
151
+ const joinSemilatticeRecDefs = dictJoinSemilattice => (
152
+ {join: v => v1 => $RecDefs(dictJoinSemilattice.join(v._1)(v1._1), Foreign$dObject.unionWith(joinSemilatticeElim(dictJoinSemilattice).join)(v._2)(v1._2))}
153
+ );
154
+ const joinSemilatticeExpr = dictJoinSemilattice => (
155
+ {
156
+ join: v => v1 => {
157
+ if (v.tag === "Var") {
158
+ if (v1.tag === "Var") {
159
+ const $0 = v._1;
160
+ const $1 = v1._1;
161
+ return $Expr("Var", Util.assertWhen(false)("mustEq")(v$1 => $0 === $1)($0));
162
+ }
163
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
164
+ }
165
+ if (v.tag === "Op") {
166
+ if (v1.tag === "Op") {
167
+ const $0 = v._1;
168
+ const $1 = v1._1;
169
+ return $Expr("Op", Util.assertWhen(false)("mustEq")(v$1 => $0 === $1)($0));
170
+ }
171
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
172
+ }
173
+ if (v.tag === "Int") {
174
+ if (v1.tag === "Int") {
175
+ const $0 = v._2;
176
+ const $1 = v1._2;
177
+ return $Expr("Int", dictJoinSemilattice.join(v._1)(v1._1), Util.assertWhen(false)("mustEq")(v$1 => $0 === $1)($0));
178
+ }
179
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
180
+ }
181
+ if (v.tag === "Str") {
182
+ if (v1.tag === "Str") {
183
+ const $0 = v._2;
184
+ const $1 = v1._2;
185
+ return $Expr("Str", dictJoinSemilattice.join(v._1)(v1._1), Util.assertWhen(false)("mustEq")(v$1 => $0 === $1)($0));
186
+ }
187
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
188
+ }
189
+ if (v.tag === "Float") {
190
+ if (v1.tag === "Float") {
191
+ const $0 = v._2;
192
+ const $1 = v1._2;
193
+ return $Expr("Float", dictJoinSemilattice.join(v._1)(v1._1), Util.assertWhen(false)("mustEq")(v$1 => $0 === $1)($0));
194
+ }
195
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
196
+ }
197
+ if (v.tag === "Dictionary") {
198
+ if (v1.tag === "Dictionary") {
199
+ return $Expr(
200
+ "Dictionary",
201
+ dictJoinSemilattice.join(v._1)(v1._1),
202
+ Lattice.joinSemilatticeList((() => {
203
+ const $0 = joinSemilatticeExpr(dictJoinSemilattice);
204
+ return {join: v$1 => v1$1 => Util$dPair.$Pair($0.join(v$1._1)(v1$1._1), $0.join(v$1._2)(v1$1._2))};
205
+ })()).join(v._2)(v1._2)
206
+ );
207
+ }
208
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
209
+ }
210
+ if (v.tag === "Constr") {
211
+ if (v1.tag === "Constr") {
212
+ const $0 = v._2;
213
+ const $1 = v1._2;
214
+ return $Expr(
215
+ "Constr",
216
+ dictJoinSemilattice.join(v._1)(v1._1),
217
+ Util.assertWhen(false)("mustEq")(v$1 => $0 === $1)($0),
218
+ Lattice.joinSemilatticeList(joinSemilatticeExpr(dictJoinSemilattice)).join(v._3)(v1._3)
219
+ );
220
+ }
221
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
222
+ }
223
+ if (v.tag === "Matrix") {
224
+ if (v1.tag === "Matrix") {
225
+ const $0 = v._3._1;
226
+ const $1 = v1._3._1;
227
+ const $2 = v._3._2;
228
+ const $3 = v1._3._2;
229
+ return $Expr(
230
+ "Matrix",
231
+ dictJoinSemilattice.join(v._1)(v1._1),
232
+ joinSemilatticeExpr(dictJoinSemilattice).join(v._2)(v1._2),
233
+ Data$dTuple.$Tuple(Util.assertWhen(false)("mustEq")(v$1 => $0 === $1)($0), Util.assertWhen(false)("mustEq")(v$1 => $2 === $3)($2)),
234
+ joinSemilatticeExpr(dictJoinSemilattice).join(v._4)(v1._4)
235
+ );
236
+ }
237
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
238
+ }
239
+ if (v.tag === "Lambda") {
240
+ if (v1.tag === "Lambda") { return $Expr("Lambda", dictJoinSemilattice.join(v._1)(v1._1), joinSemilatticeElim(dictJoinSemilattice).join(v._2)(v1._2)); }
241
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
242
+ }
243
+ if (v.tag === "DProject") {
244
+ if (v1.tag === "DProject") {
245
+ return $Expr("DProject", joinSemilatticeExpr(dictJoinSemilattice).join(v._1)(v1._1), joinSemilatticeExpr(dictJoinSemilattice).join(v._2)(v1._2));
246
+ }
247
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
248
+ }
249
+ if (v.tag === "App") {
250
+ if (v1.tag === "App") { return $Expr("App", joinSemilatticeExpr(dictJoinSemilattice).join(v._1)(v1._1), joinSemilatticeExpr(dictJoinSemilattice).join(v._2)(v1._2)); }
251
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
252
+ }
253
+ if (v.tag === "LetRec") {
254
+ if (v1.tag === "LetRec") {
255
+ return $Expr("LetRec", joinSemilatticeRecDefs(dictJoinSemilattice).join(v._1)(v1._1), joinSemilatticeExpr(dictJoinSemilattice).join(v._2)(v1._2));
256
+ }
257
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
258
+ }
259
+ if (v.tag === "DocExpr" && v1.tag === "DocExpr") {
260
+ return $Expr("DocExpr", joinSemilatticeExpr(dictJoinSemilattice).join(v._1)(v1._1), joinSemilatticeExpr(dictJoinSemilattice).join(v._2)(v1._2));
261
+ }
262
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
263
+ }
264
+ }
265
+ );
266
+ const joinSemilatticeElim = dictJoinSemilattice => (
267
+ {
268
+ join: v => v1 => {
269
+ if (v.tag === "ElimVar") {
270
+ if (v1.tag === "ElimVar") {
271
+ const $0 = v._1;
272
+ const $1 = v1._1;
273
+ return $Elim("ElimVar", Util.assertWhen(false)("mustEq")(v$1 => $0 === $1)($0), joinSemilatticeCont(dictJoinSemilattice).join(v._2)(v1._2));
274
+ }
275
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
276
+ }
277
+ if (v.tag === "ElimConstr") {
278
+ if (v1.tag === "ElimConstr") { return $Elim("ElimConstr", Foreign$dObject.unionWith(joinSemilatticeCont(dictJoinSemilattice).join)(v._1)(v1._1)); }
279
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
280
+ }
281
+ if (v.tag === "ElimDict" && v1.tag === "ElimDict") {
282
+ const $0 = v._1;
283
+ const $1 = v1._1;
284
+ return $Elim(
285
+ "ElimDict",
286
+ Util.assertWhen(false)("mustEq")(v$1 => Data$dMap$dInternal.eqMap(Data$dEq.eqString)(Data$dEq.eqUnit).eq($0)($1))($0),
287
+ joinSemilatticeCont(dictJoinSemilattice).join(v._2)(v1._2)
288
+ );
289
+ }
290
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
291
+ }
292
+ }
293
+ );
294
+ const joinSemilatticeCont = dictJoinSemilattice => (
295
+ {
296
+ join: v => v1 => {
297
+ if (v.tag === "ContExpr") {
298
+ if (v1.tag === "ContExpr") { return $Cont("ContExpr", joinSemilatticeExpr(dictJoinSemilattice).join(v._1)(v1._1)); }
299
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
300
+ }
301
+ if (v.tag === "ContElim" && v1.tag === "ContElim") { return $Cont("ContElim", joinSemilatticeElim(dictJoinSemilattice).join(v._1)(v1._1)); }
302
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
303
+ }
304
+ }
305
+ );
306
+ const joinSemilatticeVarDef = dictJoinSemilattice => (
307
+ {join: v => v1 => $VarDef(joinSemilatticeElim(dictJoinSemilattice).join(v._1)(v1._1), joinSemilatticeExpr(dictJoinSemilattice).join(v._2)(v1._2))}
308
+ );
309
+ const functorVarDef = {map: f => m => $VarDef(functorElim.map(f)(m._1), functorExpr.map(f)(m._2))};
310
+ const functorRecDefs = {map: f => m => $RecDefs(f(m._1), Foreign$dObject._fmapObject(m._2, functorElim.map(f)))};
311
+ const functorExpr = {
312
+ map: f => m => {
313
+ if (m.tag === "Var") { return $Expr("Var", m._1); }
314
+ if (m.tag === "Op") { return $Expr("Op", m._1); }
315
+ if (m.tag === "Int") { return $Expr("Int", f(m._1), m._2); }
316
+ if (m.tag === "Float") { return $Expr("Float", f(m._1), m._2); }
317
+ if (m.tag === "Str") { return $Expr("Str", f(m._1), m._2); }
318
+ if (m.tag === "Dictionary") {
319
+ return $Expr(
320
+ "Dictionary",
321
+ f(m._1),
322
+ Data$dList$dTypes.listMap((() => {
323
+ const $0 = functorExpr.map(f);
324
+ return v => Util$dPair.$Pair($0(v._1), $0(v._2));
325
+ })())(m._2)
326
+ );
327
+ }
328
+ if (m.tag === "Constr") { return $Expr("Constr", f(m._1), m._2, Data$dList$dTypes.listMap(functorExpr.map(f))(m._3)); }
329
+ if (m.tag === "Matrix") { return $Expr("Matrix", f(m._1), functorExpr.map(f)(m._2), m._3, functorExpr.map(f)(m._4)); }
330
+ if (m.tag === "Lambda") { return $Expr("Lambda", f(m._1), functorElim.map(f)(m._2)); }
331
+ if (m.tag === "DProject") { return $Expr("DProject", functorExpr.map(f)(m._1), functorExpr.map(f)(m._2)); }
332
+ if (m.tag === "App") { return $Expr("App", functorExpr.map(f)(m._1), functorExpr.map(f)(m._2)); }
333
+ if (m.tag === "Let") { return $Expr("Let", functorVarDef.map(f)(m._1), functorExpr.map(f)(m._2)); }
334
+ if (m.tag === "LetRec") { return $Expr("LetRec", functorRecDefs.map(f)(m._1), functorExpr.map(f)(m._2)); }
335
+ if (m.tag === "DocExpr") { return $Expr("DocExpr", functorExpr.map(f)(m._1), functorExpr.map(f)(m._2)); }
336
+ $runtime.fail();
337
+ }
338
+ };
339
+ const functorElim = {
340
+ map: f => m => {
341
+ if (m.tag === "ElimVar") { return $Elim("ElimVar", m._1, functorCont.map(f)(m._2)); }
342
+ if (m.tag === "ElimConstr") { return $Elim("ElimConstr", Foreign$dObject._fmapObject(m._1, functorCont.map(f))); }
343
+ if (m.tag === "ElimDict") { return $Elim("ElimDict", m._1, functorCont.map(f)(m._2)); }
344
+ $runtime.fail();
345
+ }
346
+ };
347
+ const functorCont = {
348
+ map: f => m => {
349
+ if (m.tag === "ContExpr") { return $Cont("ContExpr", functorExpr.map(f)(m._1)); }
350
+ if (m.tag === "ContElim") { return $Cont("ContElim", functorElim.map(f)(m._1)); }
351
+ $runtime.fail();
352
+ }
353
+ };
354
+ const functorModule = {
355
+ map: f => m => Data$dList$dTypes.listMap(v2 => {
356
+ if (v2.tag === "Left") { return Data$dEither.$Either("Left", functorVarDef.map(f)(v2._1)); }
357
+ if (v2.tag === "Right") { return Data$dEither.$Either("Right", functorRecDefs.map(f)(v2._1)); }
358
+ $runtime.fail();
359
+ })(m)
360
+ };
361
+ const foldableVarDef = {
362
+ foldl: f => z => m => foldableExpr.foldl(f)(foldableElim.foldl(f)(z)(m._1))(m._2),
363
+ foldr: f => z => m => foldableElim.foldr(f)(foldableExpr.foldr(f)(z)(m._2))(m._1),
364
+ foldMap: dictMonoid => f => m => dictMonoid.Semigroup0().append(foldableElim.foldMap(dictMonoid)(f)(m._1))(foldableExpr.foldMap(dictMonoid)(f)(m._2))
365
+ };
366
+ const foldableRecDefs = {
367
+ foldl: f => z => m => {
368
+ const $0 = foldableElim.foldl(f);
369
+ return Foreign$dObject.fold(z$1 => v => $0(z$1))(f(z)(m._1))(m._2);
370
+ },
371
+ foldr: f => z => m => f(m._1)((() => {
372
+ const $0 = foldableElim.foldr(f);
373
+ return Data$dFoldable.foldrArray(b => a => $0(a)(b))(z)(Foreign$dObject.values(m._2));
374
+ })()),
375
+ foldMap: dictMonoid => {
376
+ const foldMap1 = Foreign$dObject.foldMap(dictMonoid);
377
+ return f => m => dictMonoid.Semigroup0().append(f(m._1))((() => {
378
+ const $0 = foldableElim.foldMap(dictMonoid)(f);
379
+ return foldMap1(v => $0)(m._2);
380
+ })());
381
+ }
382
+ };
383
+ const foldableExpr = {
384
+ foldl: f => z => m => {
385
+ if (m.tag === "Var") { return z; }
386
+ if (m.tag === "Op") { return z; }
387
+ if (m.tag === "Int") { return f(z)(m._1); }
388
+ if (m.tag === "Float") { return f(z)(m._1); }
389
+ if (m.tag === "Str") { return f(z)(m._1); }
390
+ if (m.tag === "Dictionary") {
391
+ const $0 = foldableExpr.foldl(f);
392
+ const go = go$a0$copy => go$a1$copy => {
393
+ let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
394
+ while (go$c) {
395
+ const b = go$a0, v = go$a1;
396
+ if (v.tag === "Nil") {
397
+ go$c = false;
398
+ go$r = b;
399
+ continue;
400
+ }
401
+ if (v.tag === "Cons") {
402
+ go$a0 = $0($0(b)(v._1._1))(v._1._2);
403
+ go$a1 = v._2;
404
+ continue;
405
+ }
406
+ $runtime.fail();
407
+ }
408
+ return go$r;
409
+ };
410
+ return go(f(z)(m._1))(m._2);
411
+ }
412
+ if (m.tag === "Constr") {
413
+ const $0 = foldableExpr.foldl(f);
414
+ const go = go$a0$copy => go$a1$copy => {
415
+ let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
416
+ while (go$c) {
417
+ const b = go$a0, v = go$a1;
418
+ if (v.tag === "Nil") {
419
+ go$c = false;
420
+ go$r = b;
421
+ continue;
422
+ }
423
+ if (v.tag === "Cons") {
424
+ go$a0 = $0(b)(v._1);
425
+ go$a1 = v._2;
426
+ continue;
427
+ }
428
+ $runtime.fail();
429
+ }
430
+ return go$r;
431
+ };
432
+ return go(f(z)(m._1))(m._3);
433
+ }
434
+ if (m.tag === "Matrix") { return foldableExpr.foldl(f)(foldableExpr.foldl(f)(f(z)(m._1))(m._2))(m._4); }
435
+ if (m.tag === "Lambda") { return foldableElim.foldl(f)(f(z)(m._1))(m._2); }
436
+ if (m.tag === "DProject") { return foldableExpr.foldl(f)(foldableExpr.foldl(f)(z)(m._1))(m._2); }
437
+ if (m.tag === "App") { return foldableExpr.foldl(f)(foldableExpr.foldl(f)(z)(m._1))(m._2); }
438
+ if (m.tag === "Let") { return foldableExpr.foldl(f)(foldableVarDef.foldl(f)(z)(m._1))(m._2); }
439
+ if (m.tag === "LetRec") { return foldableExpr.foldl(f)(foldableRecDefs.foldl(f)(z)(m._1))(m._2); }
440
+ if (m.tag === "DocExpr") { return foldableExpr.foldl(f)(foldableExpr.foldl(f)(z)(m._1))(m._2); }
441
+ $runtime.fail();
442
+ },
443
+ foldr: f => z => m => {
444
+ if (m.tag === "Var") { return z; }
445
+ if (m.tag === "Op") { return z; }
446
+ if (m.tag === "Int") { return f(m._1)(z); }
447
+ if (m.tag === "Float") { return f(m._1)(z); }
448
+ if (m.tag === "Str") { return f(m._1)(z); }
449
+ if (m.tag === "Dictionary") {
450
+ return f(m._1)(Data$dList$dTypes.foldableList.foldr((() => {
451
+ const $0 = foldableExpr.foldr(f);
452
+ const $1 = Data$dFoldable.foldrDefault(Util$dPair.foldablePair)(b => a => $0(a)(b));
453
+ return b => a => $1(a)(b);
454
+ })())(z)(m._2));
455
+ }
456
+ if (m.tag === "Constr") {
457
+ return f(m._1)(Data$dList$dTypes.foldableList.foldr((() => {
458
+ const $0 = foldableExpr.foldr(f);
459
+ return b => a => $0(a)(b);
460
+ })())(z)(m._3));
461
+ }
462
+ if (m.tag === "Matrix") { return f(m._1)(foldableExpr.foldr(f)(foldableExpr.foldr(f)(z)(m._4))(m._2)); }
463
+ if (m.tag === "Lambda") { return f(m._1)(foldableElim.foldr(f)(z)(m._2)); }
464
+ if (m.tag === "DProject") { return foldableExpr.foldr(f)(foldableExpr.foldr(f)(z)(m._2))(m._1); }
465
+ if (m.tag === "App") { return foldableExpr.foldr(f)(foldableExpr.foldr(f)(z)(m._2))(m._1); }
466
+ if (m.tag === "Let") { return foldableVarDef.foldr(f)(foldableExpr.foldr(f)(z)(m._2))(m._1); }
467
+ if (m.tag === "LetRec") { return foldableRecDefs.foldr(f)(foldableExpr.foldr(f)(z)(m._2))(m._1); }
468
+ if (m.tag === "DocExpr") { return foldableExpr.foldr(f)(foldableExpr.foldr(f)(z)(m._2))(m._1); }
469
+ $runtime.fail();
470
+ },
471
+ foldMap: dictMonoid => {
472
+ const mempty = dictMonoid.mempty;
473
+ const $0 = dictMonoid.Semigroup0();
474
+ const foldMap3 = Data$dList$dTypes.foldableList.foldMap(dictMonoid);
475
+ return f => m => {
476
+ if (m.tag === "Var") { return mempty; }
477
+ if (m.tag === "Op") { return mempty; }
478
+ if (m.tag === "Int") { return f(m._1); }
479
+ if (m.tag === "Float") { return f(m._1); }
480
+ if (m.tag === "Str") { return f(m._1); }
481
+ if (m.tag === "Dictionary") { return $0.append(f(m._1))(foldMap3(Util$dPair.foldablePair.foldMap(dictMonoid)(foldableExpr.foldMap(dictMonoid)(f)))(m._2)); }
482
+ if (m.tag === "Constr") { return $0.append(f(m._1))(foldMap3(foldableExpr.foldMap(dictMonoid)(f))(m._3)); }
483
+ if (m.tag === "Matrix") { return $0.append(f(m._1))($0.append(foldableExpr.foldMap(dictMonoid)(f)(m._2))(foldableExpr.foldMap(dictMonoid)(f)(m._4))); }
484
+ if (m.tag === "Lambda") { return $0.append(f(m._1))(foldableElim.foldMap(dictMonoid)(f)(m._2)); }
485
+ if (m.tag === "DProject") { return $0.append(foldableExpr.foldMap(dictMonoid)(f)(m._1))(foldableExpr.foldMap(dictMonoid)(f)(m._2)); }
486
+ if (m.tag === "App") { return $0.append(foldableExpr.foldMap(dictMonoid)(f)(m._1))(foldableExpr.foldMap(dictMonoid)(f)(m._2)); }
487
+ if (m.tag === "Let") { return $0.append(foldableVarDef.foldMap(dictMonoid)(f)(m._1))(foldableExpr.foldMap(dictMonoid)(f)(m._2)); }
488
+ if (m.tag === "LetRec") { return $0.append(foldableRecDefs.foldMap(dictMonoid)(f)(m._1))(foldableExpr.foldMap(dictMonoid)(f)(m._2)); }
489
+ if (m.tag === "DocExpr") { return $0.append(foldableExpr.foldMap(dictMonoid)(f)(m._1))(foldableExpr.foldMap(dictMonoid)(f)(m._2)); }
490
+ $runtime.fail();
491
+ };
492
+ }
493
+ };
494
+ const foldableElim = {
495
+ foldl: f => z => m => {
496
+ if (m.tag === "ElimVar") { return foldableCont.foldl(f)(z)(m._2); }
497
+ if (m.tag === "ElimConstr") {
498
+ const $0 = foldableCont.foldl(f);
499
+ return Foreign$dObject.fold(z$1 => v => $0(z$1))(z)(m._1);
500
+ }
501
+ if (m.tag === "ElimDict") { return foldableCont.foldl(f)(z)(m._2); }
502
+ $runtime.fail();
503
+ },
504
+ foldr: f => z => m => {
505
+ if (m.tag === "ElimVar") { return foldableCont.foldr(f)(z)(m._2); }
506
+ if (m.tag === "ElimConstr") {
507
+ const $0 = foldableCont.foldr(f);
508
+ return Data$dFoldable.foldrArray(b => a => $0(a)(b))(z)(Foreign$dObject.values(m._1));
509
+ }
510
+ if (m.tag === "ElimDict") { return foldableCont.foldr(f)(z)(m._2); }
511
+ $runtime.fail();
512
+ },
513
+ foldMap: dictMonoid => {
514
+ const foldMap1 = Foreign$dObject.foldMap(dictMonoid);
515
+ return f => m => {
516
+ if (m.tag === "ElimVar") { return foldableCont.foldMap(dictMonoid)(f)(m._2); }
517
+ if (m.tag === "ElimConstr") {
518
+ const $0 = foldableCont.foldMap(dictMonoid)(f);
519
+ return foldMap1(v => $0)(m._1);
520
+ }
521
+ if (m.tag === "ElimDict") { return foldableCont.foldMap(dictMonoid)(f)(m._2); }
522
+ $runtime.fail();
523
+ };
524
+ }
525
+ };
526
+ const foldableCont = {
527
+ foldl: f => z => m => {
528
+ if (m.tag === "ContExpr") { return foldableExpr.foldl(f)(z)(m._1); }
529
+ if (m.tag === "ContElim") { return foldableElim.foldl(f)(z)(m._1); }
530
+ $runtime.fail();
531
+ },
532
+ foldr: f => z => m => {
533
+ if (m.tag === "ContExpr") { return foldableExpr.foldr(f)(z)(m._1); }
534
+ if (m.tag === "ContElim") { return foldableElim.foldr(f)(z)(m._1); }
535
+ $runtime.fail();
536
+ },
537
+ foldMap: dictMonoid => f => m => {
538
+ if (m.tag === "ContExpr") { return foldableExpr.foldMap(dictMonoid)(f)(m._1); }
539
+ if (m.tag === "ContElim") { return foldableElim.foldMap(dictMonoid)(f)(m._1); }
540
+ $runtime.fail();
541
+ }
542
+ };
543
+ const traversableVarDef = {
544
+ traverse: dictApplicative => {
545
+ const Apply0 = dictApplicative.Apply0();
546
+ return f => m => Apply0.apply(Apply0.Functor0().map(v2 => v3 => $VarDef(v2, v3))(traversableElim.traverse(dictApplicative)(f)(m._1)))(traversableExpr.traverse(dictApplicative)(f)(m._2));
547
+ },
548
+ sequence: dictApplicative => v => traversableVarDef.traverse(dictApplicative)(identity)(v),
549
+ Functor0: () => functorVarDef,
550
+ Foldable1: () => foldableVarDef
551
+ };
552
+ const traversableRecDefs = {
553
+ traverse: dictApplicative => {
554
+ const Apply0 = dictApplicative.Apply0();
555
+ const traverse5 = Dict.traversableDict.traverse(dictApplicative);
556
+ return f => m => Apply0.apply(Apply0.Functor0().map(v2 => v3 => $RecDefs(v2, v3))(f(m._1)))(traverse5(traversableElim.traverse(dictApplicative)(f))(m._2));
557
+ },
558
+ sequence: dictApplicative => v => traversableRecDefs.traverse(dictApplicative)(identity)(v),
559
+ Functor0: () => functorRecDefs,
560
+ Foldable1: () => foldableRecDefs
561
+ };
562
+ const traversableExpr = {
563
+ traverse: dictApplicative => {
564
+ const Apply0 = dictApplicative.Apply0();
565
+ const $0 = Apply0.Functor0();
566
+ const traverse5 = Data$dList$dTypes.traversableList.traverse(dictApplicative);
567
+ const traverse6 = Util$dPair.traversablePair.traverse(dictApplicative);
568
+ return f => m => {
569
+ if (m.tag === "Var") { return dictApplicative.pure($Expr("Var", m._1)); }
570
+ if (m.tag === "Op") { return dictApplicative.pure($Expr("Op", m._1)); }
571
+ if (m.tag === "Int") {
572
+ const $1 = m._2;
573
+ return $0.map(v2 => $Expr("Int", v2, $1))(f(m._1));
574
+ }
575
+ if (m.tag === "Float") {
576
+ const $1 = m._2;
577
+ return $0.map(v2 => $Expr("Float", v2, $1))(f(m._1));
578
+ }
579
+ if (m.tag === "Str") {
580
+ const $1 = m._2;
581
+ return $0.map(v2 => $Expr("Str", v2, $1))(f(m._1));
582
+ }
583
+ if (m.tag === "Dictionary") {
584
+ return Apply0.apply($0.map(v2 => v3 => $Expr("Dictionary", v2, v3))(f(m._1)))(traverse5(traverse6(traversableExpr.traverse(dictApplicative)(f)))(m._2));
585
+ }
586
+ if (m.tag === "Constr") {
587
+ const $1 = m._2;
588
+ return Apply0.apply($0.map(v3 => v4 => $Expr("Constr", v3, $1, v4))(f(m._1)))(traverse5(traversableExpr.traverse(dictApplicative)(f))(m._3));
589
+ }
590
+ if (m.tag === "Matrix") {
591
+ const $1 = m._3;
592
+ return Apply0.apply(Apply0.apply($0.map(v4 => v5 => v6 => $Expr("Matrix", v4, v5, $1, v6))(f(m._1)))(traversableExpr.traverse(dictApplicative)(f)(m._2)))(traversableExpr.traverse(dictApplicative)(f)(m._4));
593
+ }
594
+ if (m.tag === "Lambda") { return Apply0.apply($0.map(v2 => v3 => $Expr("Lambda", v2, v3))(f(m._1)))(traversableElim.traverse(dictApplicative)(f)(m._2)); }
595
+ if (m.tag === "DProject") {
596
+ return Apply0.apply($0.map(v2 => v3 => $Expr("DProject", v2, v3))(traversableExpr.traverse(dictApplicative)(f)(m._1)))(traversableExpr.traverse(dictApplicative)(f)(m._2));
597
+ }
598
+ if (m.tag === "App") {
599
+ return Apply0.apply($0.map(v2 => v3 => $Expr("App", v2, v3))(traversableExpr.traverse(dictApplicative)(f)(m._1)))(traversableExpr.traverse(dictApplicative)(f)(m._2));
600
+ }
601
+ if (m.tag === "Let") {
602
+ return Apply0.apply($0.map(v2 => v3 => $Expr("Let", v2, v3))(traversableVarDef.traverse(dictApplicative)(f)(m._1)))(traversableExpr.traverse(dictApplicative)(f)(m._2));
603
+ }
604
+ if (m.tag === "LetRec") {
605
+ return Apply0.apply($0.map(v2 => v3 => $Expr("LetRec", v2, v3))(traversableRecDefs.traverse(dictApplicative)(f)(m._1)))(traversableExpr.traverse(dictApplicative)(f)(m._2));
606
+ }
607
+ if (m.tag === "DocExpr") {
608
+ return Apply0.apply($0.map(v2 => v3 => $Expr("DocExpr", v2, v3))(traversableExpr.traverse(dictApplicative)(f)(m._1)))(traversableExpr.traverse(dictApplicative)(f)(m._2));
609
+ }
610
+ $runtime.fail();
611
+ };
612
+ },
613
+ sequence: dictApplicative => v => traversableExpr.traverse(dictApplicative)(identity)(v),
614
+ Functor0: () => functorExpr,
615
+ Foldable1: () => foldableExpr
616
+ };
617
+ const traversableElim = {
618
+ traverse: dictApplicative => {
619
+ const $0 = dictApplicative.Apply0().Functor0();
620
+ const traverse5 = Dict.traversableDict.traverse(dictApplicative);
621
+ return f => m => {
622
+ if (m.tag === "ElimVar") {
623
+ const $1 = m._1;
624
+ return $0.map(v2 => $Elim("ElimVar", $1, v2))(traversableCont.traverse(dictApplicative)(f)(m._2));
625
+ }
626
+ if (m.tag === "ElimConstr") { return $0.map(v1 => $Elim("ElimConstr", v1))(traverse5(traversableCont.traverse(dictApplicative)(f))(m._1)); }
627
+ if (m.tag === "ElimDict") {
628
+ const $1 = m._1;
629
+ return $0.map(v2 => $Elim("ElimDict", $1, v2))(traversableCont.traverse(dictApplicative)(f)(m._2));
630
+ }
631
+ $runtime.fail();
632
+ };
633
+ },
634
+ sequence: dictApplicative => v => traversableElim.traverse(dictApplicative)(identity)(v),
635
+ Functor0: () => functorElim,
636
+ Foldable1: () => foldableElim
637
+ };
638
+ const traversableCont = {
639
+ traverse: dictApplicative => {
640
+ const $0 = dictApplicative.Apply0().Functor0();
641
+ return f => m => {
642
+ if (m.tag === "ContExpr") { return $0.map(v1 => $Cont("ContExpr", v1))(traversableExpr.traverse(dictApplicative)(f)(m._1)); }
643
+ if (m.tag === "ContElim") { return $0.map(v1 => $Cont("ContElim", v1))(traversableElim.traverse(dictApplicative)(f)(m._1)); }
644
+ $runtime.fail();
645
+ };
646
+ },
647
+ sequence: dictApplicative => v => traversableCont.traverse(dictApplicative)(identity)(v),
648
+ Functor0: () => functorCont,
649
+ Foldable1: () => foldableCont
650
+ };
651
+ const expandableVarDefRawVarDef = dictBoundedJoinSemilattice => (
652
+ {expand: v => v1 => $VarDef(expandableElimRawElim(dictBoundedJoinSemilattice).expand(v._1)(v1._1), expandableExprRawExpr(dictBoundedJoinSemilattice).expand(v._2)(v1._2))}
653
+ );
654
+ const expandableRecDefsRawRecDe = dictBoundedJoinSemilattice => {
655
+ const expandableDictDict = Lattice.expandableDictDict({
656
+ botOf: functorElim.map((() => {
657
+ const $0 = dictBoundedJoinSemilattice.bot;
658
+ return v => $0;
659
+ })())
660
+ });
661
+ return {expand: v => v1 => $RecDefs(v._1, expandableDictDict(expandableElimRawElim(dictBoundedJoinSemilattice)).expand(v._2)(v1._2))};
662
+ };
663
+ const expandableExprRawExpr = dictBoundedJoinSemilattice => (
664
+ {
665
+ expand: v => v1 => {
666
+ if (v.tag === "Var") {
667
+ if (v1.tag === "Var") {
668
+ const $0 = v._1;
669
+ const $1 = v1._1;
670
+ return $Expr("Var", Util.assertWhen(false)("mustEq")(v$1 => $0 === $1)($0));
671
+ }
672
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
673
+ }
674
+ if (v.tag === "Op") {
675
+ if (v1.tag === "Op") {
676
+ const $0 = v._1;
677
+ const $1 = v1._1;
678
+ return $Expr("Op", Util.assertWhen(false)("mustEq")(v$1 => $0 === $1)($0));
679
+ }
680
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
681
+ }
682
+ if (v.tag === "Int") {
683
+ if (v1.tag === "Int") {
684
+ const $0 = v._2;
685
+ const $1 = v1._2;
686
+ return $Expr("Int", v._1, Util.assertWhen(false)("mustEq")(v$1 => $0 === $1)($0));
687
+ }
688
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
689
+ }
690
+ if (v.tag === "Str") {
691
+ if (v1.tag === "Str") {
692
+ const $0 = v._2;
693
+ const $1 = v1._2;
694
+ return $Expr("Str", v._1, Util.assertWhen(false)("mustEq")(v$1 => $0 === $1)($0));
695
+ }
696
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
697
+ }
698
+ if (v.tag === "Float") {
699
+ if (v1.tag === "Float") {
700
+ const $0 = v._2;
701
+ const $1 = v1._2;
702
+ return $Expr("Float", v._1, Util.assertWhen(false)("mustEq")(v$1 => $0 === $1)($0));
703
+ }
704
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
705
+ }
706
+ if (v.tag === "Dictionary") {
707
+ if (v1.tag === "Dictionary") {
708
+ return $Expr(
709
+ "Dictionary",
710
+ v._1,
711
+ (() => {
712
+ const $0 = expandableExprRawExpr(dictBoundedJoinSemilattice);
713
+ const go = go$a0$copy => go$a1$copy => go$a2$copy => {
714
+ let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$a2 = go$a2$copy, go$c = true, go$r;
715
+ while (go$c) {
716
+ const v$1 = go$a0, v1$1 = go$a1, v2 = go$a2;
717
+ if (v$1.tag === "Nil") {
718
+ go$c = false;
719
+ go$r = v2;
720
+ continue;
721
+ }
722
+ if (v1$1.tag === "Nil") {
723
+ go$c = false;
724
+ go$r = v2;
725
+ continue;
726
+ }
727
+ if (v$1.tag === "Cons" && v1$1.tag === "Cons") {
728
+ go$a0 = v$1._2;
729
+ go$a1 = v1$1._2;
730
+ go$a2 = Data$dList$dTypes.$List("Cons", Util$dPair.$Pair($0.expand(v$1._1._1)(v1$1._1._1), $0.expand(v$1._1._2)(v1$1._1._2)), v2);
731
+ continue;
732
+ }
733
+ $runtime.fail();
734
+ }
735
+ return go$r;
736
+ };
737
+ const go$1 = go$1$a0$copy => go$1$a1$copy => {
738
+ let go$1$a0 = go$1$a0$copy, go$1$a1 = go$1$a1$copy, go$1$c = true, go$1$r;
739
+ while (go$1$c) {
740
+ const v$1 = go$1$a0, v1$1 = go$1$a1;
741
+ if (v1$1.tag === "Nil") {
742
+ go$1$c = false;
743
+ go$1$r = v$1;
744
+ continue;
745
+ }
746
+ if (v1$1.tag === "Cons") {
747
+ go$1$a0 = Data$dList$dTypes.$List("Cons", v1$1._1, v$1);
748
+ go$1$a1 = v1$1._2;
749
+ continue;
750
+ }
751
+ $runtime.fail();
752
+ }
753
+ return go$1$r;
754
+ };
755
+ return go$1(Data$dList$dTypes.Nil)(go(v._2)(v1._2)(Data$dList$dTypes.Nil));
756
+ })()
757
+ );
758
+ }
759
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
760
+ }
761
+ if (v.tag === "Constr") {
762
+ if (v1.tag === "Constr") {
763
+ const $0 = v._2;
764
+ const $1 = v1._2;
765
+ return $Expr(
766
+ "Constr",
767
+ v._1,
768
+ Util.assertWhen(false)("mustEq")(v$1 => $0 === $1)($0),
769
+ (() => {
770
+ const $2 = expandableExprRawExpr(dictBoundedJoinSemilattice);
771
+ const go = go$a0$copy => go$a1$copy => go$a2$copy => {
772
+ let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$a2 = go$a2$copy, go$c = true, go$r;
773
+ while (go$c) {
774
+ const v$1 = go$a0, v1$1 = go$a1, v2 = go$a2;
775
+ if (v$1.tag === "Nil") {
776
+ go$c = false;
777
+ go$r = v2;
778
+ continue;
779
+ }
780
+ if (v1$1.tag === "Nil") {
781
+ go$c = false;
782
+ go$r = v2;
783
+ continue;
784
+ }
785
+ if (v$1.tag === "Cons" && v1$1.tag === "Cons") {
786
+ go$a0 = v$1._2;
787
+ go$a1 = v1$1._2;
788
+ go$a2 = Data$dList$dTypes.$List("Cons", $2.expand(v$1._1)(v1$1._1), v2);
789
+ continue;
790
+ }
791
+ $runtime.fail();
792
+ }
793
+ return go$r;
794
+ };
795
+ const go$1 = go$1$a0$copy => go$1$a1$copy => {
796
+ let go$1$a0 = go$1$a0$copy, go$1$a1 = go$1$a1$copy, go$1$c = true, go$1$r;
797
+ while (go$1$c) {
798
+ const v$1 = go$1$a0, v1$1 = go$1$a1;
799
+ if (v1$1.tag === "Nil") {
800
+ go$1$c = false;
801
+ go$1$r = v$1;
802
+ continue;
803
+ }
804
+ if (v1$1.tag === "Cons") {
805
+ go$1$a0 = Data$dList$dTypes.$List("Cons", v1$1._1, v$1);
806
+ go$1$a1 = v1$1._2;
807
+ continue;
808
+ }
809
+ $runtime.fail();
810
+ }
811
+ return go$1$r;
812
+ };
813
+ return go$1(Data$dList$dTypes.Nil)(go(v._3)(v1._3)(Data$dList$dTypes.Nil));
814
+ })()
815
+ );
816
+ }
817
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
818
+ }
819
+ if (v.tag === "Matrix") {
820
+ if (v1.tag === "Matrix") {
821
+ const $0 = v._3._1;
822
+ const $1 = v1._3._1;
823
+ const $2 = v._3._2;
824
+ const $3 = v1._3._2;
825
+ return $Expr(
826
+ "Matrix",
827
+ v._1,
828
+ expandableExprRawExpr(dictBoundedJoinSemilattice).expand(v._2)(v1._2),
829
+ Data$dTuple.$Tuple(Util.assertWhen(false)("mustEq")(v$1 => $0 === $1)($0), Util.assertWhen(false)("mustEq")(v$1 => $2 === $3)($2)),
830
+ expandableExprRawExpr(dictBoundedJoinSemilattice).expand(v._4)(v1._4)
831
+ );
832
+ }
833
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
834
+ }
835
+ if (v.tag === "Lambda") {
836
+ if (v1.tag === "Lambda") { return $Expr("Lambda", v._1, expandableElimRawElim(dictBoundedJoinSemilattice).expand(v._2)(v1._2)); }
837
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
838
+ }
839
+ if (v.tag === "DProject") {
840
+ if (v1.tag === "DProject") {
841
+ return $Expr("DProject", expandableExprRawExpr(dictBoundedJoinSemilattice).expand(v._1)(v1._1), expandableExprRawExpr(dictBoundedJoinSemilattice).expand(v._2)(v1._2));
842
+ }
843
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
844
+ }
845
+ if (v.tag === "App") {
846
+ if (v1.tag === "App") {
847
+ return $Expr("App", expandableExprRawExpr(dictBoundedJoinSemilattice).expand(v._1)(v1._1), expandableExprRawExpr(dictBoundedJoinSemilattice).expand(v._2)(v1._2));
848
+ }
849
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
850
+ }
851
+ if (v.tag === "Let") {
852
+ if (v1.tag === "Let") {
853
+ return $Expr("Let", expandableVarDefRawVarDef(dictBoundedJoinSemilattice).expand(v._1)(v1._1), expandableExprRawExpr(dictBoundedJoinSemilattice).expand(v._2)(v1._2));
854
+ }
855
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
856
+ }
857
+ if (v.tag === "LetRec") {
858
+ if (v1.tag === "LetRec") {
859
+ return $Expr("LetRec", expandableRecDefsRawRecDe(dictBoundedJoinSemilattice).expand(v._1)(v1._1), expandableExprRawExpr(dictBoundedJoinSemilattice).expand(v._2)(v1._2));
860
+ }
861
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
862
+ }
863
+ if (v.tag === "DocExpr" && v1.tag === "DocExpr") {
864
+ return $Expr("DocExpr", expandableExprRawExpr(dictBoundedJoinSemilattice).expand(v._1)(v1._1), expandableExprRawExpr(dictBoundedJoinSemilattice).expand(v._2)(v1._2));
865
+ }
866
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
867
+ }
868
+ }
869
+ );
870
+ const expandableElimRawElim = dictBoundedJoinSemilattice => {
871
+ const expandableDictDict = Lattice.expandableDictDict({
872
+ botOf: functorCont.map((() => {
873
+ const $0 = dictBoundedJoinSemilattice.bot;
874
+ return v => $0;
875
+ })())
876
+ });
877
+ return {
878
+ expand: v => v1 => {
879
+ if (v.tag === "ElimVar") {
880
+ if (v1.tag === "ElimVar") {
881
+ const $0 = v._1;
882
+ const $1 = v1._1;
883
+ return $Elim("ElimVar", Util.assertWhen(false)("mustEq")(v$1 => $0 === $1)($0), expandableContRawCont(dictBoundedJoinSemilattice).expand(v._2)(v1._2));
884
+ }
885
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
886
+ }
887
+ if (v.tag === "ElimConstr") {
888
+ if (v1.tag === "ElimConstr") { return $Elim("ElimConstr", expandableDictDict(expandableContRawCont(dictBoundedJoinSemilattice)).expand(v._1)(v1._1)); }
889
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
890
+ }
891
+ if (v.tag === "ElimDict" && v1.tag === "ElimDict") {
892
+ const $0 = v._1;
893
+ const $1 = v1._1;
894
+ return $Elim(
895
+ "ElimDict",
896
+ Util.assertWhen(false)("mustEq")(v$1 => Data$dMap$dInternal.eqMap(Data$dEq.eqString)(Data$dEq.eqUnit).eq($0)($1))($0),
897
+ expandableContRawCont(dictBoundedJoinSemilattice).expand(v._2)(v1._2)
898
+ );
899
+ }
900
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
901
+ }
902
+ };
903
+ };
904
+ const expandableContRawCont = dictBoundedJoinSemilattice => (
905
+ {
906
+ expand: v => v1 => {
907
+ if (v.tag === "ContExpr") {
908
+ if (v1.tag === "ContExpr") { return $Cont("ContExpr", expandableExprRawExpr(dictBoundedJoinSemilattice).expand(v._1)(v1._1)); }
909
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
910
+ }
911
+ if (v.tag === "ContElim" && v1.tag === "ContElim") { return $Cont("ContElim", expandableElimRawElim(dictBoundedJoinSemilattice).expand(v._1)(v1._1)); }
912
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
913
+ }
914
+ }
915
+ );
916
+ const eqVarDef = dictEq => ({eq: x => y => eqElim(dictEq).eq(x._1)(y._1) && eqExpr(dictEq).eq(x._2)(y._2)});
917
+ const eqRecDefs = dictEq => ({eq: x => y => dictEq.eq(x._1)(y._1) && Foreign$dObject.eqObject(eqElim(dictEq)).eq(x._2)(y._2)});
918
+ const eqExpr = dictEq => (
919
+ {
920
+ eq: x => y => {
921
+ if (x.tag === "Var") { return y.tag === "Var" && x._1 === y._1; }
922
+ if (x.tag === "Op") { return y.tag === "Op" && x._1 === y._1; }
923
+ if (x.tag === "Int") { return y.tag === "Int" && dictEq.eq(x._1)(y._1) && x._2 === y._2; }
924
+ if (x.tag === "Float") { return y.tag === "Float" && dictEq.eq(x._1)(y._1) && x._2 === y._2; }
925
+ if (x.tag === "Str") { return y.tag === "Str" && dictEq.eq(x._1)(y._1) && x._2 === y._2; }
926
+ if (x.tag === "Dictionary") {
927
+ return y.tag === "Dictionary" && (() => {
928
+ const $0 = eqExpr(dictEq);
929
+ return dictEq.eq(x._1)(y._1) && (() => {
930
+ const go = v => v1 => v2 => {
931
+ if (!v2) { return false; }
932
+ if (v.tag === "Nil") { return v1.tag === "Nil" && v2; }
933
+ return v.tag === "Cons" && v1.tag === "Cons" && go(v._2)(v1._2)(v2 && $0.eq(v1._1._1)(v._1._1) && $0.eq(v1._1._2)(v._1._2));
934
+ };
935
+ return go(x._2)(y._2)(true);
936
+ })();
937
+ })();
938
+ }
939
+ if (x.tag === "Constr") {
940
+ return y.tag === "Constr" && (() => {
941
+ const $0 = eqExpr(dictEq);
942
+ return dictEq.eq(x._1)(y._1) && x._2 === y._2 && (() => {
943
+ const go = v => v1 => v2 => {
944
+ if (!v2) { return false; }
945
+ if (v.tag === "Nil") { return v1.tag === "Nil" && v2; }
946
+ return v.tag === "Cons" && v1.tag === "Cons" && go(v._2)(v1._2)(v2 && $0.eq(v1._1)(v._1));
947
+ };
948
+ return go(x._3)(y._3)(true);
949
+ })();
950
+ })();
951
+ }
952
+ if (x.tag === "Matrix") {
953
+ return y.tag === "Matrix" && dictEq.eq(x._1)(y._1) && eqExpr(dictEq).eq(x._2)(y._2) && x._3._1 === y._3._1 && x._3._2 === y._3._2 && eqExpr(dictEq).eq(x._4)(y._4);
954
+ }
955
+ if (x.tag === "Lambda") { return y.tag === "Lambda" && dictEq.eq(x._1)(y._1) && eqElim(dictEq).eq(x._2)(y._2); }
956
+ if (x.tag === "DProject") { return y.tag === "DProject" && eqExpr(dictEq).eq(x._1)(y._1) && eqExpr(dictEq).eq(x._2)(y._2); }
957
+ if (x.tag === "App") { return y.tag === "App" && eqExpr(dictEq).eq(x._1)(y._1) && eqExpr(dictEq).eq(x._2)(y._2); }
958
+ if (x.tag === "Let") { return y.tag === "Let" && eqVarDef(dictEq).eq(x._1)(y._1) && eqExpr(dictEq).eq(x._2)(y._2); }
959
+ if (x.tag === "LetRec") { return y.tag === "LetRec" && eqRecDefs(dictEq).eq(x._1)(y._1) && eqExpr(dictEq).eq(x._2)(y._2); }
960
+ return x.tag === "DocExpr" && y.tag === "DocExpr" && eqExpr(dictEq).eq(x._1)(y._1) && eqExpr(dictEq).eq(x._2)(y._2);
961
+ }
962
+ }
963
+ );
964
+ const eqElim = dictEq => (
965
+ {
966
+ eq: x => y => {
967
+ if (x.tag === "ElimVar") { return y.tag === "ElimVar" && x._1 === y._1 && eqCont(dictEq).eq(x._2)(y._2); }
968
+ if (x.tag === "ElimConstr") { return y.tag === "ElimConstr" && Foreign$dObject.eqObject(eqCont(dictEq)).eq(x._1)(y._1); }
969
+ return x.tag === "ElimDict" && y.tag === "ElimDict" && Data$dMap$dInternal.eqMap(Data$dEq.eqString)(Data$dEq.eqUnit).eq(x._1)(y._1) && eqCont(dictEq).eq(x._2)(y._2);
970
+ }
971
+ }
972
+ );
973
+ const eqCont = dictEq => (
974
+ {
975
+ eq: x => y => {
976
+ if (x.tag === "ContExpr") { return y.tag === "ContExpr" && eqExpr(dictEq).eq(x._1)(y._1); }
977
+ return x.tag === "ContElim" && y.tag === "ContElim" && eqElim(dictEq).eq(x._1)(y._1);
978
+ }
979
+ }
980
+ );
981
+ const ordVarDef = dictOrd => {
982
+ const eqVarDef1 = eqVarDef(dictOrd.Eq0());
983
+ return {
984
+ compare: x => y => {
985
+ const v = ordElim(dictOrd).compare(x._1)(y._1);
986
+ if (v === "LT") { return Data$dOrdering.LT; }
987
+ if (v === "GT") { return Data$dOrdering.GT; }
988
+ return ordExpr(dictOrd).compare(x._2)(y._2);
989
+ },
990
+ Eq0: () => eqVarDef1
991
+ };
992
+ };
993
+ const ordRecDefs = dictOrd => {
994
+ const eqRecDefs1 = eqRecDefs(dictOrd.Eq0());
995
+ return {
996
+ compare: x => y => {
997
+ const v = dictOrd.compare(x._1)(y._1);
998
+ if (v === "LT") { return Data$dOrdering.LT; }
999
+ if (v === "GT") { return Data$dOrdering.GT; }
1000
+ return Dict.ordDict(ordElim(dictOrd)).compare(x._2)(y._2);
1001
+ },
1002
+ Eq0: () => eqRecDefs1
1003
+ };
1004
+ };
1005
+ const ordExpr = dictOrd => {
1006
+ const eqExpr1 = eqExpr(dictOrd.Eq0());
1007
+ return {
1008
+ compare: x => y => {
1009
+ if (x.tag === "Var") {
1010
+ if (y.tag === "Var") { return Data$dOrd.ordString.compare(x._1)(y._1); }
1011
+ return Data$dOrdering.LT;
1012
+ }
1013
+ if (y.tag === "Var") { return Data$dOrdering.GT; }
1014
+ if (x.tag === "Op") {
1015
+ if (y.tag === "Op") { return Data$dOrd.ordString.compare(x._1)(y._1); }
1016
+ return Data$dOrdering.LT;
1017
+ }
1018
+ if (y.tag === "Op") { return Data$dOrdering.GT; }
1019
+ if (x.tag === "Int") {
1020
+ if (y.tag === "Int") {
1021
+ const v = dictOrd.compare(x._1)(y._1);
1022
+ if (v === "LT") { return Data$dOrdering.LT; }
1023
+ if (v === "GT") { return Data$dOrdering.GT; }
1024
+ return Data$dOrd.ordInt.compare(x._2)(y._2);
1025
+ }
1026
+ return Data$dOrdering.LT;
1027
+ }
1028
+ if (y.tag === "Int") { return Data$dOrdering.GT; }
1029
+ if (x.tag === "Float") {
1030
+ if (y.tag === "Float") {
1031
+ const v = dictOrd.compare(x._1)(y._1);
1032
+ if (v === "LT") { return Data$dOrdering.LT; }
1033
+ if (v === "GT") { return Data$dOrdering.GT; }
1034
+ return Data$dOrd.ordNumber.compare(x._2)(y._2);
1035
+ }
1036
+ return Data$dOrdering.LT;
1037
+ }
1038
+ if (y.tag === "Float") { return Data$dOrdering.GT; }
1039
+ if (x.tag === "Str") {
1040
+ if (y.tag === "Str") {
1041
+ const v = dictOrd.compare(x._1)(y._1);
1042
+ if (v === "LT") { return Data$dOrdering.LT; }
1043
+ if (v === "GT") { return Data$dOrdering.GT; }
1044
+ return Data$dOrd.ordString.compare(x._2)(y._2);
1045
+ }
1046
+ return Data$dOrdering.LT;
1047
+ }
1048
+ if (y.tag === "Str") { return Data$dOrdering.GT; }
1049
+ if (x.tag === "Dictionary") {
1050
+ if (y.tag === "Dictionary") {
1051
+ const v = dictOrd.compare(x._1)(y._1);
1052
+ if (v === "LT") { return Data$dOrdering.LT; }
1053
+ if (v === "GT") { return Data$dOrdering.GT; }
1054
+ return Data$dList$dTypes.ordList((() => {
1055
+ const $0 = ordExpr(dictOrd);
1056
+ const $1 = $0.Eq0();
1057
+ const eqPair1 = {eq: x$1 => y$1 => $1.eq(x$1._1)(y$1._1) && $1.eq(x$1._2)(y$1._2)};
1058
+ return {
1059
+ compare: x$1 => y$1 => {
1060
+ const v$1 = $0.compare(x$1._1)(y$1._1);
1061
+ if (v$1 === "LT") { return Data$dOrdering.LT; }
1062
+ if (v$1 === "GT") { return Data$dOrdering.GT; }
1063
+ return $0.compare(x$1._2)(y$1._2);
1064
+ },
1065
+ Eq0: () => eqPair1
1066
+ };
1067
+ })()).compare(x._2)(y._2);
1068
+ }
1069
+ return Data$dOrdering.LT;
1070
+ }
1071
+ if (y.tag === "Dictionary") { return Data$dOrdering.GT; }
1072
+ if (x.tag === "Constr") {
1073
+ if (y.tag === "Constr") {
1074
+ const v = dictOrd.compare(x._1)(y._1);
1075
+ if (v === "LT") { return Data$dOrdering.LT; }
1076
+ if (v === "GT") { return Data$dOrdering.GT; }
1077
+ const v1 = Data$dOrd.ordString.compare(x._2)(y._2);
1078
+ if (v1 === "LT") { return Data$dOrdering.LT; }
1079
+ if (v1 === "GT") { return Data$dOrdering.GT; }
1080
+ return Data$dList$dTypes.ordList(ordExpr(dictOrd)).compare(x._3)(y._3);
1081
+ }
1082
+ return Data$dOrdering.LT;
1083
+ }
1084
+ if (y.tag === "Constr") { return Data$dOrdering.GT; }
1085
+ if (x.tag === "Matrix") {
1086
+ if (y.tag === "Matrix") {
1087
+ const v = dictOrd.compare(x._1)(y._1);
1088
+ if (v === "LT") { return Data$dOrdering.LT; }
1089
+ if (v === "GT") { return Data$dOrdering.GT; }
1090
+ const v1 = ordExpr(dictOrd).compare(x._2)(y._2);
1091
+ if (v1 === "LT") { return Data$dOrdering.LT; }
1092
+ if (v1 === "GT") { return Data$dOrdering.GT; }
1093
+ const v2 = compare3(x._3)(y._3);
1094
+ if (v2 === "LT") { return Data$dOrdering.LT; }
1095
+ if (v2 === "GT") { return Data$dOrdering.GT; }
1096
+ return ordExpr(dictOrd).compare(x._4)(y._4);
1097
+ }
1098
+ return Data$dOrdering.LT;
1099
+ }
1100
+ if (y.tag === "Matrix") { return Data$dOrdering.GT; }
1101
+ if (x.tag === "Lambda") {
1102
+ if (y.tag === "Lambda") {
1103
+ const v = dictOrd.compare(x._1)(y._1);
1104
+ if (v === "LT") { return Data$dOrdering.LT; }
1105
+ if (v === "GT") { return Data$dOrdering.GT; }
1106
+ return ordElim(dictOrd).compare(x._2)(y._2);
1107
+ }
1108
+ return Data$dOrdering.LT;
1109
+ }
1110
+ if (y.tag === "Lambda") { return Data$dOrdering.GT; }
1111
+ if (x.tag === "DProject") {
1112
+ if (y.tag === "DProject") {
1113
+ const v = ordExpr(dictOrd).compare(x._1)(y._1);
1114
+ if (v === "LT") { return Data$dOrdering.LT; }
1115
+ if (v === "GT") { return Data$dOrdering.GT; }
1116
+ return ordExpr(dictOrd).compare(x._2)(y._2);
1117
+ }
1118
+ return Data$dOrdering.LT;
1119
+ }
1120
+ if (y.tag === "DProject") { return Data$dOrdering.GT; }
1121
+ if (x.tag === "App") {
1122
+ if (y.tag === "App") {
1123
+ const v = ordExpr(dictOrd).compare(x._1)(y._1);
1124
+ if (v === "LT") { return Data$dOrdering.LT; }
1125
+ if (v === "GT") { return Data$dOrdering.GT; }
1126
+ return ordExpr(dictOrd).compare(x._2)(y._2);
1127
+ }
1128
+ return Data$dOrdering.LT;
1129
+ }
1130
+ if (y.tag === "App") { return Data$dOrdering.GT; }
1131
+ if (x.tag === "Let") {
1132
+ if (y.tag === "Let") {
1133
+ const v = ordVarDef(dictOrd).compare(x._1)(y._1);
1134
+ if (v === "LT") { return Data$dOrdering.LT; }
1135
+ if (v === "GT") { return Data$dOrdering.GT; }
1136
+ return ordExpr(dictOrd).compare(x._2)(y._2);
1137
+ }
1138
+ return Data$dOrdering.LT;
1139
+ }
1140
+ if (y.tag === "Let") { return Data$dOrdering.GT; }
1141
+ if (x.tag === "LetRec") {
1142
+ if (y.tag === "LetRec") {
1143
+ const v = ordRecDefs(dictOrd).compare(x._1)(y._1);
1144
+ if (v === "LT") { return Data$dOrdering.LT; }
1145
+ if (v === "GT") { return Data$dOrdering.GT; }
1146
+ return ordExpr(dictOrd).compare(x._2)(y._2);
1147
+ }
1148
+ return Data$dOrdering.LT;
1149
+ }
1150
+ if (y.tag === "LetRec") { return Data$dOrdering.GT; }
1151
+ if (x.tag === "DocExpr" && y.tag === "DocExpr") {
1152
+ const v = ordExpr(dictOrd).compare(x._1)(y._1);
1153
+ if (v === "LT") { return Data$dOrdering.LT; }
1154
+ if (v === "GT") { return Data$dOrdering.GT; }
1155
+ return ordExpr(dictOrd).compare(x._2)(y._2);
1156
+ }
1157
+ $runtime.fail();
1158
+ },
1159
+ Eq0: () => eqExpr1
1160
+ };
1161
+ };
1162
+ const ordElim = dictOrd => {
1163
+ const eqElim1 = eqElim(dictOrd.Eq0());
1164
+ return {
1165
+ compare: x => y => {
1166
+ if (x.tag === "ElimVar") {
1167
+ if (y.tag === "ElimVar") {
1168
+ const v = Data$dOrd.ordString.compare(x._1)(y._1);
1169
+ if (v === "LT") { return Data$dOrdering.LT; }
1170
+ if (v === "GT") { return Data$dOrdering.GT; }
1171
+ return ordCont(dictOrd).compare(x._2)(y._2);
1172
+ }
1173
+ return Data$dOrdering.LT;
1174
+ }
1175
+ if (y.tag === "ElimVar") { return Data$dOrdering.GT; }
1176
+ if (x.tag === "ElimConstr") {
1177
+ if (y.tag === "ElimConstr") { return Dict.ordDict(ordCont(dictOrd)).compare(x._1)(y._1); }
1178
+ return Data$dOrdering.LT;
1179
+ }
1180
+ if (y.tag === "ElimConstr") { return Data$dOrdering.GT; }
1181
+ if (x.tag === "ElimDict" && y.tag === "ElimDict") {
1182
+ const v = compare4(x._1)(y._1);
1183
+ if (v === "LT") { return Data$dOrdering.LT; }
1184
+ if (v === "GT") { return Data$dOrdering.GT; }
1185
+ return ordCont(dictOrd).compare(x._2)(y._2);
1186
+ }
1187
+ $runtime.fail();
1188
+ },
1189
+ Eq0: () => eqElim1
1190
+ };
1191
+ };
1192
+ const ordCont = dictOrd => {
1193
+ const eqCont1 = eqCont(dictOrd.Eq0());
1194
+ return {
1195
+ compare: x => y => {
1196
+ if (x.tag === "ContExpr") {
1197
+ if (y.tag === "ContExpr") { return ordExpr(dictOrd).compare(x._1)(y._1); }
1198
+ return Data$dOrdering.LT;
1199
+ }
1200
+ if (y.tag === "ContExpr") { return Data$dOrdering.GT; }
1201
+ if (x.tag === "ContElim" && y.tag === "ContElim") { return ordElim(dictOrd).compare(x._1)(y._1); }
1202
+ $runtime.fail();
1203
+ },
1204
+ Eq0: () => eqCont1
1205
+ };
1206
+ };
1207
+ const applyRecDefs = {
1208
+ apply: v => v1 => $RecDefs(v._1(v1._1), Util$dMap.intersectionWith_Object(Data$dFunction.apply)(Foreign$dObject._fmapObject(v._2, applyElim.apply))(v1._2)),
1209
+ Functor0: () => functorRecDefs
1210
+ };
1211
+ const applyExpr = {
1212
+ apply: v => v1 => {
1213
+ if (v.tag === "Var") {
1214
+ if (v1.tag === "Var") {
1215
+ const $0 = v._1;
1216
+ const $1 = v1._1;
1217
+ return $Expr("Var", Util.assertWhen(false)("mustEq")(v$1 => $0 === $1)($0));
1218
+ }
1219
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
1220
+ }
1221
+ if (v.tag === "Op") {
1222
+ if (v1.tag === "Op") { return $Expr("Op", v._1); }
1223
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
1224
+ }
1225
+ if (v.tag === "Int") {
1226
+ if (v1.tag === "Int") {
1227
+ const $0 = v._2;
1228
+ const $1 = v1._2;
1229
+ return $Expr("Int", v._1(v1._1), Util.assertWhen(false)("mustEq")(v$1 => $0 === $1)($0));
1230
+ }
1231
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
1232
+ }
1233
+ if (v.tag === "Float") {
1234
+ if (v1.tag === "Float") {
1235
+ const $0 = v._2;
1236
+ const $1 = v1._2;
1237
+ return $Expr("Float", v._1(v1._1), Util.assertWhen(false)("mustEq")(v$1 => $0 === $1)($0));
1238
+ }
1239
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
1240
+ }
1241
+ if (v.tag === "Str") {
1242
+ if (v1.tag === "Str") {
1243
+ const $0 = v._2;
1244
+ const $1 = v1._2;
1245
+ return $Expr("Str", v._1(v1._1), Util.assertWhen(false)("mustEq")(v$1 => $0 === $1)($0));
1246
+ }
1247
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
1248
+ }
1249
+ if (v.tag === "Dictionary") {
1250
+ if (v1.tag === "Dictionary") {
1251
+ return $Expr(
1252
+ "Dictionary",
1253
+ v._1(v1._1),
1254
+ (() => {
1255
+ const go = go$a0$copy => go$a1$copy => go$a2$copy => {
1256
+ let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$a2 = go$a2$copy, go$c = true, go$r;
1257
+ while (go$c) {
1258
+ const v$1 = go$a0, v1$1 = go$a1, v2 = go$a2;
1259
+ if (v$1.tag === "Nil") {
1260
+ go$c = false;
1261
+ go$r = v2;
1262
+ continue;
1263
+ }
1264
+ if (v1$1.tag === "Nil") {
1265
+ go$c = false;
1266
+ go$r = v2;
1267
+ continue;
1268
+ }
1269
+ if (v$1.tag === "Cons" && v1$1.tag === "Cons") {
1270
+ go$a0 = v$1._2;
1271
+ go$a1 = v1$1._2;
1272
+ go$a2 = Data$dList$dTypes.$List("Cons", Util$dPair.$Pair(applyExpr.apply(v$1._1._1)(v1$1._1._1), applyExpr.apply(v$1._1._2)(v1$1._1._2)), v2);
1273
+ continue;
1274
+ }
1275
+ $runtime.fail();
1276
+ }
1277
+ return go$r;
1278
+ };
1279
+ const go$1 = go$1$a0$copy => go$1$a1$copy => {
1280
+ let go$1$a0 = go$1$a0$copy, go$1$a1 = go$1$a1$copy, go$1$c = true, go$1$r;
1281
+ while (go$1$c) {
1282
+ const v$1 = go$1$a0, v1$1 = go$1$a1;
1283
+ if (v1$1.tag === "Nil") {
1284
+ go$1$c = false;
1285
+ go$1$r = v$1;
1286
+ continue;
1287
+ }
1288
+ if (v1$1.tag === "Cons") {
1289
+ go$1$a0 = Data$dList$dTypes.$List("Cons", v1$1._1, v$1);
1290
+ go$1$a1 = v1$1._2;
1291
+ continue;
1292
+ }
1293
+ $runtime.fail();
1294
+ }
1295
+ return go$1$r;
1296
+ };
1297
+ return go$1(Data$dList$dTypes.Nil)(go(v._2)(v1._2)(Data$dList$dTypes.Nil));
1298
+ })()
1299
+ );
1300
+ }
1301
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
1302
+ }
1303
+ if (v.tag === "Constr") {
1304
+ if (v1.tag === "Constr") {
1305
+ const $0 = v._2;
1306
+ const $1 = v1._2;
1307
+ return $Expr(
1308
+ "Constr",
1309
+ v._1(v1._1),
1310
+ Util.assertWhen(false)("mustEq")(v$1 => $0 === $1)($0),
1311
+ (() => {
1312
+ const go = go$a0$copy => go$a1$copy => go$a2$copy => {
1313
+ let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$a2 = go$a2$copy, go$c = true, go$r;
1314
+ while (go$c) {
1315
+ const v$1 = go$a0, v1$1 = go$a1, v2 = go$a2;
1316
+ if (v$1.tag === "Nil") {
1317
+ go$c = false;
1318
+ go$r = v2;
1319
+ continue;
1320
+ }
1321
+ if (v1$1.tag === "Nil") {
1322
+ go$c = false;
1323
+ go$r = v2;
1324
+ continue;
1325
+ }
1326
+ if (v$1.tag === "Cons" && v1$1.tag === "Cons") {
1327
+ go$a0 = v$1._2;
1328
+ go$a1 = v1$1._2;
1329
+ go$a2 = Data$dList$dTypes.$List("Cons", applyExpr.apply(v$1._1)(v1$1._1), v2);
1330
+ continue;
1331
+ }
1332
+ $runtime.fail();
1333
+ }
1334
+ return go$r;
1335
+ };
1336
+ const go$1 = go$1$a0$copy => go$1$a1$copy => {
1337
+ let go$1$a0 = go$1$a0$copy, go$1$a1 = go$1$a1$copy, go$1$c = true, go$1$r;
1338
+ while (go$1$c) {
1339
+ const v$1 = go$1$a0, v1$1 = go$1$a1;
1340
+ if (v1$1.tag === "Nil") {
1341
+ go$1$c = false;
1342
+ go$1$r = v$1;
1343
+ continue;
1344
+ }
1345
+ if (v1$1.tag === "Cons") {
1346
+ go$1$a0 = Data$dList$dTypes.$List("Cons", v1$1._1, v$1);
1347
+ go$1$a1 = v1$1._2;
1348
+ continue;
1349
+ }
1350
+ $runtime.fail();
1351
+ }
1352
+ return go$1$r;
1353
+ };
1354
+ return go$1(Data$dList$dTypes.Nil)(go(v._3)(v1._3)(Data$dList$dTypes.Nil));
1355
+ })()
1356
+ );
1357
+ }
1358
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
1359
+ }
1360
+ if (v.tag === "Matrix") {
1361
+ if (v1.tag === "Matrix") {
1362
+ const $0 = v._3._1;
1363
+ const $1 = v1._3._1;
1364
+ const $2 = v._3._2;
1365
+ const $3 = v1._3._2;
1366
+ return $Expr(
1367
+ "Matrix",
1368
+ v._1(v1._1),
1369
+ applyExpr.apply(v._2)(v1._2),
1370
+ Data$dTuple.$Tuple(Util.assertWhen(false)("mustEq")(v$1 => $0 === $1)($0), Util.assertWhen(false)("mustEq")(v$1 => $2 === $3)($2)),
1371
+ applyExpr.apply(v._4)(v1._4)
1372
+ );
1373
+ }
1374
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
1375
+ }
1376
+ if (v.tag === "Lambda") {
1377
+ if (v1.tag === "Lambda") { return $Expr("Lambda", v._1(v1._1), applyElim.apply(v._2)(v1._2)); }
1378
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
1379
+ }
1380
+ if (v.tag === "DProject") {
1381
+ if (v1.tag === "DProject") { return $Expr("DProject", applyExpr.apply(v._1)(v1._1), applyExpr.apply(v._2)(v1._2)); }
1382
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
1383
+ }
1384
+ if (v.tag === "App") {
1385
+ if (v1.tag === "App") { return $Expr("App", applyExpr.apply(v._1)(v1._1), applyExpr.apply(v._2)(v1._2)); }
1386
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
1387
+ }
1388
+ if (v.tag === "Let") {
1389
+ if (v1.tag === "Let") { return $Expr("Let", $VarDef(applyElim.apply(v._1._1)(v1._1._1), applyExpr.apply(v._1._2)(v1._1._2)), applyExpr.apply(v._2)(v1._2)); }
1390
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
1391
+ }
1392
+ if (v.tag === "LetRec") {
1393
+ if (v1.tag === "LetRec") { return $Expr("LetRec", applyRecDefs.apply(v._1)(v1._1), applyExpr.apply(v._2)(v1._2)); }
1394
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
1395
+ }
1396
+ if (v.tag === "DocExpr" && v1.tag === "DocExpr") { return $Expr("DocExpr", applyExpr.apply(v._1)(v1._1), applyExpr.apply(v._2)(v1._2)); }
1397
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
1398
+ },
1399
+ Functor0: () => functorExpr
1400
+ };
1401
+ const applyElim = {
1402
+ apply: v => v1 => {
1403
+ if (v.tag === "ElimVar") {
1404
+ if (v1.tag === "ElimVar") { return $Elim("ElimVar", v._1, applyCont.apply(v._2)(v1._2)); }
1405
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
1406
+ }
1407
+ if (v.tag === "ElimConstr") {
1408
+ if (v1.tag === "ElimConstr") {
1409
+ return $Elim("ElimConstr", Util$dMap.intersectionWith_Object(Data$dFunction.apply)(Foreign$dObject._fmapObject(v._1, applyCont.apply))(v1._1));
1410
+ }
1411
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
1412
+ }
1413
+ if (v.tag === "ElimDict" && v1.tag === "ElimDict") { return $Elim("ElimDict", v._1, applyCont.apply(v._2)(v1._2)); }
1414
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
1415
+ },
1416
+ Functor0: () => functorElim
1417
+ };
1418
+ const applyCont = {
1419
+ apply: v => v1 => {
1420
+ if (v.tag === "ContExpr") {
1421
+ if (v1.tag === "ContExpr") { return $Cont("ContExpr", applyExpr.apply(v._1)(v1._1)); }
1422
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
1423
+ }
1424
+ if (v.tag === "ContElim" && v1.tag === "ContElim") { return $Cont("ContElim", applyElim.apply(v._1)(v1._1)); }
1425
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
1426
+ },
1427
+ Functor0: () => functorCont
1428
+ };
1429
+ const meetSemilatticeExpr = dictMeetSemilattice => (
1430
+ {
1431
+ meet: (() => {
1432
+ const $0 = dictMeetSemilattice.meet;
1433
+ return a => b => applyExpr.apply(functorExpr.map($0)(a))(b);
1434
+ })()
1435
+ }
1436
+ );
1437
+ const applyVarDef = {apply: v => v1 => $VarDef(applyElim.apply(v._1)(v1._1), applyExpr.apply(v._2)(v1._2)), Functor0: () => functorVarDef};
1438
+ const applyModule = {
1439
+ apply: v => v1 => {
1440
+ if (v.tag === "Nil") {
1441
+ if (v1.tag === "Nil") { return Data$dList$dTypes.Nil; }
1442
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
1443
+ }
1444
+ if (v.tag === "Cons" && v1.tag === "Cons") {
1445
+ if (v._1.tag === "Left") {
1446
+ if (v1._1.tag === "Left") { return Data$dList$dTypes.$List("Cons", Data$dEither.$Either("Left", applyVarDef.apply(v._1._1)(v1._1._1)), applyModule.apply(v._2)(v1._2)); }
1447
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
1448
+ }
1449
+ if (v._1.tag === "Right" && v1._1.tag === "Right") {
1450
+ return Data$dList$dTypes.$List("Cons", Data$dEither.$Either("Right", applyRecDefs.apply(v._1._1)(v1._1._1)), applyModule.apply(v._2)(v1._2));
1451
+ }
1452
+ }
1453
+ return Effect$dException.throwException(Effect$dException.error("Shape mismatch"))();
1454
+ },
1455
+ Functor0: () => functorModule
1456
+ };
1457
+ const fv = dict => dict.fv;
1458
+ const fVDict = dictFV => {
1459
+ const fv1 = dictFV.fv;
1460
+ return {fv: ρ => setSet.difference(unions2(Foreign$dObject._fmapObject(ρ, fv1)))(fromFoldable(Util$dMap.mapObjectString.keys(ρ)))};
1461
+ };
1462
+ const fVList = dictFV => {
1463
+ const fv1 = dictFV.fv;
1464
+ return {fv: xs => unions3(Data$dList$dTypes.listMap(fv1)(xs))};
1465
+ };
1466
+ const fVMaybe = dictFV => (
1467
+ {
1468
+ fv: v => {
1469
+ if (v.tag === "Nothing") { return Data$dMap$dInternal.Leaf; }
1470
+ if (v.tag === "Just") { return dictFV.fv(v._1); }
1471
+ $runtime.fail();
1472
+ }
1473
+ }
1474
+ );
1475
+ const fV$x215 = dictFV => dictFV1 => ({fv: v => setSet.union(dictFV.fv(v._1))(dictFV1.fv(v._2))});
1476
+ const foldlModuleDef = v => v1 => v2 => {
1477
+ if (v2.tag === "Left") { return foldableVarDef.foldl(v)(v1)(v2._1); }
1478
+ if (v2.tag === "Right") { return foldableRecDefs.foldl(v)(v1)(v2._1); }
1479
+ $runtime.fail();
1480
+ };
1481
+ const foldableModule = {
1482
+ foldl: v => v1 => v2 => {
1483
+ if (v2.tag === "Nil") { return v1; }
1484
+ if (v2.tag === "Cons") {
1485
+ if (v2._1.tag === "Left") {
1486
+ const go = go$a0$copy => go$a1$copy => {
1487
+ let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
1488
+ while (go$c) {
1489
+ const b = go$a0, v$1 = go$a1;
1490
+ if (v$1.tag === "Nil") {
1491
+ go$c = false;
1492
+ go$r = b;
1493
+ continue;
1494
+ }
1495
+ if (v$1.tag === "Cons") {
1496
+ go$a0 = foldlModuleDef(v)(b)(v$1._1);
1497
+ go$a1 = v$1._2;
1498
+ continue;
1499
+ }
1500
+ $runtime.fail();
1501
+ }
1502
+ return go$r;
1503
+ };
1504
+ return go(foldableVarDef.foldl(v)(v1)(v2._1._1))(v2._2);
1505
+ }
1506
+ if (v2._1.tag === "Right") {
1507
+ const go = go$a0$copy => go$a1$copy => {
1508
+ let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
1509
+ while (go$c) {
1510
+ const b = go$a0, v$1 = go$a1;
1511
+ if (v$1.tag === "Nil") {
1512
+ go$c = false;
1513
+ go$r = b;
1514
+ continue;
1515
+ }
1516
+ if (v$1.tag === "Cons") {
1517
+ go$a0 = foldlModuleDef(v)(b)(v$1._1);
1518
+ go$a1 = v$1._2;
1519
+ continue;
1520
+ }
1521
+ $runtime.fail();
1522
+ }
1523
+ return go$r;
1524
+ };
1525
+ return go(foldableRecDefs.foldl(v)(v1)(v2._1._1))(v2._2);
1526
+ }
1527
+ }
1528
+ $runtime.fail();
1529
+ },
1530
+ foldr: f => Data$dFoldable.foldrDefault(foldableModule)(f),
1531
+ foldMap: dictMonoid => f => foldableModule.foldl(acc => x => dictMonoid.Semigroup0().append(acc)(f(x)))(dictMonoid.mempty)
1532
+ };
1533
+ const traversableModule = {
1534
+ traverse: dictApplicative => {
1535
+ const Apply0 = dictApplicative.Apply0();
1536
+ const $0 = Apply0.Functor0();
1537
+ const traverse5 = traversableVarDef.traverse(dictApplicative);
1538
+ const traverse6 = traversableRecDefs.traverse(dictApplicative);
1539
+ return v => v1 => {
1540
+ if (v1.tag === "Nil") { return dictApplicative.pure(Data$dList$dTypes.Nil); }
1541
+ if (v1.tag === "Cons") {
1542
+ if (v1._1.tag === "Left") {
1543
+ return $0.map(Module)(Apply0.apply(Apply0.Functor0().map(Data$dList$dTypes.Cons)($0.map(Data$dEither.Left)(traverse5(v)(v1._1._1))))($0.map(Unsafe$dCoerce.unsafeCoerce)(traversableModule.traverse(dictApplicative)(v)(v1._2))));
1544
+ }
1545
+ if (v1._1.tag === "Right") {
1546
+ return $0.map(Module)(Apply0.apply(Apply0.Functor0().map(Data$dList$dTypes.Cons)($0.map(Data$dEither.Right)(traverse6(v)(v1._1._1))))($0.map(Unsafe$dCoerce.unsafeCoerce)(traversableModule.traverse(dictApplicative)(v)(v1._2))));
1547
+ }
1548
+ }
1549
+ $runtime.fail();
1550
+ };
1551
+ },
1552
+ sequence: dictApplicative => traversableModule.traverse(dictApplicative)(Data$dTraversable.identity),
1553
+ Functor0: () => functorModule,
1554
+ Foldable1: () => foldableModule
1555
+ };
1556
+ const bv = dict => dict.bv;
1557
+ const bVElim = {
1558
+ bv: v => {
1559
+ if (v.tag === "ElimVar") {
1560
+ return setSet.union(Data$dMap$dInternal.$$$Map("Node", 1, 1, v._1, undefined, Data$dMap$dInternal.Leaf, Data$dMap$dInternal.Leaf))(bVCont.bv(v._2));
1561
+ }
1562
+ if (v.tag === "ElimConstr") { return bVCont.bv(asMaplet(v._1)._2); }
1563
+ if (v.tag === "ElimDict") { return bVCont.bv(v._2); }
1564
+ $runtime.fail();
1565
+ }
1566
+ };
1567
+ const bVCont = {
1568
+ bv: v => {
1569
+ if (v.tag === "ContElim") { return bVElim.bv(v._1); }
1570
+ if (v.tag === "ContExpr") { return Data$dMap$dInternal.Leaf; }
1571
+ $runtime.fail();
1572
+ }
1573
+ };
1574
+ const bVVarDef = {bv: v => bVElim.bv(v._1)};
1575
+ const fVVarDef = {fv: v => fVExpr.fv(v._2)};
1576
+ const fVRecDefs = {fv: v => fVDict(fVElim).fv(v._2)};
1577
+ const fVExpr = {
1578
+ fv: v => {
1579
+ if (v.tag === "Var") { return Data$dMap$dInternal.$$$Map("Node", 1, 1, v._1, undefined, Data$dMap$dInternal.Leaf, Data$dMap$dInternal.Leaf); }
1580
+ if (v.tag === "Op") { return Data$dMap$dInternal.$$$Map("Node", 1, 1, v._1, undefined, Data$dMap$dInternal.Leaf, Data$dMap$dInternal.Leaf); }
1581
+ if (v.tag === "Int") { return Data$dMap$dInternal.Leaf; }
1582
+ if (v.tag === "Float") { return Data$dMap$dInternal.Leaf; }
1583
+ if (v.tag === "Str") { return Data$dMap$dInternal.Leaf; }
1584
+ if (v.tag === "Dictionary") { return unions3(Data$dList$dTypes.listMap(v1 => setSet.union(fVExpr.fv(v1._1))(fVExpr.fv(v1._2)))(v._2)); }
1585
+ if (v.tag === "Constr") { return unions3(Data$dList$dTypes.listMap(fVExpr.fv)(v._3)); }
1586
+ if (v.tag === "Matrix") { return setSet.union(fVExpr.fv(v._2))(fVExpr.fv(v._4)); }
1587
+ if (v.tag === "Lambda") { return fVElim.fv(v._2); }
1588
+ if (v.tag === "DProject") { return setSet.union(fVExpr.fv(v._1))(fVExpr.fv(v._2)); }
1589
+ if (v.tag === "App") { return setSet.union(fVExpr.fv(v._1))(fVExpr.fv(v._2)); }
1590
+ if (v.tag === "Let") { return setSet.union(fVExpr.fv(v._1._2))(setSet.difference(fVExpr.fv(v._2))(bVElim.bv(v._1._1))); }
1591
+ if (v.tag === "LetRec") { return setSet.union(fVDict(fVElim).fv(v._1._2))(fVExpr.fv(v._2)); }
1592
+ if (v.tag === "DocExpr") { return setSet.union(fVExpr.fv(v._1))(fVExpr.fv(v._2)); }
1593
+ $runtime.fail();
1594
+ }
1595
+ };
1596
+ const fVElim = {
1597
+ fv: v => {
1598
+ if (v.tag === "ElimVar") {
1599
+ return setSet.difference(fVCont.fv(v._2))(Data$dMap$dInternal.$$$Map("Node", 1, 1, v._1, undefined, Data$dMap$dInternal.Leaf, Data$dMap$dInternal.Leaf));
1600
+ }
1601
+ if (v.tag === "ElimConstr") { return unions2(Foreign$dObject._fmapObject(v._1, fVCont.fv)); }
1602
+ if (v.tag === "ElimDict") { return fVCont.fv(v._2); }
1603
+ $runtime.fail();
1604
+ }
1605
+ };
1606
+ const fVCont = {
1607
+ fv: v => {
1608
+ if (v.tag === "ContElim") { return fVElim.fv(v._1); }
1609
+ if (v.tag === "ContExpr") { return fVExpr.fv(v._1); }
1610
+ $runtime.fail();
1611
+ }
1612
+ };
1613
+ const asExpr = v => {
1614
+ if (v.tag === "ContExpr") { return v._1; }
1615
+ return Effect$dException.throwException(Effect$dException.error("Expression expected"))();
1616
+ };
1617
+ const asElim = v => {
1618
+ if (v.tag === "ContElim") { return v._1; }
1619
+ return Effect$dException.throwException(Effect$dException.error("Eliminator expected"))();
1620
+ };
1621
+ export {
1622
+ $Cont,
1623
+ $Elim,
1624
+ $Expr,
1625
+ $RecDefs,
1626
+ $VarDef,
1627
+ App,
1628
+ Constr,
1629
+ ContElim,
1630
+ ContExpr,
1631
+ DProject,
1632
+ Dictionary,
1633
+ DocExpr,
1634
+ ElimConstr,
1635
+ ElimDict,
1636
+ ElimVar,
1637
+ Float,
1638
+ Int,
1639
+ Lambda,
1640
+ Let,
1641
+ LetRec,
1642
+ Matrix,
1643
+ Module,
1644
+ Op,
1645
+ RecDefs,
1646
+ Str,
1647
+ Var,
1648
+ VarDef,
1649
+ applyCont,
1650
+ applyElim,
1651
+ applyExpr,
1652
+ applyModule,
1653
+ applyRecDefs,
1654
+ applyVarDef,
1655
+ asElim,
1656
+ asExpr,
1657
+ asMaplet,
1658
+ bVCont,
1659
+ bVElim,
1660
+ bVVarDef,
1661
+ bv,
1662
+ compare3,
1663
+ compare4,
1664
+ eqCont,
1665
+ eqElim,
1666
+ eqExpr,
1667
+ eqRecDefs,
1668
+ eqVarDef,
1669
+ expandableContRawCont,
1670
+ expandableElimRawElim,
1671
+ expandableExprRawExpr,
1672
+ expandableRecDefsRawRecDe,
1673
+ expandableVarDefRawVarDef,
1674
+ fV$x215,
1675
+ fVCont,
1676
+ fVDict,
1677
+ fVElim,
1678
+ fVExpr,
1679
+ fVList,
1680
+ fVMaybe,
1681
+ fVRecDefs,
1682
+ fVVarDef,
1683
+ foldableCont,
1684
+ foldableElim,
1685
+ foldableExpr,
1686
+ foldableModule,
1687
+ foldableRecDefs,
1688
+ foldableVarDef,
1689
+ foldlModuleDef,
1690
+ fromFoldable,
1691
+ functorCont,
1692
+ functorElim,
1693
+ functorExpr,
1694
+ functorModule,
1695
+ functorRecDefs,
1696
+ functorVarDef,
1697
+ fv,
1698
+ identity,
1699
+ joinSemilatticeCont,
1700
+ joinSemilatticeElim,
1701
+ joinSemilatticeExpr,
1702
+ joinSemilatticeRecDefs,
1703
+ joinSemilatticeVarDef,
1704
+ meetSemilatticeExpr,
1705
+ newtypeModule_,
1706
+ ordCont,
1707
+ ordElim,
1708
+ ordExpr,
1709
+ ordRecDefs,
1710
+ ordVarDef,
1711
+ pack,
1712
+ pack1,
1713
+ setSet,
1714
+ traversableCont,
1715
+ traversableElim,
1716
+ traversableExpr,
1717
+ traversableModule,
1718
+ traversableRecDefs,
1719
+ traversableVarDef,
1720
+ typeNameExpr,
1721
+ typeNameRecDefs,
1722
+ union,
1723
+ unions1,
1724
+ unions2,
1725
+ unions3,
1726
+ verticesContVertex,
1727
+ verticesElimVertex,
1728
+ verticesExprVertex,
1729
+ verticesModuleVertex,
1730
+ verticesRecDefsVertex,
1731
+ verticesVarDefVertex
1732
+ };