@fncts/base 0.0.11 → 0.0.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (734) hide show
  1. package/_cjs/collection/Iterable/api/traverseConc.cjs +16 -21
  2. package/_cjs/collection/Iterable/api/traverseConc.cjs.map +1 -1
  3. package/_cjs/collection/compat/Array/api.cjs +10 -10
  4. package/_cjs/collection/compat/Array/derivations.cjs +96 -0
  5. package/_cjs/collection/compat/Array/derivations.cjs.map +1 -0
  6. package/_cjs/collection/compat/Array.cjs +13 -0
  7. package/_cjs/collection/compat/Array.cjs.map +1 -1
  8. package/_cjs/collection/compat/Record/instances.cjs +67 -16
  9. package/_cjs/collection/compat/Record/instances.cjs.map +1 -1
  10. package/_cjs/collection/compat.cjs +6 -0
  11. package/_cjs/collection/compat.cjs.map +1 -0
  12. package/_cjs/collection/immutable/Conc/api.cjs +9 -12
  13. package/_cjs/collection/immutable/Conc/api.cjs.map +1 -1
  14. package/_cjs/collection/immutable/Conc/definition.cjs +41 -43
  15. package/_cjs/collection/immutable/Conc/definition.cjs.map +1 -1
  16. package/_cjs/collection/immutable/Conc/derivations.cjs +45 -0
  17. package/_cjs/collection/immutable/Conc/derivations.cjs.map +1 -0
  18. package/_cjs/collection/immutable/Conc.cjs +13 -0
  19. package/_cjs/collection/immutable/Conc.cjs.map +1 -1
  20. package/_cjs/collection/immutable/Dictionary/definition.cjs +2 -4
  21. package/_cjs/collection/immutable/Dictionary/definition.cjs.map +1 -1
  22. package/_cjs/collection/immutable/HashMap/api.cjs +26 -29
  23. package/_cjs/collection/immutable/HashMap/api.cjs.map +1 -1
  24. package/_cjs/collection/immutable/HashMap/definition.cjs +15 -17
  25. package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
  26. package/_cjs/collection/immutable/ImmutableArray/api.cjs +142 -159
  27. package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +1 -1
  28. package/_cjs/collection/immutable/ImmutableArray/constructors.cjs +2 -2
  29. package/_cjs/collection/immutable/ImmutableArray/definition.cjs +18 -15
  30. package/_cjs/collection/immutable/ImmutableArray/definition.cjs.map +1 -1
  31. package/_cjs/collection/immutable/ImmutableArray/derivations.cjs +41 -0
  32. package/_cjs/collection/immutable/ImmutableArray/derivations.cjs.map +1 -0
  33. package/_cjs/collection/immutable/ImmutableArray/instances.cjs +11 -9
  34. package/_cjs/collection/immutable/ImmutableArray/instances.cjs.map +1 -1
  35. package/_cjs/collection/immutable/ImmutableArray.cjs +13 -0
  36. package/_cjs/collection/immutable/ImmutableArray.cjs.map +1 -1
  37. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs +21 -22
  38. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs.map +1 -1
  39. package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs +2 -2
  40. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs +3 -9
  41. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs.map +1 -1
  42. package/_cjs/collection/immutable/ImmutableNonEmptyArray/derivations.cjs +62 -0
  43. package/_cjs/collection/immutable/ImmutableNonEmptyArray/derivations.cjs.map +1 -0
  44. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs +8 -2
  45. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs.map +1 -1
  46. package/_cjs/collection/immutable/ImmutableNonEmptyArray.cjs +13 -0
  47. package/_cjs/collection/immutable/ImmutableNonEmptyArray.cjs.map +1 -1
  48. package/_cjs/collection/immutable/List/definition.cjs +2 -2
  49. package/_cjs/collection/immutable/RoseTree/definition.cjs +13 -15
  50. package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -1
  51. package/_cjs/collection/immutable/Vector/api.cjs +8 -12
  52. package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
  53. package/_cjs/collection/immutable/Vector/definition.cjs +11 -13
  54. package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
  55. package/_cjs/collection/immutable/Vector/internal.cjs +1 -1
  56. package/_cjs/collection/immutable.cjs +6 -0
  57. package/_cjs/collection/immutable.cjs.map +1 -0
  58. package/_cjs/collection/mutable/HashMap.cjs +4 -0
  59. package/_cjs/collection/mutable/HashMap.cjs.map +1 -1
  60. package/_cjs/collection/mutable.cjs +6 -0
  61. package/_cjs/collection/mutable.cjs.map +1 -0
  62. package/_cjs/collection/weak/IterableWeakMap.cjs +51 -2
  63. package/_cjs/collection/weak/IterableWeakMap.cjs.map +1 -1
  64. package/_cjs/collection/weak/IterableWeakSet.cjs +59 -7
  65. package/_cjs/collection/weak/IterableWeakSet.cjs.map +1 -1
  66. package/_cjs/collection/weak.cjs +6 -0
  67. package/_cjs/collection/weak.cjs.map +1 -0
  68. package/_cjs/collection.cjs +6 -0
  69. package/_cjs/collection.cjs.map +1 -0
  70. package/_cjs/control/Eval/api.cjs +9 -3
  71. package/_cjs/control/Eval/api.cjs.map +1 -1
  72. package/_cjs/control/Eval/definition.cjs +1 -8
  73. package/_cjs/control/Eval/definition.cjs.map +1 -1
  74. package/_cjs/control/Eval/instance.cjs +6 -0
  75. package/_cjs/control/Eval/instance.cjs.map +1 -1
  76. package/_cjs/control/Z/api.cjs +16 -14
  77. package/_cjs/control/Z/api.cjs.map +1 -1
  78. package/_cjs/control/Z/definition.cjs +8 -14
  79. package/_cjs/control/Z/definition.cjs.map +1 -1
  80. package/_cjs/control/Z/instances.cjs +6 -0
  81. package/_cjs/control/Z/instances.cjs.map +1 -1
  82. package/_cjs/control/Z/runtime.cjs +17 -13
  83. package/_cjs/control/Z/runtime.cjs.map +1 -1
  84. package/_cjs/control.cjs +6 -0
  85. package/_cjs/control.cjs.map +1 -0
  86. package/_cjs/data/Cause/api/isEmpty.cjs +2 -0
  87. package/_cjs/data/Cause/api/isEmpty.cjs.map +1 -1
  88. package/_cjs/data/Cause/api/linearize.cjs +2 -0
  89. package/_cjs/data/Cause/api/linearize.cjs.map +1 -1
  90. package/_cjs/data/Cause/api.cjs +2 -0
  91. package/_cjs/data/Cause/api.cjs.map +1 -1
  92. package/_cjs/data/Const/definition.cjs +0 -7
  93. package/_cjs/data/Const/definition.cjs.map +1 -1
  94. package/_cjs/data/Const/instances.cjs +11 -8
  95. package/_cjs/data/Const/instances.cjs.map +1 -1
  96. package/_cjs/data/Datum/api.cjs +479 -0
  97. package/_cjs/data/Datum/api.cjs.map +1 -0
  98. package/_cjs/data/Datum/definition.cjs +142 -0
  99. package/_cjs/data/Datum/definition.cjs.map +1 -0
  100. package/_cjs/data/Datum/instances.cjs +69 -0
  101. package/_cjs/data/Datum/instances.cjs.map +1 -0
  102. package/_cjs/data/DatumEither/api.cjs +365 -0
  103. package/_cjs/data/DatumEither/api.cjs.map +1 -0
  104. package/_cjs/data/DatumEither/definition.cjs +9 -0
  105. package/_cjs/data/DatumEither/definition.cjs.map +1 -0
  106. package/_cjs/data/DecodeError/definition.cjs +16 -4
  107. package/_cjs/data/DecodeError/definition.cjs.map +1 -1
  108. package/_cjs/data/DecodeError/instances.cjs +6 -0
  109. package/_cjs/data/DecodeError/instances.cjs.map +1 -0
  110. package/_cjs/data/DecodeError.cjs +13 -0
  111. package/_cjs/data/DecodeError.cjs.map +1 -1
  112. package/_cjs/data/Decoder/definition.cjs +3 -10
  113. package/_cjs/data/Decoder/definition.cjs.map +1 -1
  114. package/_cjs/data/Either/api/alignWith.cjs +2 -0
  115. package/_cjs/data/Either/api/alignWith.cjs.map +1 -1
  116. package/_cjs/data/Either/api.cjs +21 -5
  117. package/_cjs/data/Either/api.cjs.map +1 -1
  118. package/_cjs/data/Either/definition.cjs +4 -11
  119. package/_cjs/data/Either/definition.cjs.map +1 -1
  120. package/_cjs/data/Either/instances.cjs +25 -23
  121. package/_cjs/data/Either/instances.cjs.map +1 -1
  122. package/_cjs/data/EitherT/api.cjs +106 -0
  123. package/_cjs/data/EitherT/api.cjs.map +1 -0
  124. package/_cjs/data/EitherT/definition.cjs +9 -0
  125. package/_cjs/data/EitherT/definition.cjs.map +1 -0
  126. package/_cjs/data/Environment/api.cjs +15 -14
  127. package/_cjs/data/Environment/api.cjs.map +1 -1
  128. package/_cjs/data/Environment/definition.cjs.map +1 -1
  129. package/_cjs/data/Identity/api.cjs +3 -1
  130. package/_cjs/data/Identity/api.cjs.map +1 -1
  131. package/_cjs/data/Identity/definition.cjs +2 -4
  132. package/_cjs/data/Identity/definition.cjs.map +1 -1
  133. package/_cjs/data/Identity/instances.cjs +6 -0
  134. package/_cjs/data/Identity/instances.cjs.map +1 -1
  135. package/_cjs/data/Intervals.cjs +292 -0
  136. package/_cjs/data/Intervals.cjs.map +1 -0
  137. package/_cjs/data/Maybe/api.cjs +3 -1
  138. package/_cjs/data/Maybe/api.cjs.map +1 -1
  139. package/_cjs/data/Maybe/definition.cjs +11 -13
  140. package/_cjs/data/Maybe/definition.cjs.map +1 -1
  141. package/_cjs/data/Maybe/instances.cjs +13 -11
  142. package/_cjs/data/Maybe/instances.cjs.map +1 -1
  143. package/_cjs/data/Newtype.cjs +3 -5
  144. package/_cjs/data/Newtype.cjs.map +1 -1
  145. package/_cjs/data/Patch/api.cjs +2 -0
  146. package/_cjs/data/Patch/api.cjs.map +1 -1
  147. package/_cjs/data/Struct/api.cjs +2 -0
  148. package/_cjs/data/Struct/api.cjs.map +1 -1
  149. package/_cjs/data/Struct/definition.cjs +2 -4
  150. package/_cjs/data/Struct/definition.cjs.map +1 -1
  151. package/_cjs/data/These/definition.cjs +1 -1
  152. package/_cjs/data/These/definition.cjs.map +1 -1
  153. package/_cjs/data/Zipped.cjs +55 -0
  154. package/_cjs/data/Zipped.cjs.map +1 -0
  155. package/_cjs/data/function/api.cjs +10 -0
  156. package/_cjs/data/function/api.cjs.map +1 -1
  157. package/_cjs/data/object/instances.cjs +9 -1
  158. package/_cjs/data/object/instances.cjs.map +1 -1
  159. package/_cjs/data/string/api.cjs +1 -1
  160. package/_cjs/data.cjs +6 -0
  161. package/_cjs/data.cjs.map +1 -0
  162. package/_cjs/global.cjs +6 -0
  163. package/_cjs/global.cjs.map +1 -0
  164. package/_cjs/index.cjs +6 -0
  165. package/_cjs/index.cjs.map +1 -0
  166. package/_cjs/json.cjs +6 -0
  167. package/_cjs/json.cjs.map +1 -0
  168. package/_cjs/optics/At/definition.cjs +2 -0
  169. package/_cjs/optics/At/definition.cjs.map +1 -1
  170. package/_cjs/optics/Iso/definition.cjs +4 -0
  171. package/_cjs/optics/Iso/definition.cjs.map +1 -1
  172. package/_cjs/optics/Lens/definition.cjs +4 -0
  173. package/_cjs/optics/Lens/definition.cjs.map +1 -1
  174. package/_cjs/optics/Optional/definition.cjs +5 -5
  175. package/_cjs/optics/Optional/definition.cjs.map +1 -1
  176. package/_cjs/optics/Prism/definition.cjs +2 -0
  177. package/_cjs/optics/Prism/definition.cjs.map +1 -1
  178. package/_cjs/optics/Traversal/api/compose.cjs +1 -1
  179. package/_cjs/optics/Traversal/api/compose.cjs.map +1 -1
  180. package/_cjs/optics/Traversal/api/fromTraversable.cjs +1 -1
  181. package/_cjs/optics/Traversal/api/fromTraversable.cjs.map +1 -1
  182. package/_cjs/optics/Traversal/definition.cjs +7 -3
  183. package/_cjs/optics/Traversal/definition.cjs.map +1 -1
  184. package/_cjs/optics.cjs +6 -0
  185. package/_cjs/optics.cjs.map +1 -0
  186. package/_cjs/typeclass/Alt.cjs +0 -7
  187. package/_cjs/typeclass/Alt.cjs.map +1 -1
  188. package/_cjs/typeclass/ApplicativeExcept.cjs +9 -35
  189. package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
  190. package/_cjs/typeclass/Apply.cjs +39 -66
  191. package/_cjs/typeclass/Apply.cjs.map +1 -1
  192. package/_cjs/typeclass/Chain.cjs +6 -28
  193. package/_cjs/typeclass/Chain.cjs.map +1 -1
  194. package/_cjs/typeclass/Fail.cjs +0 -10
  195. package/_cjs/typeclass/Fail.cjs.map +1 -1
  196. package/_cjs/typeclass/Filterable.cjs +0 -36
  197. package/_cjs/typeclass/Filterable.cjs.map +1 -1
  198. package/_cjs/typeclass/Foldable.cjs +4 -34
  199. package/_cjs/typeclass/Foldable.cjs.map +1 -1
  200. package/_cjs/typeclass/FoldableWithIndex.cjs +4 -34
  201. package/_cjs/typeclass/FoldableWithIndex.cjs.map +1 -1
  202. package/_cjs/typeclass/Functor.cjs +3 -18
  203. package/_cjs/typeclass/Functor.cjs.map +1 -1
  204. package/_cjs/typeclass/Guard/definition.cjs +3 -10
  205. package/_cjs/typeclass/Guard/definition.cjs.map +1 -1
  206. package/_cjs/typeclass/HashEq.cjs +2 -0
  207. package/_cjs/typeclass/HashEq.cjs.map +1 -1
  208. package/_cjs/typeclass/MonadExcept.cjs +2 -10
  209. package/_cjs/typeclass/MonadExcept.cjs.map +1 -1
  210. package/_cjs/typeclass/Monoid.cjs +2 -0
  211. package/_cjs/typeclass/Monoid.cjs.map +1 -1
  212. package/_cjs/typeclass/Nil.cjs +0 -10
  213. package/_cjs/typeclass/Nil.cjs.map +1 -1
  214. package/_cjs/typeclass/Ord/definition.cjs +2 -0
  215. package/_cjs/typeclass/Ord/definition.cjs.map +1 -1
  216. package/_cjs/typeclass/Ord/instances.cjs +4 -3
  217. package/_cjs/typeclass/Ord/instances.cjs.map +1 -1
  218. package/_cjs/typeclass/Pointed.cjs +0 -11
  219. package/_cjs/typeclass/Pointed.cjs.map +1 -1
  220. package/_cjs/typeclass/Semialign.cjs +18 -46
  221. package/_cjs/typeclass/Semialign.cjs.map +1 -1
  222. package/_cjs/typeclass/Semimonoidal.cjs +0 -11
  223. package/_cjs/typeclass/Semimonoidal.cjs.map +1 -1
  224. package/_cjs/typeclass/Showable/show.cjs +12 -12
  225. package/_cjs/typeclass/Showable/show.cjs.map +1 -1
  226. package/_cjs/typeclass/Traversable.cjs +7 -26
  227. package/_cjs/typeclass/Traversable.cjs.map +1 -1
  228. package/_cjs/typeclass/TraversableWithIndex.cjs +3 -7
  229. package/_cjs/typeclass/TraversableWithIndex.cjs.map +1 -1
  230. package/_cjs/typeclass/Witherable.cjs +3 -45
  231. package/_cjs/typeclass/Witherable.cjs.map +1 -1
  232. package/_cjs/typeclass/WitherableWithIndex.cjs +8 -44
  233. package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
  234. package/_cjs/util.cjs +6 -0
  235. package/_cjs/util.cjs.map +1 -0
  236. package/_mjs/collection/Iterable/api/traverseConc.mjs +16 -21
  237. package/_mjs/collection/Iterable/api/traverseConc.mjs.map +1 -1
  238. package/_mjs/collection/compat/Array/api.mjs +10 -10
  239. package/_mjs/collection/compat/Array/derivations.mjs +70 -0
  240. package/_mjs/collection/compat/Array/derivations.mjs.map +1 -0
  241. package/_mjs/collection/compat/Array.mjs +1 -0
  242. package/_mjs/collection/compat/Array.mjs.map +1 -1
  243. package/_mjs/collection/compat/Record/instances.mjs +62 -16
  244. package/_mjs/collection/compat/Record/instances.mjs.map +1 -1
  245. package/_mjs/collection/compat.mjs +2 -0
  246. package/_mjs/collection/compat.mjs.map +1 -0
  247. package/_mjs/collection/immutable/Conc/api.mjs +8 -11
  248. package/_mjs/collection/immutable/Conc/api.mjs.map +1 -1
  249. package/_mjs/collection/immutable/Conc/definition.mjs +41 -42
  250. package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
  251. package/_mjs/collection/immutable/Conc/derivations.mjs +27 -0
  252. package/_mjs/collection/immutable/Conc/derivations.mjs.map +1 -0
  253. package/_mjs/collection/immutable/Conc.mjs +2 -1
  254. package/_mjs/collection/immutable/Conc.mjs.map +1 -1
  255. package/_mjs/collection/immutable/Dictionary/definition.mjs +2 -3
  256. package/_mjs/collection/immutable/Dictionary/definition.mjs.map +1 -1
  257. package/_mjs/collection/immutable/HashMap/api.mjs +18 -20
  258. package/_mjs/collection/immutable/HashMap/api.mjs.map +1 -1
  259. package/_mjs/collection/immutable/HashMap/definition.mjs +15 -16
  260. package/_mjs/collection/immutable/HashMap/definition.mjs.map +1 -1
  261. package/_mjs/collection/immutable/HashSet/api.mjs +1 -0
  262. package/_mjs/collection/immutable/HashSet/api.mjs.map +1 -1
  263. package/_mjs/collection/immutable/ImmutableArray/api.mjs +134 -153
  264. package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +1 -1
  265. package/_mjs/collection/immutable/ImmutableArray/constructors.mjs +2 -2
  266. package/_mjs/collection/immutable/ImmutableArray/definition.mjs +16 -12
  267. package/_mjs/collection/immutable/ImmutableArray/definition.mjs.map +1 -1
  268. package/_mjs/collection/immutable/ImmutableArray/derivations.mjs +25 -0
  269. package/_mjs/collection/immutable/ImmutableArray/derivations.mjs.map +1 -0
  270. package/_mjs/collection/immutable/ImmutableArray/instances.mjs +9 -8
  271. package/_mjs/collection/immutable/ImmutableArray/instances.mjs.map +1 -1
  272. package/_mjs/collection/immutable/ImmutableArray.mjs +1 -0
  273. package/_mjs/collection/immutable/ImmutableArray.mjs.map +1 -1
  274. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs +19 -19
  275. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs.map +1 -1
  276. package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs +2 -2
  277. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs +0 -2
  278. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs.map +1 -1
  279. package/_mjs/collection/immutable/ImmutableNonEmptyArray/derivations.mjs +39 -0
  280. package/_mjs/collection/immutable/ImmutableNonEmptyArray/derivations.mjs.map +1 -0
  281. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs +4 -3
  282. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs.map +1 -1
  283. package/_mjs/collection/immutable/ImmutableNonEmptyArray.mjs +1 -0
  284. package/_mjs/collection/immutable/ImmutableNonEmptyArray.mjs.map +1 -1
  285. package/_mjs/collection/immutable/List/definition.mjs +2 -2
  286. package/_mjs/collection/immutable/RoseTree/definition.mjs +13 -14
  287. package/_mjs/collection/immutable/RoseTree/definition.mjs.map +1 -1
  288. package/_mjs/collection/immutable/SortedMap/api.mjs +1 -0
  289. package/_mjs/collection/immutable/SortedMap/api.mjs.map +1 -1
  290. package/_mjs/collection/immutable/Vector/api.mjs +8 -12
  291. package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
  292. package/_mjs/collection/immutable/Vector/definition.mjs +11 -12
  293. package/_mjs/collection/immutable/Vector/definition.mjs.map +1 -1
  294. package/_mjs/collection/immutable/Vector/internal.mjs +1 -1
  295. package/_mjs/collection/immutable.mjs +2 -0
  296. package/_mjs/collection/immutable.mjs.map +1 -0
  297. package/_mjs/collection/mutable/HashMap.mjs +4 -0
  298. package/_mjs/collection/mutable/HashMap.mjs.map +1 -1
  299. package/_mjs/collection/mutable.mjs +2 -0
  300. package/_mjs/collection/mutable.mjs.map +1 -0
  301. package/_mjs/collection/weak/IterableWeakMap.mjs +51 -2
  302. package/_mjs/collection/weak/IterableWeakMap.mjs.map +1 -1
  303. package/_mjs/collection/weak/IterableWeakSet.mjs +59 -7
  304. package/_mjs/collection/weak/IterableWeakSet.mjs.map +1 -1
  305. package/_mjs/collection/weak.mjs +2 -0
  306. package/_mjs/collection/weak.mjs.map +1 -0
  307. package/_mjs/collection.mjs +2 -0
  308. package/_mjs/collection.mjs.map +1 -0
  309. package/_mjs/control/Eval/api.mjs +9 -4
  310. package/_mjs/control/Eval/api.mjs.map +1 -1
  311. package/_mjs/control/Eval/definition.mjs +1 -2
  312. package/_mjs/control/Eval/definition.mjs.map +1 -1
  313. package/_mjs/control/Eval/instance.mjs +1 -0
  314. package/_mjs/control/Eval/instance.mjs.map +1 -1
  315. package/_mjs/control/Eval/run.mjs +1 -0
  316. package/_mjs/control/Eval/run.mjs.map +1 -1
  317. package/_mjs/control/Z/api.mjs +16 -15
  318. package/_mjs/control/Z/api.mjs.map +1 -1
  319. package/_mjs/control/Z/definition.mjs +3 -5
  320. package/_mjs/control/Z/definition.mjs.map +1 -1
  321. package/_mjs/control/Z/instances.mjs +1 -0
  322. package/_mjs/control/Z/instances.mjs.map +1 -1
  323. package/_mjs/control/Z/runtime.mjs +15 -13
  324. package/_mjs/control/Z/runtime.mjs.map +1 -1
  325. package/_mjs/control.mjs +2 -0
  326. package/_mjs/control.mjs.map +1 -0
  327. package/_mjs/data/Branded/derivations.mjs +1 -0
  328. package/_mjs/data/Branded/derivations.mjs.map +1 -1
  329. package/_mjs/data/Cause/api/isEmpty.mjs +1 -0
  330. package/_mjs/data/Cause/api/isEmpty.mjs.map +1 -1
  331. package/_mjs/data/Cause/api/linearize.mjs +1 -0
  332. package/_mjs/data/Cause/api/linearize.mjs.map +1 -1
  333. package/_mjs/data/Cause/api.mjs +2 -1
  334. package/_mjs/data/Cause/api.mjs.map +1 -1
  335. package/_mjs/data/Const/definition.mjs +0 -3
  336. package/_mjs/data/Const/definition.mjs.map +1 -1
  337. package/_mjs/data/Const/instances.mjs +7 -5
  338. package/_mjs/data/Const/instances.mjs.map +1 -1
  339. package/_mjs/data/Datum/api.mjs +404 -0
  340. package/_mjs/data/Datum/api.mjs.map +1 -0
  341. package/_mjs/data/Datum/definition.mjs +112 -0
  342. package/_mjs/data/Datum/definition.mjs.map +1 -0
  343. package/_mjs/data/Datum/instances.mjs +52 -0
  344. package/_mjs/data/Datum/instances.mjs.map +1 -0
  345. package/_mjs/data/DatumEither/api.mjs +290 -0
  346. package/_mjs/data/DatumEither/api.mjs.map +1 -0
  347. package/_mjs/data/DatumEither/definition.mjs +2 -0
  348. package/_mjs/data/DatumEither/definition.mjs.map +1 -0
  349. package/_mjs/data/DecodeError/definition.mjs +12 -3
  350. package/_mjs/data/DecodeError/definition.mjs.map +1 -1
  351. package/_mjs/data/DecodeError/instances.mjs +2 -0
  352. package/_mjs/data/DecodeError/instances.mjs.map +1 -0
  353. package/_mjs/data/DecodeError.mjs +1 -0
  354. package/_mjs/data/DecodeError.mjs.map +1 -1
  355. package/_mjs/data/Decoder/api.mjs +1 -0
  356. package/_mjs/data/Decoder/api.mjs.map +1 -1
  357. package/_mjs/data/Decoder/definition.mjs +0 -2
  358. package/_mjs/data/Decoder/definition.mjs.map +1 -1
  359. package/_mjs/data/Either/api/alignWith.mjs +1 -0
  360. package/_mjs/data/Either/api/alignWith.mjs.map +1 -1
  361. package/_mjs/data/Either/api.mjs +17 -4
  362. package/_mjs/data/Either/api.mjs.map +1 -1
  363. package/_mjs/data/Either/definition.mjs +1 -3
  364. package/_mjs/data/Either/definition.mjs.map +1 -1
  365. package/_mjs/data/Either/instances.mjs +24 -23
  366. package/_mjs/data/Either/instances.mjs.map +1 -1
  367. package/_mjs/data/EitherT/api.mjs +73 -0
  368. package/_mjs/data/EitherT/api.mjs.map +1 -0
  369. package/_mjs/data/EitherT/definition.mjs +2 -0
  370. package/_mjs/data/EitherT/definition.mjs.map +1 -0
  371. package/_mjs/data/Environment/api.mjs +12 -13
  372. package/_mjs/data/Environment/api.mjs.map +1 -1
  373. package/_mjs/data/Environment/definition.mjs.map +1 -1
  374. package/_mjs/data/Identity/api.mjs +2 -1
  375. package/_mjs/data/Identity/api.mjs.map +1 -1
  376. package/_mjs/data/Identity/definition.mjs +2 -3
  377. package/_mjs/data/Identity/definition.mjs.map +1 -1
  378. package/_mjs/data/Identity/instances.mjs +1 -0
  379. package/_mjs/data/Identity/instances.mjs.map +1 -1
  380. package/_mjs/data/Intervals.mjs +257 -0
  381. package/_mjs/data/Intervals.mjs.map +1 -0
  382. package/_mjs/data/Maybe/api.mjs +2 -1
  383. package/_mjs/data/Maybe/api.mjs.map +1 -1
  384. package/_mjs/data/Maybe/definition.mjs +8 -10
  385. package/_mjs/data/Maybe/definition.mjs.map +1 -1
  386. package/_mjs/data/Maybe/instances.mjs +12 -11
  387. package/_mjs/data/Maybe/instances.mjs.map +1 -1
  388. package/_mjs/data/Newtype.mjs +3 -4
  389. package/_mjs/data/Newtype.mjs.map +1 -1
  390. package/_mjs/data/Patch/api.mjs +1 -0
  391. package/_mjs/data/Patch/api.mjs.map +1 -1
  392. package/_mjs/data/Struct/api.mjs +1 -0
  393. package/_mjs/data/Struct/api.mjs.map +1 -1
  394. package/_mjs/data/Struct/definition.mjs +2 -3
  395. package/_mjs/data/Struct/definition.mjs.map +1 -1
  396. package/_mjs/data/These/definition.mjs +1 -1
  397. package/_mjs/data/These/definition.mjs.map +1 -1
  398. package/_mjs/data/Zipped.mjs +37 -0
  399. package/_mjs/data/Zipped.mjs.map +1 -0
  400. package/_mjs/data/function/api.mjs +8 -0
  401. package/_mjs/data/function/api.mjs.map +1 -1
  402. package/_mjs/data/object/instances.mjs +7 -1
  403. package/_mjs/data/object/instances.mjs.map +1 -1
  404. package/_mjs/data/string/api.mjs +1 -1
  405. package/_mjs/data.mjs +2 -0
  406. package/_mjs/data.mjs.map +1 -0
  407. package/_mjs/global.mjs +2 -0
  408. package/_mjs/global.mjs.map +1 -0
  409. package/_mjs/index.mjs +2 -0
  410. package/_mjs/index.mjs.map +1 -0
  411. package/_mjs/json.mjs +2 -0
  412. package/_mjs/json.mjs.map +1 -0
  413. package/_mjs/optics/At/api.mjs +1 -0
  414. package/_mjs/optics/At/api.mjs.map +1 -1
  415. package/_mjs/optics/At/definition.mjs +1 -0
  416. package/_mjs/optics/At/definition.mjs.map +1 -1
  417. package/_mjs/optics/Index/api.mjs +1 -0
  418. package/_mjs/optics/Index/api.mjs.map +1 -1
  419. package/_mjs/optics/Iso/api.mjs +1 -0
  420. package/_mjs/optics/Iso/api.mjs.map +1 -1
  421. package/_mjs/optics/Iso/definition.mjs +2 -0
  422. package/_mjs/optics/Iso/definition.mjs.map +1 -1
  423. package/_mjs/optics/Lens/api.mjs +1 -0
  424. package/_mjs/optics/Lens/api.mjs.map +1 -1
  425. package/_mjs/optics/Lens/definition.mjs +2 -0
  426. package/_mjs/optics/Lens/definition.mjs.map +1 -1
  427. package/_mjs/optics/Optional/api/compose.mjs +1 -0
  428. package/_mjs/optics/Optional/api/compose.mjs.map +1 -1
  429. package/_mjs/optics/Optional/definition.mjs +5 -5
  430. package/_mjs/optics/Optional/definition.mjs.map +1 -1
  431. package/_mjs/optics/Prism/api/compose.mjs +1 -0
  432. package/_mjs/optics/Prism/api/compose.mjs.map +1 -1
  433. package/_mjs/optics/Prism/api/fromNullable.mjs +1 -0
  434. package/_mjs/optics/Prism/api/fromNullable.mjs.map +1 -1
  435. package/_mjs/optics/Prism/api/just.mjs +1 -0
  436. package/_mjs/optics/Prism/api/just.mjs.map +1 -1
  437. package/_mjs/optics/Prism/definition.mjs +1 -0
  438. package/_mjs/optics/Prism/definition.mjs.map +1 -1
  439. package/_mjs/optics/Traversal/api/compose.mjs +2 -1
  440. package/_mjs/optics/Traversal/api/compose.mjs.map +1 -1
  441. package/_mjs/optics/Traversal/api/fromTraversable.mjs +2 -1
  442. package/_mjs/optics/Traversal/api/fromTraversable.mjs.map +1 -1
  443. package/_mjs/optics/Traversal/definition.mjs +5 -3
  444. package/_mjs/optics/Traversal/definition.mjs.map +1 -1
  445. package/_mjs/optics.mjs +2 -0
  446. package/_mjs/optics.mjs.map +1 -0
  447. package/_mjs/typeclass/Alt.mjs +0 -5
  448. package/_mjs/typeclass/Alt.mjs.map +1 -1
  449. package/_mjs/typeclass/ApplicativeExcept.mjs +7 -32
  450. package/_mjs/typeclass/ApplicativeExcept.mjs.map +1 -1
  451. package/_mjs/typeclass/Apply.mjs +35 -65
  452. package/_mjs/typeclass/Apply.mjs.map +1 -1
  453. package/_mjs/typeclass/Chain.mjs +4 -25
  454. package/_mjs/typeclass/Chain.mjs.map +1 -1
  455. package/_mjs/typeclass/Eq/derivations.mjs +1 -0
  456. package/_mjs/typeclass/Eq/derivations.mjs.map +1 -1
  457. package/_mjs/typeclass/Fail.mjs +1 -8
  458. package/_mjs/typeclass/Fail.mjs.map +1 -1
  459. package/_mjs/typeclass/Filterable.mjs +0 -28
  460. package/_mjs/typeclass/Filterable.mjs.map +1 -1
  461. package/_mjs/typeclass/Foldable.mjs +3 -30
  462. package/_mjs/typeclass/Foldable.mjs.map +1 -1
  463. package/_mjs/typeclass/FoldableWithIndex.mjs +3 -30
  464. package/_mjs/typeclass/FoldableWithIndex.mjs.map +1 -1
  465. package/_mjs/typeclass/Functor.mjs +3 -16
  466. package/_mjs/typeclass/Functor.mjs.map +1 -1
  467. package/_mjs/typeclass/Guard/api.mjs +1 -0
  468. package/_mjs/typeclass/Guard/api.mjs.map +1 -1
  469. package/_mjs/typeclass/Guard/definition.mjs +0 -2
  470. package/_mjs/typeclass/Guard/definition.mjs.map +1 -1
  471. package/_mjs/typeclass/HashEq.mjs +1 -0
  472. package/_mjs/typeclass/HashEq.mjs.map +1 -1
  473. package/_mjs/typeclass/MonadExcept.mjs +2 -9
  474. package/_mjs/typeclass/MonadExcept.mjs.map +1 -1
  475. package/_mjs/typeclass/Monoid.mjs +1 -0
  476. package/_mjs/typeclass/Monoid.mjs.map +1 -1
  477. package/_mjs/typeclass/Nil.mjs +1 -8
  478. package/_mjs/typeclass/Nil.mjs.map +1 -1
  479. package/_mjs/typeclass/Ord/definition.mjs +1 -0
  480. package/_mjs/typeclass/Ord/definition.mjs.map +1 -1
  481. package/_mjs/typeclass/Ord/instances.mjs +3 -0
  482. package/_mjs/typeclass/Ord/instances.mjs.map +1 -1
  483. package/_mjs/typeclass/Pointed.mjs +0 -9
  484. package/_mjs/typeclass/Pointed.mjs.map +1 -1
  485. package/_mjs/typeclass/Semialign.mjs +17 -45
  486. package/_mjs/typeclass/Semialign.mjs.map +1 -1
  487. package/_mjs/typeclass/Semigroup/api.mjs +1 -0
  488. package/_mjs/typeclass/Semigroup/api.mjs.map +1 -1
  489. package/_mjs/typeclass/Semigroup/derivations.mjs +1 -0
  490. package/_mjs/typeclass/Semigroup/derivations.mjs.map +1 -1
  491. package/_mjs/typeclass/Semimonoidal.mjs +0 -9
  492. package/_mjs/typeclass/Semimonoidal.mjs.map +1 -1
  493. package/_mjs/typeclass/Showable/show.mjs +12 -12
  494. package/_mjs/typeclass/Showable/show.mjs.map +1 -1
  495. package/_mjs/typeclass/Traversable.mjs +6 -25
  496. package/_mjs/typeclass/Traversable.mjs.map +1 -1
  497. package/_mjs/typeclass/TraversableWithIndex.mjs +2 -6
  498. package/_mjs/typeclass/TraversableWithIndex.mjs.map +1 -1
  499. package/_mjs/typeclass/Witherable.mjs +3 -40
  500. package/_mjs/typeclass/Witherable.mjs.map +1 -1
  501. package/_mjs/typeclass/WitherableWithIndex.mjs +6 -41
  502. package/_mjs/typeclass/WitherableWithIndex.mjs.map +1 -1
  503. package/_mjs/util.mjs +2 -0
  504. package/_mjs/util.mjs.map +1 -0
  505. package/_src/collection/Iterable/api/traverseConc.ts +24 -21
  506. package/_src/collection/compat/Array/api.ts +10 -10
  507. package/_src/collection/compat/Array/definition.ts +3 -3
  508. package/_src/collection/compat/Array/derivations.ts +85 -0
  509. package/_src/collection/compat/Array.ts +1 -0
  510. package/_src/collection/compat/Record/instances.ts +43 -0
  511. package/_src/collection/compat.ts +4 -0
  512. package/_src/collection/immutable/Conc/api.ts +9 -11
  513. package/_src/collection/immutable/Conc/definition.ts +18 -13
  514. package/_src/collection/immutable/Conc/derivations.ts +28 -0
  515. package/_src/collection/immutable/Conc.ts +1 -0
  516. package/_src/collection/immutable/Dictionary/definition.ts +1 -1
  517. package/_src/collection/immutable/HashMap/api.ts +20 -17
  518. package/_src/collection/immutable/HashMap/definition.ts +10 -6
  519. package/_src/collection/immutable/ImmutableArray/api.ts +62 -119
  520. package/_src/collection/immutable/ImmutableArray/constructors.ts +2 -2
  521. package/_src/collection/immutable/ImmutableArray/definition.ts +11 -5
  522. package/_src/collection/immutable/ImmutableArray/derivations.ts +28 -0
  523. package/_src/collection/immutable/ImmutableArray/instances.ts +47 -42
  524. package/_src/collection/immutable/ImmutableArray.ts +1 -0
  525. package/_src/collection/immutable/ImmutableNonEmptyArray/api.ts +13 -11
  526. package/_src/collection/immutable/ImmutableNonEmptyArray/constructors.ts +2 -2
  527. package/_src/collection/immutable/ImmutableNonEmptyArray/definition.ts +10 -5
  528. package/_src/collection/immutable/ImmutableNonEmptyArray/derivations.ts +44 -0
  529. package/_src/collection/immutable/ImmutableNonEmptyArray/instances.ts +24 -25
  530. package/_src/collection/immutable/ImmutableNonEmptyArray.ts +1 -0
  531. package/_src/collection/immutable/List/definition.ts +2 -2
  532. package/_src/collection/immutable/RoseTree/definition.ts +7 -4
  533. package/_src/collection/immutable/Vector/api.ts +12 -16
  534. package/_src/collection/immutable/Vector/definition.ts +10 -10
  535. package/_src/collection/immutable/Vector/internal.ts +1 -1
  536. package/_src/collection/immutable.ts +12 -0
  537. package/_src/collection/mutable/HashMap.ts +4 -0
  538. package/_src/collection/mutable.ts +6 -0
  539. package/_src/collection/weak/IterableWeakMap.ts +50 -5
  540. package/_src/collection/weak/IterableWeakSet.ts +57 -9
  541. package/_src/collection/weak.ts +4 -0
  542. package/_src/collection.ts +7 -0
  543. package/_src/control/Eval/api.ts +5 -2
  544. package/_src/control/Eval/definition.ts +8 -5
  545. package/_src/control/Eval/instance.ts +7 -7
  546. package/_src/control/Z/api.ts +40 -52
  547. package/_src/control/Z/definition.ts +36 -36
  548. package/_src/control/Z/instances.ts +3 -3
  549. package/_src/control/Z/runtime.ts +11 -11
  550. package/_src/control.ts +5 -0
  551. package/_src/data/Const/definition.ts +9 -17
  552. package/_src/data/Const/instances.ts +5 -5
  553. package/_src/data/Datum/api.ts +376 -0
  554. package/_src/data/Datum/definition.ts +102 -0
  555. package/_src/data/Datum/instances.ts +34 -0
  556. package/_src/data/DatumEither/api.ts +348 -0
  557. package/_src/data/DatumEither/definition.ts +20 -0
  558. package/_src/data/DecodeError/definition.ts +11 -3
  559. package/_src/data/DecodeError/instances.ts +0 -0
  560. package/_src/data/DecodeError.ts +1 -0
  561. package/_src/data/Decoder/definition.ts +7 -4
  562. package/_src/data/Either/api.ts +12 -2
  563. package/_src/data/Either/definition.ts +10 -15
  564. package/_src/data/Either/instances.ts +6 -6
  565. package/_src/data/EitherT/api.ts +239 -0
  566. package/_src/data/EitherT/definition.ts +23 -0
  567. package/_src/data/Environment/api.ts +8 -6
  568. package/_src/data/Environment/definition.ts +2 -2
  569. package/_src/data/Identity/api.ts +2 -2
  570. package/_src/data/Identity/definition.ts +2 -2
  571. package/_src/data/Identity/instances.ts +7 -7
  572. package/_src/data/Intervals.ts +126 -0
  573. package/_src/data/Maybe/api.ts +2 -2
  574. package/_src/data/Maybe/definition.ts +8 -5
  575. package/_src/data/Maybe/instances.ts +10 -10
  576. package/_src/data/Newtype.ts +32 -11
  577. package/_src/data/Struct/definition.ts +1 -1
  578. package/_src/data/Tag/definition.ts +2 -2
  579. package/_src/data/These/definition.ts +1 -1
  580. package/_src/data/Zipped.ts +52 -0
  581. package/_src/data/function/api.ts +8 -0
  582. package/_src/data/object/instances.ts +11 -1
  583. package/_src/data/string/api.ts +1 -1
  584. package/_src/data.ts +35 -0
  585. package/_src/global.ts +252 -0
  586. package/_src/index.ts +8 -0
  587. package/_src/json.ts +5 -0
  588. package/_src/optics/Optional/definition.ts +2 -2
  589. package/_src/optics/Traversal/api/compose.ts +1 -1
  590. package/_src/optics/Traversal/api/fromTraversable.ts +11 -11
  591. package/_src/optics/Traversal/definition.ts +13 -12
  592. package/_src/optics.ts +12 -0
  593. package/_src/typeclass/Align.ts +1 -1
  594. package/_src/typeclass/Alt.ts +24 -54
  595. package/_src/typeclass/Alternative.ts +1 -1
  596. package/_src/typeclass/Applicative.ts +6 -1
  597. package/_src/typeclass/ApplicativeExcept.ts +55 -81
  598. package/_src/typeclass/Apply.ts +224 -253
  599. package/_src/typeclass/Chain.ts +71 -98
  600. package/_src/typeclass/Fail.ts +10 -28
  601. package/_src/typeclass/Filterable.ts +13 -67
  602. package/_src/typeclass/FilterableWithIndex.ts +13 -13
  603. package/_src/typeclass/Foldable.ts +16 -35
  604. package/_src/typeclass/FoldableWithIndex.ts +14 -37
  605. package/_src/typeclass/Functor.ts +11 -21
  606. package/_src/typeclass/FunctorWithIndex.ts +4 -4
  607. package/_src/typeclass/Guard/definition.ts +1 -3
  608. package/_src/typeclass/Monad.ts +1 -1
  609. package/_src/typeclass/MonadExcept.ts +11 -7
  610. package/_src/typeclass/Nil.ts +10 -27
  611. package/_src/typeclass/Pointed.ts +11 -30
  612. package/_src/typeclass/Semialign.ts +285 -253
  613. package/_src/typeclass/Semimonoidal.ts +23 -54
  614. package/_src/typeclass/Showable/show.ts +10 -12
  615. package/_src/typeclass/Traversable.ts +45 -63
  616. package/_src/typeclass/TraversableWithIndex.ts +37 -34
  617. package/_src/typeclass/Witherable.ts +28 -115
  618. package/_src/typeclass/WitherableWithIndex.ts +82 -115
  619. package/_src/types/extractions.ts +1 -1
  620. package/_src/util.ts +8 -0
  621. package/collection/Iterable/api/traverseConc.d.ts +4 -6
  622. package/collection/compat/Array/api.d.ts +10 -10
  623. package/collection/compat/Array/definition.d.ts +3 -3
  624. package/collection/compat/Array/derivations.d.ts +24 -0
  625. package/collection/compat/Array.d.ts +1 -0
  626. package/collection/compat/Record/instances.d.ts +12 -0
  627. package/collection/compat.d.ts +2 -0
  628. package/collection/immutable/Conc/api.d.ts +4 -6
  629. package/collection/immutable/Conc/definition.d.ts +24 -20
  630. package/collection/immutable/Conc/derivations.d.ts +14 -0
  631. package/collection/immutable/Conc.d.ts +1 -0
  632. package/collection/immutable/Dictionary/definition.d.ts +1 -1
  633. package/collection/immutable/HashMap/api.d.ts +13 -13
  634. package/collection/immutable/HashMap/definition.d.ts +10 -7
  635. package/collection/immutable/ImmutableArray/api.d.ts +22 -24
  636. package/collection/immutable/ImmutableArray/constructors.d.ts +2 -2
  637. package/collection/immutable/ImmutableArray/definition.d.ts +12 -6
  638. package/collection/immutable/ImmutableArray/derivations.d.ts +14 -0
  639. package/collection/immutable/ImmutableArray/instances.d.ts +17 -17
  640. package/collection/immutable/ImmutableArray.d.ts +1 -0
  641. package/collection/immutable/ImmutableNonEmptyArray/api.d.ts +6 -5
  642. package/collection/immutable/ImmutableNonEmptyArray/constructors.d.ts +2 -2
  643. package/collection/immutable/ImmutableNonEmptyArray/definition.d.ts +9 -5
  644. package/collection/immutable/ImmutableNonEmptyArray/derivations.d.ts +14 -0
  645. package/collection/immutable/ImmutableNonEmptyArray/instances.d.ts +10 -10
  646. package/collection/immutable/ImmutableNonEmptyArray.d.ts +1 -0
  647. package/collection/immutable/List/definition.d.ts +2 -2
  648. package/collection/immutable/RoseTree/definition.d.ts +7 -5
  649. package/collection/immutable/Vector/api.d.ts +4 -4
  650. package/collection/immutable/Vector/definition.d.ts +9 -10
  651. package/collection/immutable/Vector/internal.d.ts +1 -1
  652. package/collection/immutable.d.ts +10 -0
  653. package/collection/mutable/HashMap.d.ts +1 -0
  654. package/collection/mutable.d.ts +4 -0
  655. package/collection/weak/IterableWeakMap.d.ts +9 -3
  656. package/collection/weak/IterableWeakSet.d.ts +10 -4
  657. package/collection/weak.d.ts +2 -0
  658. package/collection.d.ts +5 -0
  659. package/control/Eval/api.d.ts +6 -1
  660. package/control/Eval/definition.d.ts +6 -4
  661. package/control/Eval/instance.d.ts +3 -3
  662. package/control/Z/api.d.ts +32 -30
  663. package/control/Z/definition.d.ts +43 -37
  664. package/control/Z/instances.d.ts +2 -2
  665. package/control/Z/runtime.d.ts +9 -8
  666. package/control.d.ts +3 -0
  667. package/data/Const/definition.d.ts +8 -16
  668. package/data/Const/instances.d.ts +4 -3
  669. package/data/Datum/api.d.ts +188 -0
  670. package/data/Datum/definition.d.ts +75 -0
  671. package/data/Datum/instances.d.ts +32 -0
  672. package/data/DatumEither/api.d.ts +169 -0
  673. package/data/DatumEither/definition.d.ts +21 -0
  674. package/data/DecodeError/definition.d.ts +6 -0
  675. package/data/DecodeError/instances.d.ts +1 -0
  676. package/data/DecodeError.d.ts +1 -0
  677. package/data/Decoder/definition.d.ts +6 -4
  678. package/data/Either/api.d.ts +10 -0
  679. package/data/Either/definition.d.ts +8 -14
  680. package/data/Either/instances.d.ts +4 -3
  681. package/data/EitherT/api.d.ts +60 -0
  682. package/data/EitherT/definition.d.ts +12 -0
  683. package/data/Environment/api.d.ts +7 -5
  684. package/data/Environment/definition.d.ts +3 -3
  685. package/data/Identity/api.d.ts +2 -1
  686. package/data/Identity/definition.d.ts +2 -2
  687. package/data/Identity/instances.d.ts +3 -3
  688. package/data/Intervals.d.ts +53 -0
  689. package/data/Maybe/api.d.ts +2 -1
  690. package/data/Maybe/definition.d.ts +10 -5
  691. package/data/Maybe/instances.d.ts +6 -6
  692. package/data/Newtype.d.ts +9 -8
  693. package/data/Struct/definition.d.ts +1 -1
  694. package/data/Tag/definition.d.ts +2 -2
  695. package/data/Zipped.d.ts +24 -0
  696. package/data/function/api.d.ts +6 -0
  697. package/data/object/instances.d.ts +6 -1
  698. package/data/string/api.d.ts +1 -1
  699. package/data.d.ts +33 -0
  700. package/global.d.ts +237 -0
  701. package/index.d.ts +8 -0
  702. package/json.d.ts +3 -0
  703. package/optics/Traversal/api/fromTraversable.d.ts +1 -1
  704. package/optics/Traversal/definition.d.ts +2 -4
  705. package/optics.d.ts +10 -0
  706. package/package.json +2 -2
  707. package/typeclass/Align.d.ts +1 -1
  708. package/typeclass/Alt.d.ts +2 -4
  709. package/typeclass/Alternative.d.ts +1 -1
  710. package/typeclass/Applicative.d.ts +2 -1
  711. package/typeclass/ApplicativeExcept.d.ts +5 -13
  712. package/typeclass/Apply.d.ts +20 -32
  713. package/typeclass/Chain.d.ts +5 -13
  714. package/typeclass/Fail.d.ts +2 -7
  715. package/typeclass/Filterable.d.ts +7 -31
  716. package/typeclass/FilterableWithIndex.d.ts +7 -7
  717. package/typeclass/Foldable.d.ts +6 -19
  718. package/typeclass/FoldableWithIndex.d.ts +6 -19
  719. package/typeclass/Functor.d.ts +4 -11
  720. package/typeclass/FunctorWithIndex.d.ts +2 -2
  721. package/typeclass/Guard/definition.d.ts +1 -4
  722. package/typeclass/Monad.d.ts +1 -1
  723. package/typeclass/MonadExcept.d.ts +3 -4
  724. package/typeclass/Nil.d.ts +2 -7
  725. package/typeclass/Pointed.d.ts +2 -7
  726. package/typeclass/Semialign.d.ts +26 -32
  727. package/typeclass/Semimonoidal.d.ts +3 -8
  728. package/typeclass/Showable/show.d.ts +1 -1
  729. package/typeclass/Traversable.d.ts +21 -12
  730. package/typeclass/TraversableWithIndex.d.ts +19 -6
  731. package/typeclass/Witherable.d.ts +5 -19
  732. package/typeclass/WitherableWithIndex.d.ts +33 -19
  733. package/types/extractions.d.ts +1 -1
  734. package/util.d.ts +6 -0
