@fncts/base 0.0.28 → 0.0.30
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.
- package/_cjs/collection/Iterable/api/traverseConc.cjs.map +1 -1
- package/_cjs/collection/Iterable/api.cjs.map +1 -1
- package/_cjs/collection/Iterable/constructors.cjs.map +1 -1
- package/_cjs/collection/Iterable/definition.cjs.map +1 -1
- package/_cjs/collection/Iterable.cjs.map +1 -1
- package/_cjs/collection/compat/Array/api.cjs.map +1 -1
- package/_cjs/collection/compat/Array/definition.cjs.map +1 -1
- package/_cjs/collection/compat/Array.cjs.map +1 -1
- package/_cjs/collection/compat/ArrayLike/api.cjs.map +1 -1
- package/_cjs/collection/compat/ArrayLike/definition.cjs.map +1 -1
- package/_cjs/collection/compat.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/api/empty.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/api/makeBy.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/api/replicate.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/constructors.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc.cjs.map +1 -1
- package/_cjs/collection/immutable/Dictionary/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Dictionary/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Dictionary.cjs.map +1 -1
- package/_cjs/collection/immutable/HashMap/api.cjs.map +1 -1
- package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/HashMap/internal.cjs.map +1 -1
- package/_cjs/collection/immutable/HashMap.cjs.map +1 -1
- package/_cjs/collection/immutable/HashSet/api.cjs +18 -7
- package/_cjs/collection/immutable/HashSet/api.cjs.map +1 -1
- package/_cjs/collection/immutable/HashSet/definition.cjs +2 -2
- package/_cjs/collection/immutable/HashSet/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/HashSet.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/api/chunksOf.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/api/slice.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/api/splitAt.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/constructors.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/instances.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray.cjs.map +1 -1
- package/_cjs/collection/immutable/List/api/foldLeft.cjs.map +1 -1
- package/_cjs/collection/immutable/List/api/unsafeTail.cjs.map +1 -1
- package/_cjs/collection/immutable/List/api.cjs.map +1 -1
- package/_cjs/collection/immutable/List/constructors.cjs.map +1 -1
- package/_cjs/collection/immutable/List/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/List.cjs.map +1 -1
- package/_cjs/collection/immutable/Queue/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Queue/constructors.cjs.map +1 -1
- package/_cjs/collection/immutable/Queue/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Queue/guards.cjs.map +1 -1
- package/_cjs/collection/immutable/Queue.cjs.map +1 -1
- package/_cjs/collection/immutable/RoseTree/api.cjs.map +1 -1
- package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/RoseTree.cjs.map +1 -1
- package/_cjs/collection/immutable/SortedMap/api.cjs.map +1 -1
- package/_cjs/collection/immutable/SortedMap/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/SortedMap/internal.cjs.map +1 -1
- package/_cjs/collection/immutable/SortedMap/iterator.cjs.map +1 -1
- package/_cjs/collection/immutable/SortedMap/node.cjs.map +1 -1
- package/_cjs/collection/immutable/SortedMap.cjs.map +1 -1
- package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Vector/internal.cjs.map +1 -1
- package/_cjs/collection/immutable/Vector.cjs.map +1 -1
- package/_cjs/collection/immutable.cjs.map +1 -1
- package/_cjs/collection/mutable/HashMap.cjs +15 -0
- package/_cjs/collection/mutable/HashMap.cjs.map +1 -1
- package/_cjs/collection/mutable/HashSet.cjs.map +1 -1
- package/_cjs/collection/mutable/ListBuffer.cjs.map +1 -1
- package/_cjs/collection/mutable/internal.cjs.map +1 -1
- package/_cjs/collection/mutable.cjs.map +1 -1
- package/_cjs/collection/weak/IterableWeakMap.cjs.map +1 -1
- package/_cjs/collection/weak/IterableWeakSet.cjs.map +1 -1
- package/_cjs/collection/weak.cjs.map +1 -1
- package/_cjs/collection.cjs.map +1 -1
- package/_cjs/control/CompletablePromise.cjs.map +1 -1
- package/_cjs/control/Eval/api/sequenceArray.cjs.map +1 -1
- package/_cjs/control/Eval/api.cjs +4 -1
- package/_cjs/control/Eval/api.cjs.map +1 -1
- package/_cjs/control/Eval/constructors.cjs +9 -2
- package/_cjs/control/Eval/constructors.cjs.map +1 -1
- package/_cjs/control/Eval/definition.cjs +10 -28
- package/_cjs/control/Eval/definition.cjs.map +1 -1
- package/_cjs/control/Eval/instance.cjs.map +1 -1
- package/_cjs/control/Eval/run.cjs +7 -7
- package/_cjs/control/Eval/run.cjs.map +1 -1
- package/_cjs/control/Eval.cjs.map +1 -1
- package/_cjs/control/LazyValue.cjs.map +1 -1
- package/_cjs/control/{Z → Pure}/api.cjs +146 -115
- package/_cjs/control/Pure/api.cjs.map +1 -0
- package/_cjs/control/Pure/definition.cjs +78 -0
- package/_cjs/control/Pure/definition.cjs.map +1 -0
- package/_cjs/control/{Z → Pure}/instances.cjs +1 -1
- package/_cjs/control/Pure/instances.cjs.map +1 -0
- package/_cjs/control/{Z → Pure}/runtime.cjs +67 -66
- package/_cjs/control/Pure/runtime.cjs.map +1 -0
- package/_cjs/control/{Z.cjs → Pure.cjs} +5 -5
- package/_cjs/control/Pure.cjs.map +1 -0
- package/_cjs/control.cjs.map +1 -1
- package/_cjs/data/Branded/definition.cjs.map +1 -1
- package/_cjs/data/Branded.cjs.map +1 -1
- package/_cjs/data/Byte.cjs.map +1 -1
- package/_cjs/data/CaseClass.cjs.map +1 -1
- package/_cjs/data/Cause/api/fold.cjs +2 -2
- package/_cjs/data/Cause/api/fold.cjs.map +1 -1
- package/_cjs/data/Cause/api/isEmpty.cjs +2 -2
- package/_cjs/data/Cause/api/isEmpty.cjs.map +1 -1
- package/_cjs/data/Cause/api/linearize.cjs +1 -1
- package/_cjs/data/Cause/api/linearize.cjs.map +1 -1
- package/_cjs/data/Cause/api/prettyPrint.cjs.map +1 -1
- package/_cjs/data/Cause/api/unified.cjs +2 -2
- package/_cjs/data/Cause/api/unified.cjs.map +1 -1
- package/_cjs/data/Cause/api.cjs +116 -116
- package/_cjs/data/Cause/api.cjs.map +1 -1
- package/_cjs/data/Cause/definition.cjs +32 -32
- package/_cjs/data/Cause/definition.cjs.map +1 -1
- package/_cjs/data/Cause.cjs.map +1 -1
- package/_cjs/data/Const/api.cjs.map +1 -1
- package/_cjs/data/Const/definition.cjs.map +1 -1
- package/_cjs/data/Const/instances.cjs.map +1 -1
- package/_cjs/data/Const.cjs.map +1 -1
- package/_cjs/data/Datum/api.cjs.map +1 -1
- package/_cjs/data/Datum/definition.cjs.map +1 -1
- package/_cjs/data/Datum/instances.cjs.map +1 -1
- package/_cjs/data/DatumEither/api.cjs.map +1 -1
- package/_cjs/data/DatumEither/definition.cjs.map +1 -1
- package/_cjs/data/DatumEither.cjs.map +1 -1
- package/_cjs/data/DecodeError/definition.cjs.map +1 -1
- package/_cjs/data/DecodeError/instances.cjs.map +1 -1
- package/_cjs/data/DecodeError.cjs.map +1 -1
- package/_cjs/data/Decoder/api.cjs +1 -1
- package/_cjs/data/Decoder/api.cjs.map +1 -1
- package/_cjs/data/Decoder/definition.cjs.map +1 -1
- package/_cjs/data/Decoder.cjs.map +1 -1
- package/_cjs/data/Duration/api.cjs +10 -0
- package/_cjs/data/Duration/api.cjs.map +1 -1
- package/_cjs/data/Duration/definition.cjs.map +1 -1
- package/_cjs/data/Duration.cjs.map +1 -1
- package/_cjs/data/Either/api/align.cjs.map +1 -1
- package/_cjs/data/Either/api/alignWith.cjs.map +1 -1
- package/_cjs/data/Either/api.cjs.map +1 -1
- package/_cjs/data/Either/constructors.cjs.map +1 -1
- package/_cjs/data/Either/definition.cjs.map +1 -1
- package/_cjs/data/Either/destructors.cjs.map +1 -1
- package/_cjs/data/Either/instances.cjs.map +1 -1
- package/_cjs/data/Either.cjs.map +1 -1
- package/_cjs/data/EitherT/api.cjs.map +1 -1
- package/_cjs/data/EitherT/definition.cjs.map +1 -1
- package/_cjs/data/Encoder/api.cjs +1 -1
- package/_cjs/data/Encoder/api.cjs.map +1 -1
- package/_cjs/data/Encoder/definition.cjs.map +1 -1
- package/_cjs/data/Encoder.cjs.map +1 -1
- package/_cjs/data/Environment/api.cjs.map +1 -1
- package/_cjs/data/Environment/definition.cjs.map +1 -1
- package/_cjs/data/Environment.cjs.map +1 -1
- package/_cjs/data/EnvironmentPatch.cjs.map +1 -1
- package/_cjs/data/Eq/api.cjs.map +1 -1
- package/_cjs/data/Eq/definition.cjs.map +1 -1
- package/_cjs/data/Eq/derivations.cjs.map +1 -1
- package/_cjs/data/Eq.cjs.map +1 -1
- package/_cjs/data/Equatable/api.cjs.map +1 -1
- package/_cjs/data/Equatable/definition.cjs.map +1 -1
- package/_cjs/data/Equatable/fast-equals.cjs.map +1 -1
- package/_cjs/data/Equatable.cjs.map +1 -1
- package/_cjs/data/ExecutionStrategy.cjs.map +1 -1
- package/_cjs/data/Exit/api.cjs +13 -13
- package/_cjs/data/Exit/api.cjs.map +1 -1
- package/_cjs/data/Exit/constructors.cjs.map +1 -1
- package/_cjs/data/Exit/definition.cjs.map +1 -1
- package/_cjs/data/Exit.cjs.map +1 -1
- package/_cjs/data/FiberId/api.cjs.map +1 -1
- package/_cjs/data/FiberId/constructors.cjs.map +1 -1
- package/_cjs/data/FiberId/definition.cjs.map +1 -1
- package/_cjs/data/FiberId.cjs.map +1 -1
- package/_cjs/data/Guard/api.cjs +1 -1
- package/_cjs/data/Guard/api.cjs.map +1 -1
- package/_cjs/data/Guard/definition.cjs.map +1 -1
- package/_cjs/data/Guard.cjs.map +1 -1
- package/_cjs/data/Hash.cjs.map +1 -1
- package/_cjs/data/HashEq.cjs.map +1 -1
- package/_cjs/data/Hashable/definition.cjs.map +1 -1
- package/_cjs/data/Hashable/hash.cjs.map +1 -1
- package/_cjs/data/Hashable.cjs.map +1 -1
- package/_cjs/data/Identity/api.cjs.map +1 -1
- package/_cjs/data/Identity/definition.cjs.map +1 -1
- package/_cjs/data/Identity/instances.cjs.map +1 -1
- package/_cjs/data/Identity.cjs.map +1 -1
- package/_cjs/data/Interval.cjs.map +1 -1
- package/_cjs/data/Intervals.cjs.map +1 -1
- package/_cjs/data/Maybe/api.cjs.map +1 -1
- package/_cjs/data/Maybe/constructors.cjs.map +1 -1
- package/_cjs/data/Maybe/definition.cjs.map +1 -1
- package/_cjs/data/Maybe/destructors.cjs.map +1 -1
- package/_cjs/data/Maybe/instances.cjs.map +1 -1
- package/_cjs/data/Maybe.cjs.map +1 -1
- package/_cjs/data/Newtype.cjs.map +1 -1
- package/_cjs/data/Ord/api/contramap.cjs.map +1 -1
- package/_cjs/data/Ord/api/max.cjs.map +1 -1
- package/_cjs/data/Ord/api/min.cjs.map +1 -1
- package/_cjs/data/Ord/api.cjs.map +1 -1
- package/_cjs/data/Ord/definition.cjs.map +1 -1
- package/_cjs/data/Ord/instances.cjs.map +1 -1
- package/_cjs/data/Ord.cjs.map +1 -1
- package/_cjs/data/Ordering.cjs.map +1 -1
- package/_cjs/data/Predicate/api.cjs.map +1 -1
- package/_cjs/data/Predicate/definition.cjs.map +1 -1
- package/_cjs/data/Predicate.cjs.map +1 -1
- package/_cjs/data/Refinement/api.cjs.map +1 -1
- package/_cjs/data/Refinement/definition.cjs.map +1 -1
- package/_cjs/data/Refinement.cjs.map +1 -1
- package/_cjs/data/Showable/definition.cjs.map +1 -1
- package/_cjs/data/Showable/show.cjs +31 -31
- package/_cjs/data/Showable/show.cjs.map +1 -1
- package/_cjs/data/Showable/styles.cjs.map +1 -1
- package/_cjs/data/Showable/util.cjs.map +1 -1
- package/_cjs/data/Showable.cjs.map +1 -1
- package/_cjs/data/Struct/api.cjs.map +1 -1
- package/_cjs/data/Struct/definition.cjs.map +1 -1
- package/_cjs/data/Struct.cjs.map +1 -1
- package/_cjs/data/Tag/constructors.cjs.map +1 -1
- package/_cjs/data/Tag/definition.cjs.map +1 -1
- package/_cjs/data/Tag.cjs.map +1 -1
- package/_cjs/data/These/api.cjs.map +1 -1
- package/_cjs/data/These/constructors.cjs.map +1 -1
- package/_cjs/data/These/definition.cjs.map +1 -1
- package/_cjs/data/These/destructors.cjs.map +1 -1
- package/_cjs/data/These/instances.cjs.map +1 -1
- package/_cjs/data/These.cjs.map +1 -1
- package/_cjs/data/Trace/api.cjs.map +1 -1
- package/_cjs/data/Trace/constructors.cjs.map +1 -1
- package/_cjs/data/Trace/definition.cjs.map +1 -1
- package/_cjs/data/Trace.cjs.map +1 -1
- package/_cjs/data/TraceElement/definition.cjs.map +1 -1
- package/_cjs/data/TraceElement.cjs.map +1 -1
- package/_cjs/data/Zipped.cjs.map +1 -1
- package/_cjs/data/bigint/definition.cjs.map +1 -1
- package/_cjs/data/bigint/instances.cjs.map +1 -1
- package/_cjs/data/bigint.cjs.map +1 -1
- package/_cjs/data/boolean/definition.cjs.map +1 -1
- package/_cjs/data/boolean/instances.cjs.map +1 -1
- package/_cjs/data/boolean.cjs.map +1 -1
- package/_cjs/data/exceptions/ArrayIndexOutOfBoundsError.cjs.map +1 -1
- package/_cjs/data/exceptions/IOError.cjs.map +1 -1
- package/_cjs/data/exceptions/IllegalArgumentError.cjs.map +1 -1
- package/_cjs/data/exceptions/IllegalStateError.cjs.map +1 -1
- package/_cjs/data/exceptions/IndexOutOfBoundsError.cjs.map +1 -1
- package/_cjs/data/exceptions/InterruptedException.cjs.map +1 -1
- package/_cjs/data/exceptions/InvalidCapacityError.cjs.map +1 -1
- package/_cjs/data/exceptions/NoSuchElementError.cjs.map +1 -1
- package/_cjs/data/exceptions/RuntimeError.cjs.map +1 -1
- package/_cjs/data/exceptions.cjs.map +1 -1
- package/_cjs/data/function/api.cjs.map +1 -1
- package/_cjs/data/function/definition.cjs.map +1 -1
- package/_cjs/data/function/pipe.cjs.map +1 -1
- package/_cjs/data/function.cjs.map +1 -1
- package/_cjs/data/number/api.cjs.map +1 -1
- package/_cjs/data/number/definition.cjs.map +1 -1
- package/_cjs/data/number/instances.cjs.map +1 -1
- package/_cjs/data/number.cjs.map +1 -1
- package/_cjs/data/object/definition.cjs.map +1 -1
- package/_cjs/data/object/instances.cjs.map +1 -1
- package/_cjs/data/object.cjs.map +1 -1
- package/_cjs/data/string/api.cjs.map +1 -1
- package/_cjs/data/string/definition.cjs.map +1 -1
- package/_cjs/data/string/instances.cjs.map +1 -1
- package/_cjs/data/string.cjs.map +1 -1
- package/_cjs/data.cjs.map +1 -1
- package/_cjs/global/api.cjs.map +1 -1
- package/_cjs/global.cjs.map +1 -1
- package/_cjs/index.cjs.map +1 -1
- package/_cjs/internal/AtomicBoolean.cjs.map +1 -1
- package/_cjs/internal/AtomicNumber.cjs.map +1 -1
- package/_cjs/internal/AtomicReference.cjs.map +1 -1
- package/_cjs/internal/Stack.cjs.map +1 -1
- package/_cjs/json/EitherJson.cjs.map +1 -1
- package/_cjs/json/MaybeJson.cjs.map +1 -1
- package/_cjs/json/TheseJson.cjs.map +1 -1
- package/_cjs/json.cjs.map +1 -1
- package/_cjs/optics/At/api.cjs.map +1 -1
- package/_cjs/optics/At/definition.cjs.map +1 -1
- package/_cjs/optics/At.cjs.map +1 -1
- package/_cjs/optics/Fold/definition.cjs.map +1 -1
- package/_cjs/optics/Fold.cjs.map +1 -1
- package/_cjs/optics/Getter/definition.cjs.map +1 -1
- package/_cjs/optics/Getter.cjs.map +1 -1
- package/_cjs/optics/Index/api.cjs.map +1 -1
- package/_cjs/optics/Index/definition.cjs.map +1 -1
- package/_cjs/optics/Index.cjs.map +1 -1
- package/_cjs/optics/Iso/api.cjs.map +1 -1
- package/_cjs/optics/Iso/definition.cjs.map +1 -1
- package/_cjs/optics/Iso.cjs.map +1 -1
- package/_cjs/optics/Lens/api.cjs.map +1 -1
- package/_cjs/optics/Lens/definition.cjs.map +1 -1
- package/_cjs/optics/Lens.cjs.map +1 -1
- package/_cjs/optics/Optional/api/compose.cjs.map +1 -1
- package/_cjs/optics/Optional/definition.cjs.map +1 -1
- package/_cjs/optics/Optional.cjs.map +1 -1
- package/_cjs/optics/Prism/api/compose.cjs.map +1 -1
- package/_cjs/optics/Prism/api/fromNullable.cjs.map +1 -1
- package/_cjs/optics/Prism/api/just.cjs.map +1 -1
- package/_cjs/optics/Prism/definition.cjs.map +1 -1
- package/_cjs/optics/Prism.cjs.map +1 -1
- package/_cjs/optics/Setter/definition.cjs.map +1 -1
- package/_cjs/optics/Setter.cjs.map +1 -1
- package/_cjs/optics/Traversal/api/compose.cjs.map +1 -1
- package/_cjs/optics/Traversal/api/fromTraversable.cjs.map +1 -1
- package/_cjs/optics/Traversal/definition.cjs.map +1 -1
- package/_cjs/optics/Traversal.cjs.map +1 -1
- package/_cjs/optics.cjs.map +1 -1
- package/_cjs/typeclass/Align.cjs.map +1 -1
- package/_cjs/typeclass/Alt.cjs.map +1 -1
- package/_cjs/typeclass/Alternative.cjs.map +1 -1
- package/_cjs/typeclass/Applicative.cjs.map +1 -1
- package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
- package/_cjs/typeclass/Apply.cjs.map +1 -1
- package/_cjs/typeclass/Chain.cjs.map +1 -1
- package/_cjs/typeclass/Closure.cjs.map +1 -1
- package/_cjs/typeclass/Fail.cjs.map +1 -1
- package/_cjs/typeclass/Filterable.cjs.map +1 -1
- package/_cjs/typeclass/FilterableWithIndex.cjs.map +1 -1
- package/_cjs/typeclass/Foldable.cjs.map +1 -1
- package/_cjs/typeclass/FoldableWithIndex.cjs.map +1 -1
- package/_cjs/typeclass/Functor.cjs.map +1 -1
- package/_cjs/typeclass/FunctorWithIndex.cjs.map +1 -1
- package/_cjs/typeclass/Has.cjs.map +1 -1
- package/_cjs/typeclass/Monad.cjs.map +1 -1
- package/_cjs/typeclass/MonadExcept.cjs.map +1 -1
- package/_cjs/typeclass/Monoid.cjs.map +1 -1
- package/_cjs/typeclass/Nil.cjs.map +1 -1
- package/_cjs/typeclass/Pointed.cjs.map +1 -1
- package/_cjs/typeclass/Semialign.cjs.map +1 -1
- package/_cjs/typeclass/Semigroup/api.cjs.map +1 -1
- package/_cjs/typeclass/Semigroup/definition.cjs.map +1 -1
- package/_cjs/typeclass/Semigroup/derivations.cjs.map +1 -1
- package/_cjs/typeclass/Semigroup.cjs.map +1 -1
- package/_cjs/typeclass/Semimonoidal.cjs.map +1 -1
- package/_cjs/typeclass/Traversable.cjs.map +1 -1
- package/_cjs/typeclass/TraversableWithIndex.cjs.map +1 -1
- package/_cjs/typeclass/Witherable.cjs.map +1 -1
- package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
- package/_cjs/typeclass/builtin/Symbol.cjs.map +1 -1
- package/_cjs/typeclass/builtin.cjs.map +1 -1
- package/_cjs/typeclass.cjs.map +1 -1
- package/_cjs/types/extractions.cjs.map +1 -1
- package/_cjs/types/utility.cjs.map +1 -1
- package/_cjs/types.cjs.map +1 -1
- package/_cjs/util/AnsiFormat.cjs.map +1 -1
- package/_cjs/util/PCGRandom.cjs.map +1 -1
- package/_cjs/util/assert.cjs.map +1 -1
- package/_cjs/util/pattern.cjs.map +1 -1
- package/_cjs/util/predicates.cjs.map +1 -1
- package/_cjs/util/rand/Random.cjs.map +1 -1
- package/_cjs/util/rand/distribution/Distribution.cjs.map +1 -1
- package/_cjs/util/rand/distribution/UniformArrayIntDistribution.cjs.map +1 -1
- package/_cjs/util/rand/distribution/UniformBigIntDistribution.cjs.map +1 -1
- package/_cjs/util/rand/distribution/UniformIntDistribution.cjs.map +1 -1
- package/_cjs/util/rand/distribution/internals/ArrayInt.cjs.map +1 -1
- package/_cjs/util/rand/distribution/internals/UniformArrayIntDistributionInternal.cjs.map +1 -1
- package/_cjs/util/rand/distribution/internals/UniformIntDistributionInternal.cjs.map +1 -1
- package/_cjs/util/rand/generator/MersenneTwister.cjs.map +1 -1
- package/_cjs/util/rand/generator/RandomGenerator.cjs.map +1 -1
- package/_cjs/util/rand.cjs.map +1 -1
- package/_cjs/util.cjs.map +1 -1
- package/_mjs/collection/Iterable/api/traverseConc.mjs.map +1 -1
- package/_mjs/collection/Iterable/api.mjs.map +1 -1
- package/_mjs/collection/Iterable/constructors.mjs.map +1 -1
- package/_mjs/collection/Iterable/definition.mjs.map +1 -1
- package/_mjs/collection/Iterable.mjs.map +1 -1
- package/_mjs/collection/compat/Array/api.mjs.map +1 -1
- package/_mjs/collection/compat/Array/definition.mjs.map +1 -1
- package/_mjs/collection/compat/Array.mjs.map +1 -1
- package/_mjs/collection/compat/ArrayLike/api.mjs.map +1 -1
- package/_mjs/collection/compat/ArrayLike/definition.mjs.map +1 -1
- package/_mjs/collection/compat.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/api/empty.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/api/makeBy.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/api/replicate.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/api.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/constructors.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc.mjs.map +1 -1
- package/_mjs/collection/immutable/Dictionary/api.mjs.map +1 -1
- package/_mjs/collection/immutable/Dictionary/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/Dictionary.mjs.map +1 -1
- package/_mjs/collection/immutable/HashMap/api.mjs.map +1 -1
- package/_mjs/collection/immutable/HashMap/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/HashMap/internal.mjs.map +1 -1
- package/_mjs/collection/immutable/HashMap.mjs.map +1 -1
- package/_mjs/collection/immutable/HashSet/api.mjs +17 -7
- package/_mjs/collection/immutable/HashSet/api.mjs.map +1 -1
- package/_mjs/collection/immutable/HashSet/definition.mjs +2 -2
- package/_mjs/collection/immutable/HashSet/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/HashSet.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/api/chunksOf.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/api/slice.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/api/splitAt.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/constructors.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/instances.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/destructors.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray.mjs.map +1 -1
- package/_mjs/collection/immutable/List/api/foldLeft.mjs.map +1 -1
- package/_mjs/collection/immutable/List/api/unsafeTail.mjs.map +1 -1
- package/_mjs/collection/immutable/List/api.mjs.map +1 -1
- package/_mjs/collection/immutable/List/constructors.mjs.map +1 -1
- package/_mjs/collection/immutable/List/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/List.mjs.map +1 -1
- package/_mjs/collection/immutable/Queue/api.mjs.map +1 -1
- package/_mjs/collection/immutable/Queue/constructors.mjs.map +1 -1
- package/_mjs/collection/immutable/Queue/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/Queue/guards.mjs.map +1 -1
- package/_mjs/collection/immutable/Queue.mjs.map +1 -1
- package/_mjs/collection/immutable/RoseTree/api.mjs.map +1 -1
- package/_mjs/collection/immutable/RoseTree/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/RoseTree.mjs.map +1 -1
- package/_mjs/collection/immutable/SortedMap/api.mjs.map +1 -1
- package/_mjs/collection/immutable/SortedMap/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/SortedMap/internal.mjs.map +1 -1
- package/_mjs/collection/immutable/SortedMap/iterator.mjs.map +1 -1
- package/_mjs/collection/immutable/SortedMap/node.mjs.map +1 -1
- package/_mjs/collection/immutable/SortedMap.mjs.map +1 -1
- package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
- package/_mjs/collection/immutable/Vector/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/Vector/internal.mjs.map +1 -1
- package/_mjs/collection/immutable/Vector.mjs.map +1 -1
- package/_mjs/collection/immutable.mjs.map +1 -1
- package/_mjs/collection/mutable/HashMap.mjs.map +1 -1
- package/_mjs/collection/mutable/HashSet.mjs.map +1 -1
- package/_mjs/collection/mutable/ListBuffer.mjs.map +1 -1
- package/_mjs/collection/mutable/internal.mjs.map +1 -1
- package/_mjs/collection/mutable.mjs.map +1 -1
- package/_mjs/collection/weak/IterableWeakMap.mjs.map +1 -1
- package/_mjs/collection/weak/IterableWeakSet.mjs.map +1 -1
- package/_mjs/collection/weak.mjs.map +1 -1
- package/_mjs/collection.mjs.map +1 -1
- package/_mjs/control/CompletablePromise.mjs.map +1 -1
- package/_mjs/control/Eval/api/sequenceArray.mjs.map +1 -1
- package/_mjs/control/Eval/api.mjs +5 -2
- package/_mjs/control/Eval/api.mjs.map +1 -1
- package/_mjs/control/Eval/constructors.mjs +10 -3
- package/_mjs/control/Eval/constructors.mjs.map +1 -1
- package/_mjs/control/Eval/definition.mjs +7 -25
- package/_mjs/control/Eval/definition.mjs.map +1 -1
- package/_mjs/control/Eval/instance.mjs.map +1 -1
- package/_mjs/control/Eval/run.mjs +7 -7
- package/_mjs/control/Eval/run.mjs.map +1 -1
- package/_mjs/control/Eval.mjs.map +1 -1
- package/_mjs/control/LazyValue.mjs.map +1 -1
- package/_mjs/control/{Z → Pure}/api.mjs +134 -104
- package/_mjs/control/Pure/api.mjs.map +1 -0
- package/_mjs/control/Pure/definition.mjs +60 -0
- package/_mjs/control/Pure/definition.mjs.map +1 -0
- package/_mjs/control/{Z → Pure}/instances.mjs +1 -1
- package/_mjs/control/Pure/instances.mjs.map +1 -0
- package/_mjs/control/{Z → Pure}/runtime.mjs +68 -67
- package/_mjs/control/Pure/runtime.mjs.map +1 -0
- package/_mjs/control/Pure.mjs +6 -0
- package/_mjs/control/Pure.mjs.map +1 -0
- package/_mjs/control.mjs.map +1 -1
- package/_mjs/data/Branded/definition.mjs.map +1 -1
- package/_mjs/data/Branded.mjs.map +1 -1
- package/_mjs/data/Byte.mjs.map +1 -1
- package/_mjs/data/CaseClass.mjs.map +1 -1
- package/_mjs/data/Cause/api/fold.mjs +2 -2
- package/_mjs/data/Cause/api/fold.mjs.map +1 -1
- package/_mjs/data/Cause/api/isEmpty.mjs +2 -2
- package/_mjs/data/Cause/api/isEmpty.mjs.map +1 -1
- package/_mjs/data/Cause/api/linearize.mjs +2 -2
- package/_mjs/data/Cause/api/linearize.mjs.map +1 -1
- package/_mjs/data/Cause/api/prettyPrint.mjs.map +1 -1
- package/_mjs/data/Cause/api/unified.mjs +2 -2
- package/_mjs/data/Cause/api/unified.mjs.map +1 -1
- package/_mjs/data/Cause/api.mjs +112 -112
- package/_mjs/data/Cause/api.mjs.map +1 -1
- package/_mjs/data/Cause/definition.mjs +29 -29
- package/_mjs/data/Cause/definition.mjs.map +1 -1
- package/_mjs/data/Cause.mjs.map +1 -1
- package/_mjs/data/Const/api.mjs.map +1 -1
- package/_mjs/data/Const/definition.mjs.map +1 -1
- package/_mjs/data/Const/instances.mjs.map +1 -1
- package/_mjs/data/Const.mjs.map +1 -1
- package/_mjs/data/Datum/api.mjs.map +1 -1
- package/_mjs/data/Datum/definition.mjs.map +1 -1
- package/_mjs/data/Datum/instances.mjs.map +1 -1
- package/_mjs/data/DatumEither/api.mjs.map +1 -1
- package/_mjs/data/DatumEither/definition.mjs.map +1 -1
- package/_mjs/data/DatumEither.mjs.map +1 -1
- package/_mjs/data/DecodeError/definition.mjs.map +1 -1
- package/_mjs/data/DecodeError/instances.mjs.map +1 -1
- package/_mjs/data/DecodeError.mjs.map +1 -1
- package/_mjs/data/Decoder/api.mjs +1 -1
- package/_mjs/data/Decoder/api.mjs.map +1 -1
- package/_mjs/data/Decoder/definition.mjs.map +1 -1
- package/_mjs/data/Decoder.mjs.map +1 -1
- package/_mjs/data/Duration/api.mjs +9 -0
- package/_mjs/data/Duration/api.mjs.map +1 -1
- package/_mjs/data/Duration/definition.mjs.map +1 -1
- package/_mjs/data/Duration.mjs.map +1 -1
- package/_mjs/data/Either/api/align.mjs.map +1 -1
- package/_mjs/data/Either/api/alignWith.mjs.map +1 -1
- package/_mjs/data/Either/api.mjs.map +1 -1
- package/_mjs/data/Either/constructors.mjs.map +1 -1
- package/_mjs/data/Either/definition.mjs.map +1 -1
- package/_mjs/data/Either/destructors.mjs.map +1 -1
- package/_mjs/data/Either/instances.mjs.map +1 -1
- package/_mjs/data/Either.mjs.map +1 -1
- package/_mjs/data/EitherT/api.mjs.map +1 -1
- package/_mjs/data/EitherT/definition.mjs.map +1 -1
- package/_mjs/data/Encoder/api.mjs +1 -1
- package/_mjs/data/Encoder/api.mjs.map +1 -1
- package/_mjs/data/Encoder/definition.mjs.map +1 -1
- package/_mjs/data/Encoder.mjs.map +1 -1
- package/_mjs/data/Environment/api.mjs.map +1 -1
- package/_mjs/data/Environment/definition.mjs.map +1 -1
- package/_mjs/data/Environment.mjs.map +1 -1
- package/_mjs/data/EnvironmentPatch.mjs.map +1 -1
- package/_mjs/data/Eq/api.mjs.map +1 -1
- package/_mjs/data/Eq/definition.mjs.map +1 -1
- package/_mjs/data/Eq/derivations.mjs.map +1 -1
- package/_mjs/data/Eq.mjs.map +1 -1
- package/_mjs/data/Equatable/api.mjs.map +1 -1
- package/_mjs/data/Equatable/definition.mjs.map +1 -1
- package/_mjs/data/Equatable/fast-equals.mjs.map +1 -1
- package/_mjs/data/Equatable.mjs.map +1 -1
- package/_mjs/data/ExecutionStrategy.mjs.map +1 -1
- package/_mjs/data/Exit/api.mjs +13 -13
- package/_mjs/data/Exit/api.mjs.map +1 -1
- package/_mjs/data/Exit/constructors.mjs.map +1 -1
- package/_mjs/data/Exit/definition.mjs.map +1 -1
- package/_mjs/data/Exit.mjs.map +1 -1
- package/_mjs/data/FiberId/api.mjs.map +1 -1
- package/_mjs/data/FiberId/constructors.mjs.map +1 -1
- package/_mjs/data/FiberId/definition.mjs.map +1 -1
- package/_mjs/data/FiberId.mjs.map +1 -1
- package/_mjs/data/Guard/api.mjs +1 -1
- package/_mjs/data/Guard/api.mjs.map +1 -1
- package/_mjs/data/Guard/definition.mjs.map +1 -1
- package/_mjs/data/Guard.mjs.map +1 -1
- package/_mjs/data/Hash.mjs.map +1 -1
- package/_mjs/data/HashEq.mjs.map +1 -1
- package/_mjs/data/Hashable/definition.mjs.map +1 -1
- package/_mjs/data/Hashable/hash.mjs.map +1 -1
- package/_mjs/data/Hashable.mjs.map +1 -1
- package/_mjs/data/Identity/api.mjs.map +1 -1
- package/_mjs/data/Identity/definition.mjs.map +1 -1
- package/_mjs/data/Identity/instances.mjs.map +1 -1
- package/_mjs/data/Identity.mjs.map +1 -1
- package/_mjs/data/Interval.mjs.map +1 -1
- package/_mjs/data/Intervals.mjs.map +1 -1
- package/_mjs/data/Maybe/api.mjs.map +1 -1
- package/_mjs/data/Maybe/constructors.mjs.map +1 -1
- package/_mjs/data/Maybe/definition.mjs.map +1 -1
- package/_mjs/data/Maybe/destructors.mjs.map +1 -1
- package/_mjs/data/Maybe/instances.mjs.map +1 -1
- package/_mjs/data/Maybe.mjs.map +1 -1
- package/_mjs/data/Newtype.mjs.map +1 -1
- package/_mjs/data/Ord/api/contramap.mjs.map +1 -1
- package/_mjs/data/Ord/api/max.mjs.map +1 -1
- package/_mjs/data/Ord/api/min.mjs.map +1 -1
- package/_mjs/data/Ord/api.mjs.map +1 -1
- package/_mjs/data/Ord/definition.mjs.map +1 -1
- package/_mjs/data/Ord/instances.mjs.map +1 -1
- package/_mjs/data/Ord.mjs.map +1 -1
- package/_mjs/data/Ordering.mjs.map +1 -1
- package/_mjs/data/Predicate/api.mjs.map +1 -1
- package/_mjs/data/Predicate/definition.mjs.map +1 -1
- package/_mjs/data/Predicate.mjs.map +1 -1
- package/_mjs/data/Refinement/api.mjs.map +1 -1
- package/_mjs/data/Refinement/definition.mjs.map +1 -1
- package/_mjs/data/Refinement.mjs.map +1 -1
- package/_mjs/data/Showable/definition.mjs.map +1 -1
- package/_mjs/data/Showable/show.mjs +31 -31
- package/_mjs/data/Showable/show.mjs.map +1 -1
- package/_mjs/data/Showable/styles.mjs.map +1 -1
- package/_mjs/data/Showable/util.mjs.map +1 -1
- package/_mjs/data/Showable.mjs.map +1 -1
- package/_mjs/data/Struct/api.mjs.map +1 -1
- package/_mjs/data/Struct/definition.mjs.map +1 -1
- package/_mjs/data/Struct.mjs.map +1 -1
- package/_mjs/data/Tag/constructors.mjs.map +1 -1
- package/_mjs/data/Tag/definition.mjs.map +1 -1
- package/_mjs/data/Tag.mjs.map +1 -1
- package/_mjs/data/These/api.mjs.map +1 -1
- package/_mjs/data/These/constructors.mjs.map +1 -1
- package/_mjs/data/These/definition.mjs.map +1 -1
- package/_mjs/data/These/destructors.mjs.map +1 -1
- package/_mjs/data/These/instances.mjs.map +1 -1
- package/_mjs/data/These.mjs.map +1 -1
- package/_mjs/data/Trace/api.mjs.map +1 -1
- package/_mjs/data/Trace/constructors.mjs.map +1 -1
- package/_mjs/data/Trace/definition.mjs.map +1 -1
- package/_mjs/data/Trace.mjs.map +1 -1
- package/_mjs/data/TraceElement/definition.mjs.map +1 -1
- package/_mjs/data/TraceElement.mjs.map +1 -1
- package/_mjs/data/Zipped.mjs.map +1 -1
- package/_mjs/data/bigint/definition.mjs.map +1 -1
- package/_mjs/data/bigint/instances.mjs.map +1 -1
- package/_mjs/data/bigint.mjs.map +1 -1
- package/_mjs/data/boolean/definition.mjs.map +1 -1
- package/_mjs/data/boolean/instances.mjs.map +1 -1
- package/_mjs/data/boolean.mjs.map +1 -1
- package/_mjs/data/exceptions/ArrayIndexOutOfBoundsError.mjs.map +1 -1
- package/_mjs/data/exceptions/IOError.mjs.map +1 -1
- package/_mjs/data/exceptions/IllegalArgumentError.mjs.map +1 -1
- package/_mjs/data/exceptions/IllegalStateError.mjs.map +1 -1
- package/_mjs/data/exceptions/IndexOutOfBoundsError.mjs.map +1 -1
- package/_mjs/data/exceptions/InterruptedException.mjs.map +1 -1
- package/_mjs/data/exceptions/InvalidCapacityError.mjs.map +1 -1
- package/_mjs/data/exceptions/NoSuchElementError.mjs.map +1 -1
- package/_mjs/data/exceptions/RuntimeError.mjs.map +1 -1
- package/_mjs/data/exceptions.mjs.map +1 -1
- package/_mjs/data/function/api.mjs.map +1 -1
- package/_mjs/data/function/definition.mjs.map +1 -1
- package/_mjs/data/function/pipe.mjs.map +1 -1
- package/_mjs/data/function.mjs.map +1 -1
- package/_mjs/data/number/api.mjs.map +1 -1
- package/_mjs/data/number/definition.mjs.map +1 -1
- package/_mjs/data/number/instances.mjs.map +1 -1
- package/_mjs/data/number.mjs.map +1 -1
- package/_mjs/data/object/definition.mjs.map +1 -1
- package/_mjs/data/object/instances.mjs.map +1 -1
- package/_mjs/data/object.mjs.map +1 -1
- package/_mjs/data/string/api.mjs.map +1 -1
- package/_mjs/data/string/definition.mjs.map +1 -1
- package/_mjs/data/string/instances.mjs.map +1 -1
- package/_mjs/data/string.mjs.map +1 -1
- package/_mjs/data.mjs.map +1 -1
- package/_mjs/global/api.mjs.map +1 -1
- package/_mjs/global.mjs.map +1 -1
- package/_mjs/index.mjs.map +1 -1
- package/_mjs/internal/AtomicBoolean.mjs.map +1 -1
- package/_mjs/internal/AtomicNumber.mjs.map +1 -1
- package/_mjs/internal/AtomicReference.mjs.map +1 -1
- package/_mjs/internal/Stack.mjs.map +1 -1
- package/_mjs/json/EitherJson.mjs.map +1 -1
- package/_mjs/json/MaybeJson.mjs.map +1 -1
- package/_mjs/json/TheseJson.mjs.map +1 -1
- package/_mjs/json.mjs.map +1 -1
- package/_mjs/optics/At/api.mjs.map +1 -1
- package/_mjs/optics/At/definition.mjs.map +1 -1
- package/_mjs/optics/At.mjs.map +1 -1
- package/_mjs/optics/Fold/definition.mjs.map +1 -1
- package/_mjs/optics/Fold.mjs.map +1 -1
- package/_mjs/optics/Getter/definition.mjs.map +1 -1
- package/_mjs/optics/Getter.mjs.map +1 -1
- package/_mjs/optics/Index/api.mjs.map +1 -1
- package/_mjs/optics/Index/definition.mjs.map +1 -1
- package/_mjs/optics/Index.mjs.map +1 -1
- package/_mjs/optics/Iso/api.mjs.map +1 -1
- package/_mjs/optics/Iso/definition.mjs.map +1 -1
- package/_mjs/optics/Iso.mjs.map +1 -1
- package/_mjs/optics/Lens/api.mjs.map +1 -1
- package/_mjs/optics/Lens/definition.mjs.map +1 -1
- package/_mjs/optics/Lens.mjs.map +1 -1
- package/_mjs/optics/Optional/api/compose.mjs.map +1 -1
- package/_mjs/optics/Optional/definition.mjs.map +1 -1
- package/_mjs/optics/Optional.mjs.map +1 -1
- package/_mjs/optics/Prism/api/compose.mjs.map +1 -1
- package/_mjs/optics/Prism/api/fromNullable.mjs.map +1 -1
- package/_mjs/optics/Prism/api/just.mjs.map +1 -1
- package/_mjs/optics/Prism/definition.mjs.map +1 -1
- package/_mjs/optics/Prism.mjs.map +1 -1
- package/_mjs/optics/Setter/definition.mjs.map +1 -1
- package/_mjs/optics/Setter.mjs.map +1 -1
- package/_mjs/optics/Traversal/api/compose.mjs.map +1 -1
- package/_mjs/optics/Traversal/api/fromTraversable.mjs.map +1 -1
- package/_mjs/optics/Traversal/definition.mjs.map +1 -1
- package/_mjs/optics/Traversal.mjs.map +1 -1
- package/_mjs/optics.mjs.map +1 -1
- package/_mjs/typeclass/Align.mjs.map +1 -1
- package/_mjs/typeclass/Alt.mjs.map +1 -1
- package/_mjs/typeclass/Alternative.mjs.map +1 -1
- package/_mjs/typeclass/Applicative.mjs.map +1 -1
- package/_mjs/typeclass/ApplicativeExcept.mjs.map +1 -1
- package/_mjs/typeclass/Apply.mjs.map +1 -1
- package/_mjs/typeclass/Chain.mjs.map +1 -1
- package/_mjs/typeclass/Closure.mjs.map +1 -1
- package/_mjs/typeclass/Fail.mjs.map +1 -1
- package/_mjs/typeclass/Filterable.mjs.map +1 -1
- package/_mjs/typeclass/FilterableWithIndex.mjs.map +1 -1
- package/_mjs/typeclass/Foldable.mjs.map +1 -1
- package/_mjs/typeclass/FoldableWithIndex.mjs.map +1 -1
- package/_mjs/typeclass/Functor.mjs.map +1 -1
- package/_mjs/typeclass/FunctorWithIndex.mjs.map +1 -1
- package/_mjs/typeclass/Has.mjs.map +1 -1
- package/_mjs/typeclass/Monad.mjs.map +1 -1
- package/_mjs/typeclass/MonadExcept.mjs.map +1 -1
- package/_mjs/typeclass/Monoid.mjs.map +1 -1
- package/_mjs/typeclass/Nil.mjs.map +1 -1
- package/_mjs/typeclass/Pointed.mjs.map +1 -1
- package/_mjs/typeclass/Semialign.mjs.map +1 -1
- package/_mjs/typeclass/Semigroup/api.mjs.map +1 -1
- package/_mjs/typeclass/Semigroup/definition.mjs.map +1 -1
- package/_mjs/typeclass/Semigroup/derivations.mjs.map +1 -1
- package/_mjs/typeclass/Semigroup.mjs.map +1 -1
- package/_mjs/typeclass/Semimonoidal.mjs.map +1 -1
- package/_mjs/typeclass/Traversable.mjs.map +1 -1
- package/_mjs/typeclass/TraversableWithIndex.mjs.map +1 -1
- package/_mjs/typeclass/Witherable.mjs.map +1 -1
- package/_mjs/typeclass/WitherableWithIndex.mjs.map +1 -1
- package/_mjs/typeclass/builtin/Symbol.mjs.map +1 -1
- package/_mjs/typeclass/builtin.mjs.map +1 -1
- package/_mjs/typeclass.mjs.map +1 -1
- package/_mjs/types/extractions.mjs.map +1 -1
- package/_mjs/types/utility.mjs.map +1 -1
- package/_mjs/types.mjs.map +1 -1
- package/_mjs/util/AnsiFormat.mjs.map +1 -1
- package/_mjs/util/PCGRandom.mjs.map +1 -1
- package/_mjs/util/assert.mjs.map +1 -1
- package/_mjs/util/pattern.mjs.map +1 -1
- package/_mjs/util/predicates.mjs.map +1 -1
- package/_mjs/util/rand/Random.mjs.map +1 -1
- package/_mjs/util/rand/distribution/Distribution.mjs.map +1 -1
- package/_mjs/util/rand/distribution/UniformArrayIntDistribution.mjs.map +1 -1
- package/_mjs/util/rand/distribution/UniformBigIntDistribution.mjs.map +1 -1
- package/_mjs/util/rand/distribution/UniformIntDistribution.mjs.map +1 -1
- package/_mjs/util/rand/distribution/internals/ArrayInt.mjs.map +1 -1
- package/_mjs/util/rand/distribution/internals/UniformArrayIntDistributionInternal.mjs.map +1 -1
- package/_mjs/util/rand/distribution/internals/UniformIntDistributionInternal.mjs.map +1 -1
- package/_mjs/util/rand/generator/MersenneTwister.mjs.map +1 -1
- package/_mjs/util/rand/generator/RandomGenerator.mjs.map +1 -1
- package/_mjs/util/rand.mjs.map +1 -1
- package/_mjs/util.mjs.map +1 -1
- package/_src/collection/immutable/HashSet/api.ts +12 -1
- package/_src/collection/immutable/HashSet/definition.ts +2 -2
- package/_src/control/Eval/api.ts +5 -2
- package/_src/control/Eval/constructors.ts +10 -3
- package/_src/control/Eval/definition.ts +39 -27
- package/_src/control/Eval/run.ts +7 -7
- package/_src/control/Pure/api.ts +629 -0
- package/_src/control/Pure/definition.ts +222 -0
- package/_src/control/{Z → Pure}/instances.ts +3 -3
- package/_src/control/{Z → Pure}/runtime.ts +73 -76
- package/_src/control/Pure.ts +6 -0
- package/_src/control.ts +1 -1
- package/_src/data/Cause/api/fold.ts +2 -2
- package/_src/data/Cause/api/isEmpty.ts +2 -2
- package/_src/data/Cause/api/linearize.ts +2 -2
- package/_src/data/Cause/api/unified.ts +2 -2
- package/_src/data/Cause/api.ts +66 -55
- package/_src/data/Cause/definition.ts +59 -59
- package/_src/data/Decoder/api.ts +1 -1
- package/_src/data/Duration/api.ts +10 -0
- package/_src/data/Encoder/api.ts +1 -1
- package/_src/data/Exit/api.ts +12 -8
- package/_src/data/Guard/api.ts +1 -1
- package/_src/data/Showable/show.ts +55 -53
- package/_src/global.ts +1 -1
- package/collection/immutable/HashSet/api.d.ts +5 -0
- package/collection/immutable/HashSet/definition.d.ts +1 -1
- package/control/Eval/constructors.d.ts +4 -0
- package/control/Eval/definition.d.ts +25 -28
- package/control/Pure/api.d.ts +345 -0
- package/control/Pure/definition.d.ts +156 -0
- package/control/Pure/instances.d.ts +8 -0
- package/control/Pure/runtime.d.ts +56 -0
- package/control/Pure.d.ts +4 -0
- package/control.d.ts +1 -1
- package/data/Cause/api.d.ts +9 -9
- package/data/Cause/definition.d.ts +15 -14
- package/data/Duration/api.d.ts +6 -0
- package/data/Showable/show.d.ts +2 -2
- package/global.d.ts +1 -1
- package/package.json +1 -1
- package/_cjs/control/Z/api.cjs.map +0 -1
- package/_cjs/control/Z/definition.cjs +0 -163
- package/_cjs/control/Z/definition.cjs.map +0 -1
- package/_cjs/control/Z/instances.cjs.map +0 -1
- package/_cjs/control/Z/runtime.cjs.map +0 -1
- package/_cjs/control/Z.cjs.map +0 -1
- package/_mjs/control/Z/api.mjs.map +0 -1
- package/_mjs/control/Z/definition.mjs +0 -145
- package/_mjs/control/Z/definition.mjs.map +0 -1
- package/_mjs/control/Z/instances.mjs.map +0 -1
- package/_mjs/control/Z/runtime.mjs.map +0 -1
- package/_mjs/control/Z.mjs +0 -6
- package/_mjs/control/Z.mjs.map +0 -1
- package/_src/control/Z/api.ts +0 -590
- package/_src/control/Z/definition.ts +0 -199
- package/_src/control/Z.ts +0 -6
- package/control/Z/api.d.ts +0 -345
- package/control/Z/definition.d.ts +0 -151
- package/control/Z/instances.d.ts +0 -8
- package/control/Z/runtime.d.ts +0 -56
- package/control/Z.d.ts +0 -4
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
export interface PureF extends HKT {
|
|
2
|
+
type: Pure<this["W"], this["S"], this["S"], this["R"], this["E"], this["A"]>;
|
|
3
|
+
variance: {
|
|
4
|
+
W: "+";
|
|
5
|
+
S: "_";
|
|
6
|
+
R: "-";
|
|
7
|
+
E: "+";
|
|
8
|
+
A: "+";
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export const PureVariance = Symbol.for("fncts.Pure.Variance");
|
|
13
|
+
export type PureVariance = typeof PureVariance;
|
|
14
|
+
|
|
15
|
+
export const PureTypeId = Symbol.for("fncts.Pure");
|
|
16
|
+
export type PureTypeId = typeof PureTypeId;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* `Pure<W, S1, S2, R, E, A>` is a purely functional description of a synchronous computation
|
|
20
|
+
* that requires an environment `R` and an initial state `S1` and may either
|
|
21
|
+
* fail with an `E` or succeed with an updated state `S2` and an `A`. Because
|
|
22
|
+
* of its polymorphism `Z` can be used to model a variety of effects
|
|
23
|
+
* including context, state, failure, and logging.
|
|
24
|
+
*
|
|
25
|
+
* @tsplus type fncts.control.Pure
|
|
26
|
+
* @tsplus companion fncts.control.PureOps
|
|
27
|
+
*/
|
|
28
|
+
export abstract class Pure<W, S1, S2, R, E, A> {
|
|
29
|
+
readonly [PureTypeId]: PureTypeId = PureTypeId;
|
|
30
|
+
declare [PureVariance]: {
|
|
31
|
+
readonly _W: (_: never) => W;
|
|
32
|
+
readonly _S1: (_: S1) => void;
|
|
33
|
+
readonly _S2: (_: never) => S2;
|
|
34
|
+
readonly _R: (_: never) => R;
|
|
35
|
+
readonly _E: (_: never) => E;
|
|
36
|
+
readonly _A: (_: never) => A;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* @tsplus unify fncts.control.Pure
|
|
42
|
+
*/
|
|
43
|
+
export function unifyPure<X extends Pure<any, any, any, any, any, any>>(
|
|
44
|
+
_: X,
|
|
45
|
+
): Pure<
|
|
46
|
+
[X] extends [Pure<infer W, any, any, any, any, any>] ? W : never,
|
|
47
|
+
[X] extends [Pure<any, infer S1, any, any, any, any>] ? S1 : never,
|
|
48
|
+
[X] extends [Pure<any, any, infer S2, any, any, any>] ? S2 : never,
|
|
49
|
+
[X] extends [Pure<any, any, any, infer R, any, any>] ? R : never,
|
|
50
|
+
[X] extends [Pure<any, any, any, any, infer E, any>] ? E : never,
|
|
51
|
+
[X] extends [Pure<any, any, any, any, any, infer A>] ? A : never
|
|
52
|
+
> {
|
|
53
|
+
return _;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export class PurePrimitive {
|
|
57
|
+
readonly [PureTypeId]: PureTypeId = PureTypeId;
|
|
58
|
+
declare [PureVariance]: {
|
|
59
|
+
readonly _W: (_: never) => never;
|
|
60
|
+
readonly _S1: (_: unknown) => void;
|
|
61
|
+
readonly _S2: (_: never) => never;
|
|
62
|
+
readonly _R: (_: never) => never;
|
|
63
|
+
readonly _E: (_: never) => never;
|
|
64
|
+
readonly _A: (_: never) => never;
|
|
65
|
+
};
|
|
66
|
+
constructor(readonly _tag: unknown) {}
|
|
67
|
+
readonly i0: unknown = undefined;
|
|
68
|
+
readonly i1: unknown = undefined;
|
|
69
|
+
readonly i2: unknown = undefined;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* @tsplus static fncts.control.PureOps isPure
|
|
74
|
+
*/
|
|
75
|
+
export function isPure(u: unknown): u is Pure<unknown, unknown, unknown, unknown, unknown, unknown> {
|
|
76
|
+
return isObject(u) && PureTypeId in u;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export const enum PureTag {
|
|
80
|
+
SucceedNow,
|
|
81
|
+
Succeed,
|
|
82
|
+
Defer,
|
|
83
|
+
Fail,
|
|
84
|
+
Modify,
|
|
85
|
+
Chain,
|
|
86
|
+
Match,
|
|
87
|
+
Access,
|
|
88
|
+
Provide,
|
|
89
|
+
Tell,
|
|
90
|
+
Listen,
|
|
91
|
+
MapLog,
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export type PureOp<Tag extends number, Body = {}> = PurePrimitive &
|
|
95
|
+
Body & {
|
|
96
|
+
_tag: Tag;
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
export interface SucceedNow
|
|
100
|
+
extends PureOp<
|
|
101
|
+
PureTag.SucceedNow,
|
|
102
|
+
{
|
|
103
|
+
readonly i0: any;
|
|
104
|
+
}
|
|
105
|
+
> {}
|
|
106
|
+
|
|
107
|
+
export interface Succeed
|
|
108
|
+
extends PureOp<
|
|
109
|
+
PureTag.Succeed,
|
|
110
|
+
{
|
|
111
|
+
readonly i0: () => any;
|
|
112
|
+
}
|
|
113
|
+
> {}
|
|
114
|
+
|
|
115
|
+
export interface Defer
|
|
116
|
+
extends PureOp<
|
|
117
|
+
PureTag.Defer,
|
|
118
|
+
{
|
|
119
|
+
readonly i0: () => Primitive;
|
|
120
|
+
}
|
|
121
|
+
> {}
|
|
122
|
+
|
|
123
|
+
export interface Fail
|
|
124
|
+
extends PureOp<
|
|
125
|
+
PureTag.Fail,
|
|
126
|
+
{
|
|
127
|
+
readonly i0: Cause<unknown>;
|
|
128
|
+
}
|
|
129
|
+
> {}
|
|
130
|
+
|
|
131
|
+
export interface Modify
|
|
132
|
+
extends PureOp<
|
|
133
|
+
PureTag.Modify,
|
|
134
|
+
{
|
|
135
|
+
readonly i0: (s1: any) => readonly [any, any];
|
|
136
|
+
}
|
|
137
|
+
> {}
|
|
138
|
+
|
|
139
|
+
export interface FlatMap
|
|
140
|
+
extends PureOp<
|
|
141
|
+
PureTag.Chain,
|
|
142
|
+
{
|
|
143
|
+
readonly i0: Primitive;
|
|
144
|
+
readonly i1: (a: any) => Primitive;
|
|
145
|
+
}
|
|
146
|
+
> {}
|
|
147
|
+
|
|
148
|
+
export interface Match
|
|
149
|
+
extends PureOp<
|
|
150
|
+
PureTag.Match,
|
|
151
|
+
{
|
|
152
|
+
readonly i0: Primitive;
|
|
153
|
+
readonly i1: (ws: Conc<any>, e: Cause<unknown>) => Primitive;
|
|
154
|
+
readonly i2: (ws: Conc<any>, a: any) => Primitive;
|
|
155
|
+
}
|
|
156
|
+
> {}
|
|
157
|
+
|
|
158
|
+
export interface Access
|
|
159
|
+
extends PureOp<
|
|
160
|
+
PureTag.Access,
|
|
161
|
+
{
|
|
162
|
+
readonly i0: (r: Environment<any>) => Primitive;
|
|
163
|
+
}
|
|
164
|
+
> {}
|
|
165
|
+
|
|
166
|
+
export interface Provide
|
|
167
|
+
extends PureOp<
|
|
168
|
+
PureTag.Provide,
|
|
169
|
+
{
|
|
170
|
+
readonly i0: Primitive;
|
|
171
|
+
readonly i1: Environment<any>;
|
|
172
|
+
}
|
|
173
|
+
> {}
|
|
174
|
+
|
|
175
|
+
export interface Tell
|
|
176
|
+
extends PureOp<
|
|
177
|
+
PureTag.Tell,
|
|
178
|
+
{
|
|
179
|
+
readonly i0: Conc<any>;
|
|
180
|
+
}
|
|
181
|
+
> {}
|
|
182
|
+
|
|
183
|
+
export interface MapLog
|
|
184
|
+
extends PureOp<
|
|
185
|
+
PureTag.MapLog,
|
|
186
|
+
{
|
|
187
|
+
readonly i0: Primitive;
|
|
188
|
+
readonly i1: (ws: Conc<any>) => Conc<any>;
|
|
189
|
+
}
|
|
190
|
+
> {}
|
|
191
|
+
|
|
192
|
+
export type Primitive =
|
|
193
|
+
| SucceedNow
|
|
194
|
+
| Fail
|
|
195
|
+
| Modify
|
|
196
|
+
| FlatMap
|
|
197
|
+
| Match
|
|
198
|
+
| Access
|
|
199
|
+
| Provide
|
|
200
|
+
| Defer
|
|
201
|
+
| Succeed
|
|
202
|
+
| Tell
|
|
203
|
+
| MapLog;
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* @tsplus static fncts.control.PureOps concrete
|
|
207
|
+
*/
|
|
208
|
+
export function concrete(_: Pure<any, any, any, any, any, any>): asserts _ is Primitive {
|
|
209
|
+
//
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
export const PureErrorTypeId = Symbol.for("fncts.Pure.ZError");
|
|
213
|
+
export type PureErrorTypeId = typeof PureErrorTypeId;
|
|
214
|
+
|
|
215
|
+
export class PureError<E> {
|
|
216
|
+
readonly [PureErrorTypeId]: PureErrorTypeId = PureErrorTypeId;
|
|
217
|
+
constructor(readonly cause: Cause<E>) {}
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
export function isPureError(u: unknown): u is PureError<unknown> {
|
|
221
|
+
return isObject(u) && PureErrorTypeId in u;
|
|
222
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type * as P from "../../typeclass.js";
|
|
2
|
-
import type {
|
|
2
|
+
import type { PureF } from "./definition.js";
|
|
3
3
|
|
|
4
4
|
import { map, succeedNow, zip, zipWith } from "./api.js";
|
|
5
5
|
/**
|
|
6
|
-
* @tsplus static fncts.control.
|
|
6
|
+
* @tsplus static fncts.control.PureOps Applicative
|
|
7
7
|
* @tsplus implicit
|
|
8
8
|
*/
|
|
9
|
-
export const Applicative = HKT.instance<P.Applicative<
|
|
9
|
+
export const Applicative = HKT.instance<P.Applicative<PureF>>({
|
|
10
10
|
map,
|
|
11
11
|
zip,
|
|
12
12
|
zipWith,
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { identity } from "../../data/function.js";
|
|
2
2
|
import { Stack } from "../../internal/Stack.js";
|
|
3
|
-
import { concrete,
|
|
3
|
+
import { concrete, isPureError, PurePrimitive, PureTag } from "./definition.js";
|
|
4
4
|
|
|
5
5
|
class MatchFrame {
|
|
6
|
-
readonly
|
|
6
|
+
readonly _tag = "MatchFrame";
|
|
7
7
|
constructor(
|
|
8
|
-
readonly failure: (e: any) =>
|
|
9
|
-
readonly apply: (a: any) =>
|
|
8
|
+
readonly failure: (e: any) => Pure<any, any, any, any, any, any>,
|
|
9
|
+
readonly apply: (a: any) => Pure<any, any, any, any, any, any>,
|
|
10
10
|
) {}
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
class ApplyFrame {
|
|
14
|
-
readonly
|
|
15
|
-
constructor(readonly apply: (e: any) =>
|
|
14
|
+
readonly _tag = "ApplyFrame";
|
|
15
|
+
constructor(readonly apply: (e: any) => Pure<any, any, any, any, any, any>) {}
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
type Frame = MatchFrame | ApplyFrame;
|
|
@@ -21,16 +21,16 @@ type Frame = MatchFrame | ApplyFrame;
|
|
|
21
21
|
* Runs this computation with the specified initial state, returning either a
|
|
22
22
|
* failure or the updated state and the result
|
|
23
23
|
*
|
|
24
|
-
* @tsplus pipeable fncts.control.
|
|
24
|
+
* @tsplus pipeable fncts.control.Pure unsafeRunAll
|
|
25
25
|
*/
|
|
26
26
|
export function unsafeRunAll<S1>(s: S1) {
|
|
27
|
-
return <W, S2, E, A>(ma:
|
|
27
|
+
return <W, S2, E, A>(ma: Pure<W, S1, S2, never, E, A>): readonly [Conc<W>, Exit<E, readonly [S2, A]>] => {
|
|
28
28
|
const stack: Stack<Frame> = Stack();
|
|
29
29
|
let s0 = s as any;
|
|
30
30
|
let result: any = null;
|
|
31
31
|
const environment = Stack<Environment<unknown>>();
|
|
32
32
|
let failed = false;
|
|
33
|
-
let current = ma as
|
|
33
|
+
let current = ma as Pure<any, any, any, any, any, any> | undefined;
|
|
34
34
|
let log = Conc.empty<W>();
|
|
35
35
|
function unsafeUnwindStack() {
|
|
36
36
|
let unwinding = true;
|
|
@@ -39,7 +39,7 @@ export function unsafeRunAll<S1>(s: S1) {
|
|
|
39
39
|
if (next == null) {
|
|
40
40
|
unwinding = false;
|
|
41
41
|
} else {
|
|
42
|
-
if (next.
|
|
42
|
+
if (next._tag === "MatchFrame") {
|
|
43
43
|
unwinding = false;
|
|
44
44
|
stack.push(new ApplyFrame(next.failure));
|
|
45
45
|
}
|
|
@@ -49,24 +49,24 @@ export function unsafeRunAll<S1>(s: S1) {
|
|
|
49
49
|
while (current != null) {
|
|
50
50
|
try {
|
|
51
51
|
while (current != null) {
|
|
52
|
-
const
|
|
53
|
-
concrete(
|
|
54
|
-
switch (
|
|
55
|
-
case
|
|
56
|
-
const nested =
|
|
57
|
-
const continuation =
|
|
52
|
+
const currPure: Pure<any, any, any, any, any, any> = current;
|
|
53
|
+
concrete(currPure);
|
|
54
|
+
switch (currPure._tag) {
|
|
55
|
+
case PureTag.Chain: {
|
|
56
|
+
const nested = currPure.i0;
|
|
57
|
+
const continuation = currPure.i1;
|
|
58
58
|
concrete(nested);
|
|
59
59
|
switch (nested._tag) {
|
|
60
|
-
case
|
|
61
|
-
current = continuation(nested.
|
|
60
|
+
case PureTag.SucceedNow: {
|
|
61
|
+
current = continuation(nested.i0);
|
|
62
62
|
break;
|
|
63
63
|
}
|
|
64
|
-
case
|
|
65
|
-
current = continuation(nested.
|
|
64
|
+
case PureTag.Succeed: {
|
|
65
|
+
current = continuation(nested.i0());
|
|
66
66
|
break;
|
|
67
67
|
}
|
|
68
|
-
case
|
|
69
|
-
const updated = nested.
|
|
68
|
+
case PureTag.Modify: {
|
|
69
|
+
const updated = nested.i0(s0);
|
|
70
70
|
result = updated[0];
|
|
71
71
|
s0 = updated[1];
|
|
72
72
|
current = continuation(result);
|
|
@@ -80,8 +80,8 @@ export function unsafeRunAll<S1>(s: S1) {
|
|
|
80
80
|
}
|
|
81
81
|
break;
|
|
82
82
|
}
|
|
83
|
-
case
|
|
84
|
-
result =
|
|
83
|
+
case PureTag.Succeed: {
|
|
84
|
+
result = currPure.i0();
|
|
85
85
|
const nextInstruction = stack.pop();
|
|
86
86
|
if (nextInstruction) {
|
|
87
87
|
current = nextInstruction.apply(result);
|
|
@@ -90,12 +90,12 @@ export function unsafeRunAll<S1>(s: S1) {
|
|
|
90
90
|
}
|
|
91
91
|
break;
|
|
92
92
|
}
|
|
93
|
-
case
|
|
94
|
-
current =
|
|
93
|
+
case PureTag.Defer: {
|
|
94
|
+
current = currPure.i0();
|
|
95
95
|
break;
|
|
96
96
|
}
|
|
97
|
-
case
|
|
98
|
-
result =
|
|
97
|
+
case PureTag.SucceedNow: {
|
|
98
|
+
result = currPure.i0;
|
|
99
99
|
const nextInstr = stack.pop();
|
|
100
100
|
if (nextInstr) {
|
|
101
101
|
current = nextInstr.apply(result);
|
|
@@ -104,30 +104,30 @@ export function unsafeRunAll<S1>(s: S1) {
|
|
|
104
104
|
}
|
|
105
105
|
break;
|
|
106
106
|
}
|
|
107
|
-
case
|
|
107
|
+
case PureTag.Fail: {
|
|
108
108
|
unsafeUnwindStack();
|
|
109
109
|
const nextInst = stack.pop();
|
|
110
110
|
if (nextInst) {
|
|
111
|
-
current = nextInst.apply(
|
|
111
|
+
current = nextInst.apply(currPure.i0);
|
|
112
112
|
} else {
|
|
113
113
|
failed = true;
|
|
114
|
-
result =
|
|
114
|
+
result = currPure.i0;
|
|
115
115
|
current = undefined;
|
|
116
116
|
}
|
|
117
117
|
break;
|
|
118
118
|
}
|
|
119
|
-
case
|
|
120
|
-
current =
|
|
119
|
+
case PureTag.Match: {
|
|
120
|
+
current = currPure.i0;
|
|
121
121
|
const state = s0;
|
|
122
122
|
stack.push(
|
|
123
123
|
new MatchFrame(
|
|
124
124
|
(cause: Cause<any>) => {
|
|
125
|
-
const m =
|
|
125
|
+
const m = Pure.put(state).flatMap(() => currPure.i1(log, cause));
|
|
126
126
|
log = Conc.empty();
|
|
127
127
|
return m;
|
|
128
128
|
},
|
|
129
129
|
(a) => {
|
|
130
|
-
const m =
|
|
130
|
+
const m = currPure.i2(log, a);
|
|
131
131
|
log = Conc.empty();
|
|
132
132
|
return m;
|
|
133
133
|
},
|
|
@@ -135,20 +135,20 @@ export function unsafeRunAll<S1>(s: S1) {
|
|
|
135
135
|
);
|
|
136
136
|
break;
|
|
137
137
|
}
|
|
138
|
-
case
|
|
139
|
-
current =
|
|
138
|
+
case PureTag.Access: {
|
|
139
|
+
current = currPure.i0(environment.peek() ?? Environment());
|
|
140
140
|
break;
|
|
141
141
|
}
|
|
142
|
-
case
|
|
143
|
-
environment.push(
|
|
144
|
-
current
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
);
|
|
142
|
+
case PureTag.Provide: {
|
|
143
|
+
environment.push(currPure.i1);
|
|
144
|
+
current = new PurePrimitive(PureTag.Match) as any;
|
|
145
|
+
(current as any).i0 = currPure;
|
|
146
|
+
(current as any).i1 = (e: any) => Pure.succeedNow(environment.pop()).flatMap(() => Pure.failNow(e));
|
|
147
|
+
(current as any).i2 = (a: any) => Pure.succeedNow(environment.pop()).flatMap(() => Pure.succeedNow(a));
|
|
148
148
|
break;
|
|
149
149
|
}
|
|
150
|
-
case
|
|
151
|
-
const updated =
|
|
150
|
+
case PureTag.Modify: {
|
|
151
|
+
const updated = currPure.i0(s0);
|
|
152
152
|
s0 = updated[1];
|
|
153
153
|
result = updated[0];
|
|
154
154
|
const nextInst = stack.pop();
|
|
@@ -159,8 +159,8 @@ export function unsafeRunAll<S1>(s: S1) {
|
|
|
159
159
|
}
|
|
160
160
|
break;
|
|
161
161
|
}
|
|
162
|
-
case
|
|
163
|
-
log =
|
|
162
|
+
case PureTag.Tell: {
|
|
163
|
+
log = currPure.i0;
|
|
164
164
|
const nextInst = stack.pop();
|
|
165
165
|
if (nextInst) {
|
|
166
166
|
current = nextInst.apply(result);
|
|
@@ -169,17 +169,17 @@ export function unsafeRunAll<S1>(s: S1) {
|
|
|
169
169
|
}
|
|
170
170
|
break;
|
|
171
171
|
}
|
|
172
|
-
case
|
|
173
|
-
current =
|
|
172
|
+
case PureTag.MapLog: {
|
|
173
|
+
current = currPure.i0;
|
|
174
174
|
stack.push(
|
|
175
175
|
new MatchFrame(
|
|
176
176
|
(cause: Cause<any>) => {
|
|
177
|
-
log =
|
|
178
|
-
return
|
|
177
|
+
log = currPure.i1(log);
|
|
178
|
+
return Pure.failCauseNow(cause);
|
|
179
179
|
},
|
|
180
180
|
(a) => {
|
|
181
|
-
log =
|
|
182
|
-
return
|
|
181
|
+
log = currPure.i1(log);
|
|
182
|
+
return Pure.succeedNow(a);
|
|
183
183
|
},
|
|
184
184
|
),
|
|
185
185
|
);
|
|
@@ -187,8 +187,8 @@ export function unsafeRunAll<S1>(s: S1) {
|
|
|
187
187
|
}
|
|
188
188
|
}
|
|
189
189
|
} catch (e) {
|
|
190
|
-
if (
|
|
191
|
-
current =
|
|
190
|
+
if (isPureError(e)) {
|
|
191
|
+
current = Pure.failCauseNow(e.cause);
|
|
192
192
|
} else {
|
|
193
193
|
failed = true;
|
|
194
194
|
result = Cause.halt(e);
|
|
@@ -206,13 +206,12 @@ export function unsafeRunAll<S1>(s: S1) {
|
|
|
206
206
|
* Runs this computation with the specified initial state, returning both
|
|
207
207
|
* the updated state and the result.
|
|
208
208
|
*
|
|
209
|
-
* @tsplus pipeable fncts.control.
|
|
209
|
+
* @tsplus pipeable fncts.control.Pure unsafeRun
|
|
210
210
|
*/
|
|
211
211
|
export function unsafeRun<S1>(s: S1) {
|
|
212
|
-
return <W, S2, A>(ma:
|
|
212
|
+
return <W, S2, A>(ma: Pure<W, S1, S2, never, never, A>): readonly [S2, A] => {
|
|
213
213
|
return ma.unsafeRunAll(s)[1].match((cause) => {
|
|
214
|
-
|
|
215
|
-
throw new Error();
|
|
214
|
+
throw cause.squashWith(Function.identity);
|
|
216
215
|
}, identity);
|
|
217
216
|
};
|
|
218
217
|
}
|
|
@@ -220,19 +219,19 @@ export function unsafeRun<S1>(s: S1) {
|
|
|
220
219
|
/**
|
|
221
220
|
* Runs this computation, returning the result.
|
|
222
221
|
*
|
|
223
|
-
* @tsplus getter fncts.control.
|
|
222
|
+
* @tsplus getter fncts.control.Pure unsafeRunResult
|
|
224
223
|
*/
|
|
225
|
-
export function unsafeRunResult<W, A>(ma:
|
|
224
|
+
export function unsafeRunResult<W, A>(ma: Pure<W, unknown, unknown, never, never, A>): A {
|
|
226
225
|
return ma.unsafeRun({})[1];
|
|
227
226
|
}
|
|
228
227
|
|
|
229
228
|
/**
|
|
230
229
|
* Runs this computation with the given environment, returning the result.
|
|
231
230
|
*
|
|
232
|
-
* @tsplus pipeable fncts.control.
|
|
231
|
+
* @tsplus pipeable fncts.control.Pure unsafeRunReader
|
|
233
232
|
*/
|
|
234
233
|
export function unsafeRunReader<R>(r: Environment<R>) {
|
|
235
|
-
return <W, A>(ma:
|
|
234
|
+
return <W, A>(ma: Pure<W, unknown, never, R, never, A>): A => {
|
|
236
235
|
return unsafeRunResult(ma.provideEnvironment(r));
|
|
237
236
|
};
|
|
238
237
|
}
|
|
@@ -241,10 +240,10 @@ export function unsafeRunReader<R>(r: Environment<R>) {
|
|
|
241
240
|
* Runs this computation with the specified initial state, returning the
|
|
242
241
|
* updated state and discarding the result.
|
|
243
242
|
*
|
|
244
|
-
* @tsplus pipeable fncts.control.
|
|
243
|
+
* @tsplus pipeable fncts.control.Pure unsafeRunState
|
|
245
244
|
*/
|
|
246
245
|
export function unsafeRunState<S1>(s: S1) {
|
|
247
|
-
return <W, S2, A>(ma:
|
|
246
|
+
return <W, S2, A>(ma: Pure<W, S1, S2, never, never, A>): S2 => {
|
|
248
247
|
return ma.unsafeRun(s)[0];
|
|
249
248
|
};
|
|
250
249
|
}
|
|
@@ -253,14 +252,13 @@ export function unsafeRunState<S1>(s: S1) {
|
|
|
253
252
|
* Runs this computation with the specified initial state, returning the
|
|
254
253
|
* result and discarding the updated state.
|
|
255
254
|
*
|
|
256
|
-
* @tsplus pipeable fncts.control.
|
|
255
|
+
* @tsplus pipeable fncts.control.Pure unsafeRunStateResult
|
|
257
256
|
*/
|
|
258
257
|
export function unsafeRunStateResult<S1>(s: S1) {
|
|
259
|
-
return <W, S2, A>(ma:
|
|
258
|
+
return <W, S2, A>(ma: Pure<W, S1, S2, never, never, A>): A => {
|
|
260
259
|
return ma.unsafeRunAll(s)[1].match(
|
|
261
260
|
(cause) => {
|
|
262
|
-
|
|
263
|
-
throw new Error();
|
|
261
|
+
throw cause.squashWith(Function.identity);
|
|
264
262
|
},
|
|
265
263
|
([_, a]) => a,
|
|
266
264
|
);
|
|
@@ -270,22 +268,21 @@ export function unsafeRunStateResult<S1>(s: S1) {
|
|
|
270
268
|
/**
|
|
271
269
|
* Runs this computation returning either the result or error
|
|
272
270
|
*
|
|
273
|
-
* @tsplus getter fncts.control.
|
|
271
|
+
* @tsplus getter fncts.control.Pure unsafeRunExit
|
|
274
272
|
*/
|
|
275
|
-
export function unsafeRunExit<E, A>(ma:
|
|
273
|
+
export function unsafeRunExit<E, A>(ma: Pure<never, unknown, unknown, never, E, A>): Exit<E, A> {
|
|
276
274
|
return ma.unsafeRunAll({} as never)[1].map(([_, a]) => a);
|
|
277
275
|
}
|
|
278
276
|
|
|
279
277
|
/**
|
|
280
278
|
*
|
|
281
|
-
* @tsplus getter fncts.control.
|
|
279
|
+
* @tsplus getter fncts.control.Pure unsafeRunWriter
|
|
282
280
|
*/
|
|
283
|
-
export function unsafeRunWriter<W, A>(ma:
|
|
281
|
+
export function unsafeRunWriter<W, A>(ma: Pure<W, unknown, unknown, never, never, A>): readonly [Conc<W>, A] {
|
|
284
282
|
const [w, exit] = ma.unsafeRunAll({});
|
|
285
283
|
return exit.match(
|
|
286
|
-
() => {
|
|
287
|
-
|
|
288
|
-
throw new Error();
|
|
284
|
+
(cause) => {
|
|
285
|
+
throw cause.squashWith(Function.identity);
|
|
289
286
|
},
|
|
290
287
|
([_, a]) => [w, a],
|
|
291
288
|
);
|
package/_src/control.ts
CHANGED
|
@@ -47,9 +47,9 @@ function foldLoop<E, Z>(
|
|
|
47
47
|
return foldLoop(cases, causes, out.prepend(Either.right(cases.Halt(head.value, head.trace))));
|
|
48
48
|
case CauseTag.Interrupt:
|
|
49
49
|
return foldLoop(cases, causes, out.prepend(Either.right(cases.Interrupt(head.id, head.trace))));
|
|
50
|
-
case CauseTag.
|
|
50
|
+
case CauseTag.Parallel:
|
|
51
51
|
return foldLoop(cases, Cons(head.left, Cons(head.right, causes)), out.prepend(Either.left(_BothCase)));
|
|
52
|
-
case CauseTag.
|
|
52
|
+
case CauseTag.Sequential:
|
|
53
53
|
return foldLoop(cases, Cons(head.left, Cons(head.right, causes)), out.prepend(Either.left(_ThenCase)));
|
|
54
54
|
case CauseTag.Stackless:
|
|
55
55
|
return foldLoop(cases, causes.prepend(head.cause), out.prepend(Either.left(new StacklessCase(head.stackless))));
|
|
@@ -23,12 +23,12 @@ export function isEmpty<E>(cause: Cause<E>): boolean {
|
|
|
23
23
|
case CauseTag.Interrupt: {
|
|
24
24
|
return false;
|
|
25
25
|
}
|
|
26
|
-
case CauseTag.
|
|
26
|
+
case CauseTag.Sequential: {
|
|
27
27
|
causes.push(current.right);
|
|
28
28
|
current = current.left;
|
|
29
29
|
break;
|
|
30
30
|
}
|
|
31
|
-
case CauseTag.
|
|
31
|
+
case CauseTag.Parallel: {
|
|
32
32
|
causes.push(current.right);
|
|
33
33
|
current = current.left;
|
|
34
34
|
break;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fail, Halt, Interrupt, Stackless
|
|
1
|
+
import { Fail, Halt, Interrupt, Sequential,Stackless } from "../definition.js";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @tsplus getter fncts.Cause linearize
|
|
@@ -9,7 +9,7 @@ export function linearize<E>(self: Cause<E>): HashSet<Cause<E>> {
|
|
|
9
9
|
Fail: (e, trace) => HashSet.empty<Cause<E>>().add(Fail(e, trace)),
|
|
10
10
|
Halt: (t, trace) => HashSet.empty<Cause<E>>().add(Halt(t, trace)),
|
|
11
11
|
Interrupt: (fiberId, trace) => HashSet.empty<Cause<E>>().add(Interrupt(fiberId, trace)),
|
|
12
|
-
Then: (l, r) => l.flatMap((l) => r.map((r) =>
|
|
12
|
+
Then: (l, r) => l.flatMap((l) => r.map((r) => Sequential(l, r))),
|
|
13
13
|
Both: (l, r) => l.union(r),
|
|
14
14
|
Stackless: (cause, stackless) => cause.map((c) => Stackless(c, stackless)),
|
|
15
15
|
});
|
|
@@ -44,9 +44,9 @@ function unifyLoop<E>(
|
|
|
44
44
|
switch (head._tag) {
|
|
45
45
|
case CauseTag.Empty:
|
|
46
46
|
return unifyLoop(more, fiberId, stackless, result);
|
|
47
|
-
case CauseTag.
|
|
47
|
+
case CauseTag.Parallel:
|
|
48
48
|
return unifyLoop(Cons(head.left, Cons(head.right, more)), fiberId, stackless, result);
|
|
49
|
-
case CauseTag.
|
|
49
|
+
case CauseTag.Sequential:
|
|
50
50
|
return unifyLoop(Cons(head.left, Cons(head.right, more)), fiberId, stackless, result);
|
|
51
51
|
case CauseTag.Stackless:
|
|
52
52
|
return unifyLoop(Cons(head.cause, more), fiberId, head.stackless, result);
|