@fncts/base 0.0.12 → 0.0.15

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 (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 +6 -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
- }