@@ -1,16 +1,19 @@
1
- export const EvalTypeId = Symbol.for("@fncts.base/control/Eval");
1
+ export const EvalTypeId = Symbol.for("@fncts/control/Eval");
2
2
  export type EvalTypeId = typeof EvalTypeId;
3
3
 
4
- export interface EvalF extends Eval<any> {}
4
+ export interface EvalF extends HKT {
5
+ type: Eval<this["A"]>;
6
+ variance: {
7
+ A: "+";
8
+ };
9
+ }
5
10
 
6
11
  /**
7
12
  * @tsplus type fncts.control.Eval
8
13
  */
9
14
  export interface Eval<A> {
10
15
  readonly _typeId: EvalTypeId;
11
- [HKT.F]?: EvalF;
12
- [HKT.A]?: () => A;
13
- [HKT.T]?: Eval<HKT._A<this>>;
16
+ readonly _A: () => A;
14
17
  }
15
18
 
16
19
  /**
@@ -1,32 +1,32 @@
1
1
  import type { EvalF } from "@fncts/base/control/Eval/definition";
2
2
  import type * as P from "@fncts/base/typeclass";
3
3
 
4
- import { ap_, map_, zip_, zipWith_ } from "@fncts/base/control/Eval/api";
4
+ import { map_, zip_, zipWith_ } from "@fncts/base/control/Eval/api";
5
5
  import { now } from "@fncts/base/control/Eval/constructors";
6
6
 
7
7
  /**
8
8
  * @tsplus static fncts.control.EvalOps Functor
9
9
  * @tsplus implicit
10
10
  */
11
- export const Functor: P.Functor<EvalF> = {
11
+ export const Functor = HKT.instance<P.Functor<EvalF>>({
12
12
  map: map_,
13
- };
13
+ });
14
14
 
15
15
  /**
16
16
  * @tsplus static fncts.control.EvalOps Apply
17
17
  * @tsplus implicit
18
18
  */
19
- export const Apply: P.Apply<EvalF> = {
19
+ export const Apply = HKT.instance<P.Apply<EvalF>>({
20
20
  map: map_,
21
21
  zip: zip_,
22
22
  zipWith: zipWith_,
23
- };
23
+ });
24
24
 
25
25
  /**
26
26
  * @tsplus static fncts.control.EvalOps Applicative
27
27
  * @tsplus implicit
28
28
  */
29
- export const Applicative: P.Applicative<EvalF> = {
29
+ export const Applicative = HKT.instance<P.Applicative<EvalF>>({
30
30
  ...Apply,
31
31
  pure: now,
32
- };
32
+ });
@@ -1,17 +1,5 @@
1
1
  import { identity, tuple } from "../../data/function.js";
2
- import {
3
- Chain,
4
- Defer,
5
- Environment,
6
- Fail,
7
- MapLog,
8
- Match,
9
- Modify,
10
- Provide,
11
- Succeed,
12
- SucceedNow,
13
- Tell,
14
- } from "./definition.js";
2
+ import { Access, Chain, Defer, Fail, MapLog, Match, Modify, Provide, Succeed, SucceedNow, Tell } from "./definition.js";
15
3
 
16
4
  /**
17
5
  * @tsplus getter fncts.control.Z absolve
@@ -72,7 +60,7 @@ export function bimap_<W, S1, S2, R, E, A, G, B>(
72
60
  export function catchAll_<W, S1, S2, R, E, A, S3, R1, E1, B>(
73
61
  fa: Z<W, S1, S2, R, E, A>,
74
62
  onFailure: (e: E) => Z<W, S1, S3, R1, E1, B>,
75
- ): Z<W, S1, S3, R & R1, E1, A | B> {
63
+ ): Z<W, S1, S3, R | R1, E1, A | B> {
76
64
  return fa.matchZ(onFailure, Z.succeedNow);
77
65
  }
78
66
 
@@ -82,7 +70,7 @@ export function catchAll_<W, S1, S2, R, E, A, S3, R1, E1, B>(
82
70
  export function catchJust_<W, S1, S2, R, E, A, S3, R1, E1, B>(
83
71
  fa: Z<W, S1, S2, R, E, A>,
84
72
  f: (e: E) => Maybe<Z<W, S1, S3, R1, E1, B>>,
85
- ): Z<W, S1, S2 | S3, R & R1, E | E1, A | B> {
73
+ ): Z<W, S1, S2 | S3, R | R1, E | E1, A | B> {
86
74
  return fa.catchAll((e) => f(e).getOrElse(fa));
87
75
  }
88
76
 
@@ -101,9 +89,9 @@ export function flatMap_<W, S1, S2, R, E, A, W1, S3, R1, E1, B>(
101
89
  */
102
90
  export function contramapEnvironment_<R0, W, S1, S2, R, E, A>(
103
91
  ma: Z<W, S1, S2, R, E, A>,
104
- f: (r0: R0) => R,
92
+ f: (r0: Environment<R0>) => Environment<R>,
105
93
  ): Z<W, S1, S2, R0, E, A> {
106
- return Z.environmentWithZ((r: R0) => ma.provideEnvironment(f(r)));
94
+ return Z.environmentWithZ((r) => ma.provideEnvironment(f(r)));
107
95
  }
108
96
 
109
97
  /**
@@ -164,24 +152,24 @@ export function either<W, S1, S2, R, E, A>(fa: Z<W, S1, S2, R, E, A>): Z<W, S1,
164
152
  /**
165
153
  * @tsplus static fncts.control.ZOps environment
166
154
  */
167
- export function environment<R>(): Z<never, unknown, never, R, never, R> {
168
- return new Environment((r: R) => Z.succeedNow(r));
155
+ export function environment<R>(): Z<never, unknown, never, R, never, Environment<R>> {
156
+ return new Access((r) => Z.succeedNow(r));
169
157
  }
170
158
 
171
159
  /**
172
160
  * @tsplus static fncts.control.ZOps environmentWith
173
161
  */
174
- export function environmentWith<R0, A>(f: (r: R0) => A): Z<never, unknown, never, R0, never, A> {
175
- return new Environment((r: R0) => succeed(f(r)));
162
+ export function environmentWith<R0, A>(f: (r: Environment<R0>) => A): Z<never, unknown, never, R0, never, A> {
163
+ return new Access((r) => succeed(f(r)));
176
164
  }
177
165
 
178
166
  /**
179
167
  * @tsplus static fncts.control.ZOps environmentWithZ
180
168
  */
181
169
  export function environmentWithZ<R0, W, S1, S2, R, E, A>(
182
- f: (r: R0) => Z<W, S1, S2, R, E, A>,
183
- ): Z<W, S1, S2, R & R0, E, A> {
184
- return new Environment(f);
170
+ f: (r: Environment<R0>) => Z<W, S1, S2, R, E, A>,
171
+ ): Z<W, S1, S2, R | R0, E, A> {
172
+ return new Access(f);
185
173
  }
186
174
 
187
175
  /**
@@ -196,31 +184,28 @@ export function erase<W, S1, S2, R, E, A>(wa: Z<W, S1, S2, R, E, A>): Z<never, S
196
184
  /**
197
185
  * @tsplus static fncts.control.ZOps fail
198
186
  */
199
- export function fail<E>(e: Lazy<E>, __tsplusTrace?: string): Z<never, unknown, never, unknown, E, never> {
187
+ export function fail<E>(e: Lazy<E>, __tsplusTrace?: string): Z<never, unknown, never, never, E, never> {
200
188
  return Z.failCause(Cause.fail(e()));
201
189
  }
202
190
 
203
191
  /**
204
192
  * @tsplus static fncts.control.ZOps failNow
205
193
  */
206
- export function failNow<E>(e: E, __tsplusTrace?: string): Z<never, unknown, never, unknown, E, never> {
194
+ export function failNow<E>(e: E, __tsplusTrace?: string): Z<never, unknown, never, never, E, never> {
207
195
  return Z.failCauseNow(Cause.fail(e));
208
196
  }
209
197
 
210
198
  /**
211
199
  * @tsplus static fncts.control.ZOps failCause
212
200
  */
213
- export function failCause<E>(
214
- cause: Lazy<Cause<E>>,
215
- __tsplusTrace?: string,
216
- ): Z<never, unknown, never, unknown, E, never> {
201
+ export function failCause<E>(cause: Lazy<Cause<E>>, __tsplusTrace?: string): Z<never, unknown, never, never, E, never> {
217
202
  return Z.defer(Z.failCauseNow(cause()));
218
203
  }
219
204
 
220
205
  /**
221
206
  * @tsplus static fncts.control.ZOps failCauseNow
222
207
  */
223
- export function failCauseNow<E>(cause: Cause<E>, __tsplusTrace?: string): Z<never, unknown, never, unknown, E, never> {
208
+ export function failCauseNow<E>(cause: Cause<E>, __tsplusTrace?: string): Z<never, unknown, never, never, E, never> {
224
209
  return new Fail(cause);
225
210
  }
226
211
 
@@ -238,14 +223,14 @@ export function flatten<W, S1, S2, R, E, A, W1, S3, R1, E1>(
238
223
  *
239
224
  * @tsplus static fncts.control.ZOps get
240
225
  */
241
- export function get<S>(): Z<never, S, S, unknown, never, S> {
226
+ export function get<S>(): Z<never, S, S, never, never, S> {
242
227
  return Z.modify((s) => [s, s]);
243
228
  }
244
229
 
245
230
  /**
246
231
  * @tsplus static fncts.control.ZOps gets
247
232
  */
248
- export function gets<S, A>(f: (s: S) => A): Z<never, S, S, unknown, never, A> {
233
+ export function gets<S, A>(f: (s: S) => A): Z<never, S, S, never, never, A> {
249
234
  return Z.modify((s) => [f(s), s]);
250
235
  }
251
236
 
@@ -259,14 +244,14 @@ export function getsZ<S, W, R, E, A>(f: (s: S) => Z<W, S, S, R, E, A>): Z<W, S,
259
244
  /**
260
245
  * @tsplus static fncts.control.ZOps halt
261
246
  */
262
- export function halt(defect: Lazy<unknown>, __tsplusTrace?: string): Z<never, unknown, never, unknown, never, never> {
247
+ export function halt(defect: Lazy<unknown>, __tsplusTrace?: string): Z<never, unknown, never, never, never, never> {
263
248
  return Z.failCause(Cause.halt(defect()));
264
249
  }
265
250
 
266
251
  /**
267
252
  * @tsplus static fncts.control.ZOps haltNow
268
253
  */
269
- export function haltNow(defect: unknown, __tsplusTrace?: string): Z<never, unknown, never, unknown, never, never> {
254
+ export function haltNow(defect: unknown, __tsplusTrace?: string): Z<never, unknown, never, never, never, never> {
270
255
  return Z.failCauseNow(Cause.halt(defect));
271
256
  }
272
257
 
@@ -353,7 +338,7 @@ export function matchZ_<W, S1, S5, S2, R, E, A, W1, S3, R1, E1, B, W2, S4, R2, E
353
338
  fa: Z<W, S1, S2, R, E, A>,
354
339
  onFailure: (e: E) => Z<W1, S5, S3, R1, E1, B>,
355
340
  onSuccess: (a: A) => Z<W2, S2, S4, R2, E2, C>,
356
- ): Z<W | W1 | W2, S1 & S5, S3 | S4, R & R1 & R2, E1 | E2, B | C> {
341
+ ): Z<W | W1 | W2, S1 & S5, S3 | S4, R | R1 | R2, E1 | E2, B | C> {
357
342
  return fa.matchCauseZ((cause) => cause.failureOrCause.match(onFailure, Z.failCauseNow), onSuccess);
358
343
  }
359
344
 
@@ -364,7 +349,7 @@ export function matchCauseZ_<W, S1, S2, R, E, A, W1, S0, S3, R1, E1, B, W2, S4,
364
349
  fa: Z<W, S1, S2, R, E, A>,
365
350
  onFailure: (e: Cause<E>) => Z<W1, S0, S3, R1, E1, B>,
366
351
  onSuccess: (a: A) => Z<W2, S2, S4, R2, E2, C>,
367
- ): Z<W | W1 | W2, S0 & S1, S3 | S4, R & R1 & R2, E1 | E2, B | C> {
352
+ ): Z<W | W1 | W2, S0 & S1, S3 | S4, R | R1 | R2, E1 | E2, B | C> {
368
353
  return matchLogCauseZ_(
369
354
  fa,
370
355
  (ws, e) => onFailure(e).mapLog((w1s) => ws.concat(w1s)),
@@ -379,7 +364,7 @@ export function matchLogZ_<W, S1, S5, S2, R, E, A, W1, S3, R1, E1, B, W2, S4, R2
379
364
  fa: Z<W, S1, S2, R, E, A>,
380
365
  onFailure: (ws: Conc<W>, e: E) => Z<W1, S5, S3, R1, E1, B>,
381
366
  onSuccess: (ws: Conc<W>, a: A) => Z<W2, S2, S4, R2, E2, C>,
382
- ): Z<W | W1 | W2, S1 & S5, S3 | S4, R & R1 & R2, E1 | E2, B | C> {
367
+ ): Z<W | W1 | W2, S1 & S5, S3 | S4, R | R1 | R2, E1 | E2, B | C> {
383
368
  return matchLogCauseZ_(
384
369
  fa,
385
370
  (ws, cause) => cause.failureOrCause.match((e) => onFailure(ws, e), Z.failCauseNow),
@@ -410,7 +395,7 @@ export function matchLogCauseZ_<W, S1, S2, R, E, A, W1, S0, S3, R1, E1, B, W2, S
410
395
  *
411
396
  * @tsplus static fncts.control.ZOps modify
412
397
  */
413
- export function modify<S1, S2, A>(f: (s: S1) => readonly [A, S2]): Z<never, S1, S2, unknown, never, A> {
398
+ export function modify<S1, S2, A>(f: (s: S1) => readonly [A, S2]): Z<never, S1, S2, never, never, A> {
414
399
  return new Modify(f);
415
400
  }
416
401
 
@@ -419,7 +404,7 @@ export function modify<S1, S2, A>(f: (s: S1) => readonly [A, S2]): Z<never, S1,
419
404
  *
420
405
  * @tsplus static fncts.control.ZOps modifyEither
421
406
  */
422
- export function modifyEither<S1, S2, E, A>(f: (s: S1) => Either<E, readonly [A, S2]>): Z<never, S1, S2, unknown, E, A> {
407
+ export function modifyEither<S1, S2, E, A>(f: (s: S1) => Either<E, readonly [A, S2]>): Z<never, S1, S2, never, E, A> {
423
408
  return Z.get<S1>()
424
409
  .map(f)
425
410
  .flatMap((r) => r.match(Z.failNow, ([a, s2]) => Z.succeedNow(a).mapState(() => s2)));
@@ -431,7 +416,7 @@ export function modifyEither<S1, S2, E, A>(f: (s: S1) => Either<E, readonly [A,
431
416
  export function orElse_<W, S1, S2, R, E, A, W1, S3, R1, E1, A1>(
432
417
  fa: Z<W, S1, S2, R, E, A>,
433
418
  fb: Lazy<Z<W1, S1, S3, R1, E1, A1>>,
434
- ): Z<W | W1, S1, S2 | S3, R & R1, E | E1, A | A1> {
419
+ ): Z<W | W1, S1, S2 | S3, R | R1, E | E1, A | A1> {
435
420
  return fa.matchZ(() => fb(), Z.succeedNow);
436
421
  }
437
422
 
@@ -444,7 +429,7 @@ export function orElse_<W, S1, S2, R, E, A, W1, S3, R1, E1, A1>(
444
429
  export function orElseEither_<W, S1, S2, R, E, A, S3, S4, R1, E1, A1>(
445
430
  fa: Z<W, S1, S2, R, E, A>,
446
431
  that: Lazy<Z<W, S3, S4, R1, E1, A1>>,
447
- ): Z<W, S1 & S3, S2 | S4, R & R1, E1, Either<A, A1>> {
432
+ ): Z<W, S1 & S3, S2 | S4, R | R1, E1, Either<A, A1>> {
448
433
  return fa.matchZ(
449
434
  () => that().map(Either.right),
450
435
  (a) => Z.succeedNow(Either.left(a)),
@@ -454,7 +439,10 @@ export function orElseEither_<W, S1, S2, R, E, A, S3, S4, R1, E1, A1>(
454
439
  /**
455
440
  * @tsplus fluent fncts.control.Z provideEnvironment
456
441
  */
457
- export function provideEnvironment_<W, S1, S2, R, E, A>(fa: Z<W, S1, S2, R, E, A>, r: R): Z<W, S1, S2, unknown, E, A> {
442
+ export function provideEnvironment_<W, S1, S2, R, E, A>(
443
+ fa: Z<W, S1, S2, R, E, A>,
444
+ r: Environment<R>,
445
+ ): Z<W, S1, S2, never, E, A> {
458
446
  return new Provide(fa, r);
459
447
  }
460
448
 
@@ -463,7 +451,7 @@ export function provideEnvironment_<W, S1, S2, R, E, A>(fa: Z<W, S1, S2, R, E, A
463
451
  *
464
452
  * @tsplus static fncts.control.ZOps put
465
453
  */
466
- export function put<S>(s: S): Z<never, unknown, S, unknown, never, void> {
454
+ export function put<S>(s: S): Z<never, unknown, S, never, never, void> {
467
455
  return Z.modify(() => [undefined, s]);
468
456
  }
469
457
 
@@ -496,7 +484,7 @@ export function repeatUntil_<W, S1, S2 extends S1, R, E, A>(
496
484
  export function succeed<A, W = never, S1 = unknown, S2 = never>(
497
485
  effect: Lazy<A>,
498
486
  __tsplusTrace?: string,
499
- ): Z<W, S1, S2, unknown, never, A> {
487
+ ): Z<W, S1, S2, never, never, A> {
500
488
  return new Succeed(effect);
501
489
  }
502
490
 
@@ -506,7 +494,7 @@ export function succeed<A, W = never, S1 = unknown, S2 = never>(
506
494
  export function succeedNow<A, W = never, S1 = unknown, S2 = never>(
507
495
  a: A,
508
496
  __tsplusTrace?: string,
509
- ): Z<W, S1, S2, unknown, never, A> {
497
+ ): Z<W, S1, S2, never, never, A> {
510
498
  return new SucceedNow(a);
511
499
  }
512
500
 
@@ -523,14 +511,14 @@ export function tap_<W, S1, S2, R, E, A, W1, S3, R1, E1, B>(
523
511
  /**
524
512
  * @tsplus static fncts.control.ZOps tell
525
513
  */
526
- export function tell<W>(w: W): Z<W, unknown, never, unknown, never, void> {
514
+ export function tell<W>(w: W): Z<W, unknown, never, never, never, void> {
527
515
  return Z.tellAll(Conc.single(w));
528
516
  }
529
517
 
530
518
  /**
531
519
  * @tsplus static fncts.control.ZOps tellAll
532
520
  */
533
- export function tellAll<W>(ws: Conc<W>): Z<W, unknown, never, unknown, never, void> {
521
+ export function tellAll<W>(ws: Conc<W>): Z<W, unknown, never, never, never, void> {
534
522
  return new Tell(ws);
535
523
  }
536
524
 
@@ -549,14 +537,14 @@ export function transform_<W, S1, S2, R, E, A, S3, B>(
549
537
  /**
550
538
  * @tsplus static fncts.control.ZOps unit
551
539
  */
552
- export const unit: Z<never, unknown, never, unknown, never, void> = Z.succeedNow(undefined);
540
+ export const unit: Z<never, unknown, never, never, never, void> = Z.succeedNow(undefined);
553
541
 
554
542
  /**
555
543
  * Constructs a computation from the specified update function.
556
544
  *
557
545
  * @tsplus static fncts.control.ZOps update
558
546
  */
559
- export function update<S1, S2>(f: (s: S1) => S2): Z<never, S1, S2, unknown, never, void> {
547
+ export function update<S1, S2>(f: (s: S1) => S2): Z<never, S1, S2, never, never, void> {
560
548
  return Z.modify((s) => [undefined, f(s)]);
561
549
  }
562
550
 
@@ -583,8 +571,8 @@ export function writeAll_<W, S1, S2, R, E, A, W1>(
583
571
  export function zip_<W, S1, S2, R, E, A, W1, S3, Q, D, B>(
584
572
  fa: Z<W, S1, S2, R, E, A>,
585
573
  fb: Z<W1, S2, S3, Q, D, B>,
586
- ): Z<W | W1, S1, S3, Q & R, D | E, readonly [A, B]> {
587
- return fa.zipWith(fb, tuple);
574
+ ): Z<W | W1, S1, S3, Q & R, D | E, Zipped.Make<A, B>> {
575
+ return fa.zipWith(fb, (a, b) => Zipped(a, b));
588
576
  }
589
577
 
590
578
  /**
@@ -1,8 +1,15 @@
1
1
  import { hasTypeId } from "../../util/predicates.js";
2
2
 
3
- export interface ZF extends Z<any, any, any, any, any, any> {}
4
-
5
- export interface ZFixedF extends ZFixed<any, any, any, any, any> {}
3
+ export interface ZF extends HKT {
4
+ type: Z<this["W"], this["S"], this["S"], this["R"], this["E"], this["A"]>;
5
+ variance: {
6
+ W: "+";
7
+ S: "_";
8
+ R: "-";
9
+ E: "+";
10
+ A: "+";
11
+ };
12
+ }
6
13
 
7
14
  export const ZTypeId = Symbol.for("@principia/base/Z");
8
15
  export type ZTypeId = typeof ZTypeId;
@@ -22,26 +29,12 @@ export type ZTypeId = typeof ZTypeId;
22
29
  */
23
30
  export abstract class Z<W, S1, S2, R, E, A> {
24
31
  readonly _typeId: ZTypeId = ZTypeId;
25
- readonly [HKT.F]!: ZF;
26
- readonly [HKT.W]!: () => W;
27
- readonly [HKT.Q]!: (_: S1) => void;
28
- readonly [HKT.S]!: () => S2;
29
- readonly [HKT.R]!: (_: R) => void;
30
- readonly [HKT.E]!: () => E;
31
- readonly [HKT.A]!: () => A;
32
- readonly [HKT.T]!: Z<HKT._W<this>, HKT._Q<this>, HKT._S<this>, HKT._R<this>, HKT._E<this>, HKT._A<this>>;
33
- }
34
-
35
- export interface ZFixed<W, S, R, E, A> {
36
- readonly _typeId: ZTypeId;
37
- readonly [HKT.F]: ZF;
38
- readonly [HKT.W]: () => W;
39
- readonly [HKT.Q]: (_: S) => void;
40
- readonly [HKT.S]: () => S;
41
- readonly [HKT.R]: (_: R) => void;
42
- readonly [HKT.E]: () => E;
43
- readonly [HKT.A]: () => A;
44
- readonly [HKT.T]: Z<HKT._W<this>, HKT._S<this>, HKT._S<this>, HKT._R<this>, HKT._E<this>, HKT._A<this>>;
32
+ readonly _W!: () => W;
33
+ readonly _S1!: (_: S1) => void;
34
+ readonly _S2!: () => S2;
35
+ readonly _R!: () => R;
36
+ readonly _E!: () => E;
37
+ readonly _A!: () => A;
45
38
  }
46
39
 
47
40
  /**
@@ -49,7 +42,14 @@ export interface ZFixed<W, S, R, E, A> {
49
42
  */
50
43
  export function unifyZ<X extends Z<any, any, any, any, any, any>>(
51
44
  _: X,
52
- ): Z<HKT._W<X>, HKT._Q<X>, HKT._S<X>, HKT._R<X>, HKT._E<X>, HKT._A<X>> {
45
+ ): Z<
46
+ [X] extends [Z<infer W, any, any, any, any, any>] ? W : never,
47
+ [X] extends [Z<any, infer S1, any, any, any, any>] ? S1 : never,
48
+ [X] extends [Z<any, any, infer S2, any, any, any>] ? S2 : never,
49
+ [X] extends [Z<any, any, any, infer R, any, any>] ? R : never,
50
+ [X] extends [Z<any, any, any, any, infer E, any>] ? E : never,
51
+ [X] extends [Z<any, any, any, any, any, infer A>] ? A : never
52
+ > {
53
53
  return _;
54
54
  }
55
55
 
@@ -68,21 +68,21 @@ export const enum ZTag {
68
68
  Modify = "Modify",
69
69
  Chain = "Chain",
70
70
  Match = "Match",
71
- Environment = "Environment",
71
+ Access = "Access",
72
72
  Provide = "Provide",
73
73
  Tell = "Tell",
74
74
  Listen = "Listen",
75
75
  MapLog = "MapLog",
76
76
  }
77
77
 
78
- export class SucceedNow<A> extends Z<never, unknown, never, unknown, never, A> {
78
+ export class SucceedNow<A> extends Z<never, unknown, never, never, never, A> {
79
79
  readonly _tag = ZTag.SucceedNow;
80
80
  constructor(readonly value: A) {
81
81
  super();
82
82
  }
83
83
  }
84
84
 
85
- export class Succeed<A> extends Z<never, unknown, never, unknown, never, A> {
85
+ export class Succeed<A> extends Z<never, unknown, never, never, never, A> {
86
86
  readonly _tag = ZTag.Succeed;
87
87
  constructor(readonly effect: () => A) {
88
88
  super();
@@ -96,14 +96,14 @@ export class Defer<W, S1, S2, R, E, A> extends Z<W, S1, S2, R, E, A> {
96
96
  }
97
97
  }
98
98
 
99
- export class Fail<E> extends Z<never, unknown, never, unknown, E, never> {
99
+ export class Fail<E> extends Z<never, unknown, never, never, E, never> {
100
100
  readonly _tag = ZTag.Fail;
101
101
  constructor(readonly cause: Cause<E>) {
102
102
  super();
103
103
  }
104
104
  }
105
105
 
106
- export class Modify<S1, S2, A> extends Z<never, S1, S2, unknown, never, A> {
106
+ export class Modify<S1, S2, A> extends Z<never, S1, S2, never, never, A> {
107
107
  readonly _tag = ZTag.Modify;
108
108
  constructor(readonly run: (s1: S1) => readonly [A, S2]) {
109
109
  super();
@@ -135,21 +135,21 @@ export class Match<W, S1, S2, S5, R, E, A, W1, S3, R1, E1, B, W2, S4, R2, E2, C>
135
135
  }
136
136
  }
137
137
 
138
- export class Environment<W, R0, S1, S2, R, E, A> extends Z<W, S1, S2, R0 & R, E, A> {
139
- readonly _tag = ZTag.Environment;
140
- constructor(readonly asks: (r: R0) => Z<W, S1, S2, R, E, A>) {
138
+ export class Access<W, R0, S1, S2, R, E, A> extends Z<W, S1, S2, R0 | R, E, A> {
139
+ readonly _tag = ZTag.Access;
140
+ constructor(readonly asks: (r: Environment<R0>) => Z<W, S1, S2, R, E, A>) {
141
141
  super();
142
142
  }
143
143
  }
144
144
 
145
- export class Provide<W, S1, S2, R, E, A> extends Z<W, S1, S2, unknown, E, A> {
145
+ export class Provide<W, S1, S2, R, E, A> extends Z<W, S1, S2, never, E, A> {
146
146
  readonly _tag = ZTag.Provide;
147
- constructor(readonly ma: Z<W, S1, S2, R, E, A>, readonly env: R) {
147
+ constructor(readonly ma: Z<W, S1, S2, R, E, A>, readonly env: Environment<R>) {
148
148
  super();
149
149
  }
150
150
  }
151
151
 
152
- export class Tell<W> extends Z<W, unknown, never, unknown, never, void> {
152
+ export class Tell<W> extends Z<W, unknown, never, never, never, void> {
153
153
  readonly _tag = ZTag.Tell;
154
154
  constructor(readonly log: Conc<W>) {
155
155
  super();
@@ -169,7 +169,7 @@ export type Concrete =
169
169
  | Modify<any, any, any>
170
170
  | Chain<any, any, any, any, any, any, any, any, any, any, any>
171
171
  | Match<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>
172
- | Environment<any, any, any, any, any, any, any>
172
+ | Access<any, any, any, any, any, any, any>
173
173
  | Provide<any, any, any, any, any, any>
174
174
  | Defer<any, any, any, any, any, any>
175
175
  | Succeed<any>
@@ -1,5 +1,5 @@
1
1
  import type * as P from "../../typeclass.js";
2
- import type { ZFixedF } from "./definition.js";
2
+ import type { ZF } from "./definition.js";
3
3
 
4
4
  import { map_, succeedNow, zip_, zipWith_ } from "./api.js";
5
5
 
@@ -7,9 +7,9 @@ import { map_, succeedNow, zip_, zipWith_ } from "./api.js";
7
7
  * @tsplus static fncts.control.ZOps Applicative
8
8
  * @tsplus implicit
9
9
  */
10
- export const Applicative: P.Applicative<ZFixedF> = {
10
+ export const Applicative = HKT.instance<P.Applicative<ZF>>({
11
11
  map: map_,
12
12
  zip: zip_,
13
13
  zipWith: zipWith_,
14
14
  pure: succeedNow,
15
- };
15
+ });
@@ -24,13 +24,13 @@ type Frame = MatchFrame | ApplyFrame;
24
24
  * @tsplus fluent fncts.control.Z unsafeRunAll
25
25
  */
26
26
  export function unsafeRunAll_<W, S1, S2, E, A>(
27
- ma: Z<W, S1, S2, unknown, E, A>,
27
+ ma: Z<W, S1, S2, never, E, A>,
28
28
  s: S1,
29
29
  ): readonly [Conc<W>, Exit<E, readonly [S2, A]>] {
30
30
  const stack: Stack<Frame> = Stack();
31
31
  let s0 = s as any;
32
32
  let result: any = null;
33
- const environment = Stack<unknown>();
33
+ const environment = Stack<Environment<unknown>>();
34
34
  let failed = false;
35
35
  let current = ma as Z<any, any, any, any, any, any> | undefined;
36
36
  let log = Conc.empty<W>();
@@ -141,8 +141,8 @@ export function unsafeRunAll_<W, S1, S2, E, A>(
141
141
  );
142
142
  break;
143
143
  }
144
- case ZTag.Environment: {
145
- current = currZ.asks(environment.peek() ?? {});
144
+ case ZTag.Access: {
145
+ current = currZ.asks(environment.peek() ?? Environment());
146
146
  break;
147
147
  }
148
148
  case ZTag.Provide: {
@@ -215,7 +215,7 @@ export function unsafeRunAll_<W, S1, S2, E, A>(
215
215
  *
216
216
  * @tsplus fluent fncts.control.Z unsafeRun
217
217
  */
218
- export function unsafeRun_<W, S1, S2, A>(ma: Z<W, S1, S2, unknown, never, A>, s: S1): readonly [S2, A] {
218
+ export function unsafeRun_<W, S1, S2, A>(ma: Z<W, S1, S2, never, never, A>, s: S1): readonly [S2, A] {
219
219
  return ma.unsafeRunAll(s)[1].match((cause) => {
220
220
  // throw cause.squash
221
221
  throw new Error();
@@ -227,7 +227,7 @@ export function unsafeRun_<W, S1, S2, A>(ma: Z<W, S1, S2, unknown, never, A>, s:
227
227
  *
228
228
  * @tsplus getter fncts.control.Z unsafeRunResult
229
229
  */
230
- export function unsafeRunResult<W, A>(ma: Z<W, unknown, unknown, unknown, never, A>): A {
230
+ export function unsafeRunResult<W, A>(ma: Z<W, unknown, unknown, never, never, A>): A {
231
231
  return unsafeRun_(ma, {})[1];
232
232
  }
233
233
 
@@ -236,7 +236,7 @@ export function unsafeRunResult<W, A>(ma: Z<W, unknown, unknown, unknown, never,
236
236
  *
237
237
  * @tsplus fluent fncts.control.Z unsafeRunReader
238
238
  */
239
- export function unsafeRunReader_<W, R, A>(ma: Z<W, unknown, never, R, never, A>, r: R): A {
239
+ export function unsafeRunReader_<W, R, A>(ma: Z<W, unknown, never, R, never, A>, r: Environment<R>): A {
240
240
  return unsafeRunResult(ma.provideEnvironment(r));
241
241
  }
242
242
 
@@ -246,7 +246,7 @@ export function unsafeRunReader_<W, R, A>(ma: Z<W, unknown, never, R, never, A>,
246
246
  *
247
247
  * @tsplus fluent fncts.control.Z unsafeRunState
248
248
  */
249
- export function unsafeRunState_<W, S1, S2, A>(ma: Z<W, S1, S2, unknown, never, A>, s: S1): S2 {
249
+ export function unsafeRunState_<W, S1, S2, A>(ma: Z<W, S1, S2, never, never, A>, s: S1): S2 {
250
250
  return ma.unsafeRun(s)[0];
251
251
  }
252
252
 
@@ -256,7 +256,7 @@ export function unsafeRunState_<W, S1, S2, A>(ma: Z<W, S1, S2, unknown, never, A
256
256
  *
257
257
  * @tsplus fluent fncts.control.Z unsafeRunStateResult
258
258
  */
259
- export function unsafeRunStateResult_<W, S1, S2, A>(ma: Z<W, S1, S2, unknown, never, A>, s: S1): A {
259
+ export function unsafeRunStateResult_<W, S1, S2, A>(ma: Z<W, S1, S2, never, never, A>, s: S1): A {
260
260
  return ma.unsafeRunAll(s)[1].match(
261
261
  (cause) => {
262
262
  // throw cause.squash
@@ -271,7 +271,7 @@ export function unsafeRunStateResult_<W, S1, S2, A>(ma: Z<W, S1, S2, unknown, ne
271
271
  *
272
272
  * @tsplus getter fncts.control.Z unsafeRunExit
273
273
  */
274
- export function unsafeRunExit<E, A>(ma: Z<never, unknown, unknown, unknown, E, A>): Exit<E, A> {
274
+ export function unsafeRunExit<E, A>(ma: Z<never, unknown, unknown, never, E, A>): Exit<E, A> {
275
275
  return ma.unsafeRunAll({} as never)[1].map(([_, a]) => a);
276
276
  }
277
277
 
@@ -279,7 +279,7 @@ export function unsafeRunExit<E, A>(ma: Z<never, unknown, unknown, unknown, E, A
279
279
  *
280
280
  * @tsplus getter fncts.control.Z unsafeRunWriter
281
281
  */
282
- export function unsafeRunWriter<W, A>(ma: Z<W, unknown, unknown, unknown, never, A>): readonly [Conc<W>, A] {
282
+ export function unsafeRunWriter<W, A>(ma: Z<W, unknown, unknown, never, never, A>): readonly [Conc<W>, A] {
283
283
  const [w, exit] = ma.unsafeRunAll({});
284
284
  return exit.match(
285
285
  () => {
@@ -0,0 +1,5 @@
1
+ // codegen:start { preset: type-barrel, include: ./control/*.ts }
2
+ export type {} from "./control/Eval.js";
3
+ export type {} from "./control/LazyValue.js";
4
+ export type {} from "./control/Z.js";
5
+ // codegen:end
@@ -1,28 +1,20 @@
1
1
  /**
2
2
  * @tsplus type fncts.ConstF
3
3
  */
4
- export interface ConstF extends Const<any, any> {}
5
-
6
- /**
7
- * @tsplus type fncts.ConstF
8
- */
9
- export interface Const1F<E> extends Const1<E, any> {}
4
+ export interface ConstF extends HKT {
5
+ type: Const<this["E"], this["A"]>;
6
+ variance: {
7
+ E: "_";
8
+ A: "+";
9
+ };
10
+ }
10
11
 
11
12
  /**
12
13
  * @tsplus type fncts.Const
13
14
  * @tsplus companion fncts.ConstOps
14
15
  */
15
16
  export class Const<E, A> {
16
- readonly [HKT.F]!: ConstF;
17
- readonly [HKT.E]!: () => E;
18
- readonly [HKT.A]!: () => A;
19
- readonly [HKT.T]!: Const<HKT._E<this>, HKT._A<this>>;
17
+ readonly _E!: () => E;
18
+ readonly _A!: () => A;
20
19
  constructor(readonly getConst: E) {}
21
20
  }
22
-
23
- export interface Const1<E, A> {
24
- readonly [HKT.F]: ConstF;
25
- readonly [HKT.E]: () => E;
26
- readonly [HKT.A]: () => A;
27
- readonly [HKT.T]: Const<E, HKT._A<this>>;
28
- }