git.iko.soy/rowtype-yoga/purescript-yoga-capnweb-om
on main help sign in
Prepare for registry publish v0.1.0
commitce327fec547c11256e33f83e9aae556e8e808f5f authorMark <mark.eibes@gmail.com> dateSun 15 Feb 2026, 23:41 (8 months ago) parent0372dda
3131 files changed+274−169009
.gitignore+6 .spago/BuildInfo.purs−15 .spago/p/aff-8.0.0/LICENSE−202 .spago/p/aff-8.0.0/README.md−50 .spago/p/aff-8.0.0/bower.json−42 .spago/p/aff-8.0.0/package.json−11 .spago/p/aff-8.0.0/packages.dhall−5 .spago/p/aff-8.0.0/purs.json−28 .spago/p/aff-8.0.0/spago.dhall−28 .spago/p/aff-8.0.0/src/Effect/Aff.js−1154 .spago/p/aff-8.0.0/src/Effect/Aff.purs−414 .spago/p/aff-8.0.0/src/Effect/Aff/Class.purs−44 .spago/p/aff-8.0.0/src/Effect/Aff/Compat.purs−53 .spago/p/aff-promise-4.0.0/LICENSE−21 .spago/p/aff-promise-4.0.0/README.md−70 .spago/p/aff-promise-4.0.0/bower.json−25 .spago/p/aff-promise-4.0.0/package.json−23 .spago/p/aff-promise-4.0.0/packages.dhall−107 .spago/p/aff-promise-4.0.0/purs.json−13 .spago/p/aff-promise-4.0.0/spago.dhall−30 .spago/p/aff-promise-4.0.0/src/Control/Promise.js−24 .spago/p/aff-promise-4.0.0/src/Control/Promise.purs−56 .spago/p/aff-retry-2.0.0/LICENSE−21 .spago/p/aff-retry-2.0.0/README.md−42 .spago/p/aff-retry-2.0.0/bower.json−37 .spago/p/aff-retry-2.0.0/packages.dhall−105 .spago/p/aff-retry-2.0.0/purs.json−25 .spago/p/aff-retry-2.0.0/spago.dhall−39 .spago/p/aff-retry-2.0.0/src/Effect/Aff/Retry.purs−258 .spago/p/ansi-7.0.0/LICENSE−21 .spago/p/ansi-7.0.0/README.md−7 .spago/p/ansi-7.0.0/bower.json−26 .spago/p/ansi-7.0.0/package.json−11 .spago/p/ansi-7.0.0/purs.json−14 .spago/p/ansi-7.0.0/src/Ansi/Codes.purs−189 .spago/p/ansi-7.0.0/src/Ansi/Output.purs−52 .spago/p/argonaut-codecs-9.1.0/LICENSE−22 .spago/p/argonaut-codecs-9.1.0/README.md−91 .spago/p/argonaut-codecs-9.1.0/bower.json−43 .spago/p/argonaut-codecs-9.1.0/packages.dhall−5 .spago/p/argonaut-codecs-9.1.0/purs.json−22 .spago/p/argonaut-codecs-9.1.0/spago.dhall−32 .spago/p/argonaut-codecs-9.1.0/src/Data/Argonaut/Decode.purs−19 .spago/p/argonaut-codecs-9.1.0/src/Data/Argonaut/Decode/Class.purs−148 .spago/p/argonaut-codecs-9.1.0/src/Data/Argonaut/Decode/Combinators.purs−78 .spago/p/argonaut-codecs-9.1.0/src/Data/Argonaut/Decode/Decoders.purs−246 .spago/p/argonaut-codecs-9.1.0/src/Data/Argonaut/Decode/Error.purs−43 .spago/p/argonaut-codecs-9.1.0/src/Data/Argonaut/Decode/Parser.purs−14 .spago/p/argonaut-codecs-9.1.0/src/Data/Argonaut/Encode.purs−15 .spago/p/argonaut-codecs-9.1.0/src/Data/Argonaut/Encode/Class.purs−123 .spago/p/argonaut-codecs-9.1.0/src/Data/Argonaut/Encode/Combinators.purs−51 .spago/p/argonaut-codecs-9.1.0/src/Data/Argonaut/Encode/Encoders.purs−123 .spago/p/argonaut-core-7.0.0/LICENSE−22 .spago/p/argonaut-core-7.0.0/README.md−108 .spago/p/argonaut-core-7.0.0/bower.json−45 .spago/p/argonaut-core-7.0.0/package.json−10 .spago/p/argonaut-core-7.0.0/packages.dhall−4 .spago/p/argonaut-core-7.0.0/purs.json−23 .spago/p/argonaut-core-7.0.0/spago.dhall−22 .spago/p/argonaut-core-7.0.0/src/Data/Argonaut/Core.js−102 .spago/p/argonaut-core-7.0.0/src/Data/Argonaut/Core.purs−260 .spago/p/argonaut-core-7.0.0/src/Data/Argonaut/Gen.purs−50 .spago/p/argonaut-core-7.0.0/src/Data/Argonaut/Parser.js−8 .spago/p/argonaut-core-7.0.0/src/Data/Argonaut/Parser.purs−12 .spago/p/arraybuffer-types-3.0.2/LICENSE−20 .spago/p/arraybuffer-types-3.0.2/README.md−39 .spago/p/arraybuffer-types-3.0.2/bower.json−19 .spago/p/arraybuffer-types-3.0.2/packages.dhall−4 .spago/p/arraybuffer-types-3.0.2/purs.json−10 .spago/p/arraybuffer-types-3.0.2/spago.dhall−7 .spago/p/arraybuffer-types-3.0.2/src/Data/ArrayBuffer/Types.purs−38 .spago/p/arrays-7.3.0/LICENSE−26 .spago/p/arrays-7.3.0/README.md−17 .spago/p/arrays-7.3.0/bower.json−39 .spago/p/arrays-7.3.0/package.json−17 .spago/p/arrays-7.3.0/purs.json−25 .spago/p/arrays-7.3.0/src/Data/Array.js−298 .spago/p/arrays-7.3.0/src/Data/Array.purs−1371 .spago/p/arrays-7.3.0/src/Data/Array/NonEmpty.purs−598 .spago/p/arrays-7.3.0/src/Data/Array/NonEmpty/Internal.js−77 .spago/p/arrays-7.3.0/src/Data/Array/NonEmpty/Internal.purs−84 .spago/p/arrays-7.3.0/src/Data/Array/Partial.purs−35 .spago/p/arrays-7.3.0/src/Data/Array/ST.js−113 .spago/p/arrays-7.3.0/src/Data/Array/ST.purs−262 .spago/p/arrays-7.3.0/src/Data/Array/ST/Iterator.purs−80 .spago/p/arrays-7.3.0/src/Data/Array/ST/Partial.js−7 .spago/p/arrays-7.3.0/src/Data/Array/ST/Partial.purs−36 .spago/p/avar-5.0.1/LICENSE−201 .spago/p/avar-5.0.1/README.md−42 .spago/p/avar-5.0.1/bower.json−39 .spago/p/avar-5.0.1/package.json−13 .spago/p/avar-5.0.1/packages.dhall−5 .spago/p/avar-5.0.1/purs.json−18 .spago/p/avar-5.0.1/spago.dhall−17 .spago/p/avar-5.0.1/src/Effect/AVar.js−307 .spago/p/avar-5.0.1/src/Effect/AVar.purs−133 .spago/p/avar-5.0.1/src/Effect/Aff/AVar.purs−77 .spago/p/bifunctors-6.1.0/LICENSE−26 .spago/p/bifunctors-6.1.0/README.md−17 .spago/p/bifunctors-6.1.0/bower.json−26 .spago/p/bifunctors-6.1.0/package.json−12 .spago/p/bifunctors-6.1.0/purs.json−17 .spago/p/bifunctors-6.1.0/src/Control/Biapplicative.purs−12 .spago/p/bifunctors-6.1.0/src/Control/Biapply.purs−59 .spago/p/bifunctors-6.1.0/src/Data/Bifunctor.purs−46 .spago/p/bifunctors-6.1.0/src/Data/Bifunctor/Join.purs−31 .spago/p/catenable-lists-7.0.0/LICENSE−26 .spago/p/catenable-lists-7.0.0/README.md−41 .spago/p/catenable-lists-7.0.0/bower.json−31 .spago/p/catenable-lists-7.0.0/package.json−13 .spago/p/catenable-lists-7.0.0/purs.json−18 .spago/p/catenable-lists-7.0.0/src/Data/CatList.purs−209 .spago/p/catenable-lists-7.0.0/src/Data/CatQueue.purs−193 .spago/p/console-6.1.0/LICENSE−26 .spago/p/console-6.1.0/README.md−17 .spago/p/console-6.1.0/bower.json−22 .spago/p/console-6.1.0/package.json−14 .spago/p/console-6.1.0/purs.json−13 .spago/p/console-6.1.0/src/Effect/Class/Console.purs−66 .spago/p/console-6.1.0/src/Effect/Console.js−67 .spago/p/console-6.1.0/src/Effect/Console.purs−88 .spago/p/const-6.0.0/LICENSE−26 .spago/p/const-6.0.0/README.md−17 .spago/p/const-6.0.0/bower.json−28 .spago/p/const-6.0.0/package.json−12 .spago/p/const-6.0.0/purs.json−14 .spago/p/const-6.0.0/src/Data/Const.purs−63 .spago/p/contravariant-6.0.0/LICENSE−26 .spago/p/contravariant-6.0.0/README.md−17 .spago/p/contravariant-6.0.0/bower.json−25 .spago/p/contravariant-6.0.0/package.json−12 .spago/p/contravariant-6.0.0/purs.json−16 .spago/p/contravariant-6.0.0/src/Data/Comparison.purs−25 .spago/p/contravariant-6.0.0/src/Data/Decidable.purs−29 .spago/p/contravariant-6.0.0/src/Data/Decide.purs−42 .spago/p/contravariant-6.0.0/src/Data/Divide.purs−46 .spago/p/contravariant-6.0.0/src/Data/Divisible.purs−25 .spago/p/contravariant-6.0.0/src/Data/Equivalence.purs−31 .spago/p/contravariant-6.0.0/src/Data/Functor/Contravariant.purs−35 .spago/p/contravariant-6.0.0/src/Data/Op.purs−22 .spago/p/contravariant-6.0.0/src/Data/Predicate.purs−18 .spago/p/control-6.0.0/LICENSE−26 .spago/p/control-6.0.0/README.md−21 .spago/p/control-6.0.0/bower.json−25 .spago/p/control-6.0.0/package.json−13 .spago/p/control-6.0.0/purs.json−13 .spago/p/control-6.0.0/src/Control/Alt.purs−42 .spago/p/control-6.0.0/src/Control/Alternative.purs−50 .spago/p/control-6.0.0/src/Control/Comonad.purs−21 .spago/p/control-6.0.0/src/Control/Extend.js−7 .spago/p/control-6.0.0/src/Control/Extend.purs−59 .spago/p/control-6.0.0/src/Control/Lazy.purs−25 .spago/p/control-6.0.0/src/Control/MonadPlus.purs−32 .spago/p/control-6.0.0/src/Control/Plus.purs−27 .spago/p/control-6.0.0/src/Data/Monoid/Alternate.purs−60 .spago/p/datetime-6.1.0/LICENSE−26 .spago/p/datetime-6.1.0/README.md−19 .spago/p/datetime-6.1.0/bower.json−40 .spago/p/datetime-6.1.0/package.json−14 .spago/p/datetime-6.1.0/purs.json−27 .spago/p/datetime-6.1.0/src/Data/Date.js−22 .spago/p/datetime-6.1.0/src/Data/Date.purs−148 .spago/p/datetime-6.1.0/src/Data/Date/Component.purs−191 .spago/p/datetime-6.1.0/src/Data/Date/Component/Gen.purs−25 .spago/p/datetime-6.1.0/src/Data/Date/Gen.purs−24 .spago/p/datetime-6.1.0/src/Data/DateTime.js−33 .spago/p/datetime-6.1.0/src/Data/DateTime.purs−99 .spago/p/datetime-6.1.0/src/Data/DateTime/Gen.purs−16 .spago/p/datetime-6.1.0/src/Data/DateTime/Instant.js−18 .spago/p/datetime-6.1.0/src/Data/DateTime/Instant.purs−91 .spago/p/datetime-6.1.0/src/Data/Interval.purs−115 .spago/p/datetime-6.1.0/src/Data/Interval/Duration.purs−73 .spago/p/datetime-6.1.0/src/Data/Interval/Duration/Iso.purs−97 .spago/p/datetime-6.1.0/src/Data/Time.purs−123 .spago/p/datetime-6.1.0/src/Data/Time/Component.purs−128 .spago/p/datetime-6.1.0/src/Data/Time/Component/Gen.purs−21 .spago/p/datetime-6.1.0/src/Data/Time/Duration.purs−119 .spago/p/datetime-6.1.0/src/Data/Time/Duration/Gen.purs−27 .spago/p/datetime-6.1.0/src/Data/Time/Gen.purs−13 .spago/p/distributive-6.0.0/LICENSE−26 .spago/p/distributive-6.0.0/README.md−17 .spago/p/distributive-6.0.0/bower.json−30 .spago/p/distributive-6.0.0/package.json−12 .spago/p/distributive-6.0.0/purs.json−16 .spago/p/distributive-6.0.0/src/Data/Distributive.purs−67 .spago/p/effect-4.0.0/LICENSE−26 .spago/p/effect-4.0.0/README.md−173 .spago/p/effect-4.0.0/bower.json−21 .spago/p/effect-4.0.0/package.json−13 .spago/p/effect-4.0.0/purs.json−12 .spago/p/effect-4.0.0/src/Effect.js−51 .spago/p/effect-4.0.0/src/Effect.purs−72 .spago/p/effect-4.0.0/src/Effect/Class.purs−19 .spago/p/effect-4.0.0/src/Effect/Uncurried.js−229 .spago/p/effect-4.0.0/src/Effect/Uncurried.purs−286 .spago/p/effect-4.0.0/src/Effect/Unsafe.js−3 .spago/p/effect-4.0.0/src/Effect/Unsafe.purs−8 .spago/p/either-6.1.0/LICENSE−26 .spago/p/either-6.1.0/README.md−19 .spago/p/either-6.1.0/bower.json−29 .spago/p/either-6.1.0/package.json−13 .spago/p/either-6.1.0/purs.json−15 .spago/p/either-6.1.0/src/Data/Either.purs−294 .spago/p/either-6.1.0/src/Data/Either/Inject.purs−23 .spago/p/either-6.1.0/src/Data/Either/Nested.purs−278 .spago/p/enums-6.0.1/LICENSE−26 .spago/p/enums-6.0.1/README.md−17 .spago/p/enums-6.0.1/bower.json−35 .spago/p/enums-6.0.1/package.json−13 .spago/p/enums-6.0.1/purs.json−21 .spago/p/enums-6.0.1/src/Data/Enum.js−7 .spago/p/enums-6.0.1/src/Data/Enum.purs−321 .spago/p/enums-6.0.1/src/Data/Enum/Gen.purs−18 .spago/p/enums-6.0.1/src/Data/Enum/Generic.purs−118 .spago/p/exceptions-6.1.0/LICENSE−26 .spago/p/exceptions-6.1.0/README.md−17 .spago/p/exceptions-6.1.0/bower.json−24 .spago/p/exceptions-6.1.0/package.json−13 .spago/p/exceptions-6.1.0/purs.json−15 .spago/p/exceptions-6.1.0/src/Effect/Exception.js−59 .spago/p/exceptions-6.1.0/src/Effect/Exception.purs−110 .spago/p/exceptions-6.1.0/src/Effect/Exception/Unsafe.purs−14 .spago/p/exists-6.0.0/LICENSE−26 .spago/p/exists-6.0.0/README.md−37 .spago/p/exists-6.0.0/bower.json−25 .spago/p/exists-6.0.0/package.json−13 .spago/p/exists-6.0.0/purs.json−13 .spago/p/exists-6.0.0/src/Data/Exists.purs−57 .spago/p/exitcodes-4.0.0/README.md−74 .spago/p/exitcodes-4.0.0/bower.json−19 .spago/p/exitcodes-4.0.0/purs.json−13 .spago/p/exitcodes-4.0.0/src/ExitCodes.purs−219 .spago/p/foldable-traversable-6.0.0/LICENSE−26 .spago/p/foldable-traversable-6.0.0/README.md−17 .spago/p/foldable-traversable-6.0.0/bower.json−38 .spago/p/foldable-traversable-6.0.0/package.json−14 .spago/p/foldable-traversable-6.0.0/purs.json−23 .spago/p/foldable-traversable-6.0.0/src/Data/Bifoldable.purs−198 .spago/p/foldable-traversable-6.0.0/src/Data/Bitraversable.purs−136 .spago/p/foldable-traversable-6.0.0/src/Data/Foldable.js−25 .spago/p/foldable-traversable-6.0.0/src/Data/Foldable.purs−471 .spago/p/foldable-traversable-6.0.0/src/Data/FoldableWithIndex.purs−370 .spago/p/foldable-traversable-6.0.0/src/Data/FunctorWithIndex.js−10 .spago/p/foldable-traversable-6.0.0/src/Data/FunctorWithIndex.purs−93 .spago/p/foldable-traversable-6.0.0/src/Data/Semigroup/Foldable.purs−178 .spago/p/foldable-traversable-6.0.0/src/Data/Semigroup/Traversable.purs−72 .spago/p/foldable-traversable-6.0.0/src/Data/Traversable.js−52 .spago/p/foldable-traversable-6.0.0/src/Data/Traversable.purs−257 .spago/p/foldable-traversable-6.0.0/src/Data/Traversable/Accum.purs−5 .spago/p/foldable-traversable-6.0.0/src/Data/Traversable/Accum/Internal.purs−44 .spago/p/foldable-traversable-6.0.0/src/Data/TraversableWithIndex.purs−213 .spago/p/foreign-7.0.0/LICENSE−26 .spago/p/foreign-7.0.0/README.md−29 .spago/p/foreign-7.0.0/bower.json−36 .spago/p/foreign-7.0.0/package.json−14 .spago/p/foreign-7.0.0/purs.json−20 .spago/p/foreign-7.0.0/src/Foreign.js−19 .spago/p/foreign-7.0.0/src/Foreign.purs−186 .spago/p/foreign-7.0.0/src/Foreign/Index.js−11 .spago/p/foreign-7.0.0/src/Foreign/Index.purs−84 .spago/p/foreign-7.0.0/src/Foreign/Keys.js−9 .spago/p/foreign-7.0.0/src/Foreign/Keys.purs−22 .spago/p/foreign-object-4.1.0/LICENSE−26 .spago/p/foreign-object-4.1.0/README.md−54 .spago/p/foreign-object-4.1.0/bower.json−42 .spago/p/foreign-object-4.1.0/package.json−17 .spago/p/foreign-object-4.1.0/purs.json−23 .spago/p/foreign-object-4.1.0/src/Foreign/Object.js−116 .spago/p/foreign-object-4.1.0/src/Foreign/Object.purs−316 .spago/p/foreign-object-4.1.0/src/Foreign/Object/Gen.purs−23 .spago/p/foreign-object-4.1.0/src/Foreign/Object/ST.js−37 .spago/p/foreign-object-4.1.0/src/Foreign/Object/ST.purs−42 .spago/p/foreign-object-4.1.0/src/Foreign/Object/ST/Unsafe.js−5 .spago/p/foreign-object-4.1.0/src/Foreign/Object/ST/Unsafe.purs−10 .spago/p/foreign-object-4.1.0/src/Foreign/Object/Unsafe.js−5 .spago/p/foreign-object-4.1.0/src/Foreign/Object/Unsafe.purs−10 .spago/p/fork-6.0.0/LICENSE−202 .spago/p/fork-6.0.0/README.md−43 .spago/p/fork-6.0.0/bower.json−24 .spago/p/fork-6.0.0/packages.dhall−4 .spago/p/fork-6.0.0/purs.json−12 .spago/p/fork-6.0.0/spago.dhall−5 .spago/p/fork-6.0.0/src/Control/Monad/Fork/Class.purs−106 .spago/p/free-7.1.0/LICENSE−26 .spago/p/free-7.1.0/LICENSE_THIRDPARTY−37 .spago/p/free-7.1.0/README.md−35 .spago/p/free-7.1.0/bower.json−45 .spago/p/free-7.1.0/package.json−16 .spago/p/free-7.1.0/purs.json−25 .spago/p/free-7.1.0/src/Control/Comonad/Cofree.purs−205 .spago/p/free-7.1.0/src/Control/Comonad/Cofree/Class.purs−29 .spago/p/free-7.1.0/src/Control/Monad/Free.purs−245 .spago/p/free-7.1.0/src/Control/Monad/Free/Class.purs−35 .spago/p/free-7.1.0/src/Control/Monad/Trampoline.purs−33 .spago/p/free-7.1.0/src/Data/Coyoneda.purs−174 .spago/p/free-7.1.0/src/Data/Yoneda.purs−73 .spago/p/functions-6.0.0/LICENSE−26 .spago/p/functions-6.0.0/README.md−17 .spago/p/functions-6.0.0/bower.json−21 .spago/p/functions-6.0.0/package.json−13 .spago/p/functions-6.0.0/purs.json−12 .spago/p/functions-6.0.0/src/Data/Function/Uncurried.js−218 .spago/p/functions-6.0.0/src/Data/Function/Uncurried.purs−124 .spago/p/functors-5.0.0/LICENSE−26 .spago/p/functors-5.0.0/README.md−17 .spago/p/functors-5.0.0/bower.json−37 .spago/p/functors-5.0.0/package.json−13 .spago/p/functors-5.0.0/purs.json−25 .spago/p/functors-5.0.0/src/Data/Functor/App.purs−56 .spago/p/functors-5.0.0/src/Data/Functor/Clown.purs−44 .spago/p/functors-5.0.0/src/Data/Functor/Compose.purs−58 .spago/p/functors-5.0.0/src/Data/Functor/Coproduct.purs−76 .spago/p/functors-5.0.0/src/Data/Functor/Coproduct/Inject.purs−24 .spago/p/functors-5.0.0/src/Data/Functor/Coproduct/Nested.purs−273 .spago/p/functors-5.0.0/src/Data/Functor/Costar.purs−66 .spago/p/functors-5.0.0/src/Data/Functor/Flip.purs−44 .spago/p/functors-5.0.0/src/Data/Functor/Joker.purs−60 .spago/p/functors-5.0.0/src/Data/Functor/Product.purs−60 .spago/p/functors-5.0.0/src/Data/Functor/Product/Nested.purs−112 .spago/p/functors-5.0.0/src/Data/Functor/Product2.purs−40 .spago/p/gen-4.0.0/LICENSE−26 .spago/p/gen-4.0.0/README.md−19 .spago/p/gen-4.0.0/bower.json−37 .spago/p/gen-4.0.0/package.json−14 .spago/p/gen-4.0.0/purs.json−21 .spago/p/gen-4.0.0/src/Control/Monad/Gen.purs−132 .spago/p/gen-4.0.0/src/Control/Monad/Gen/Class.purs−29 .spago/p/gen-4.0.0/src/Control/Monad/Gen/Common.purs−67 .spago/p/heterogeneous-0.7.0/LICENSE−20 .spago/p/heterogeneous-0.7.0/README.md−276 .spago/p/heterogeneous-0.7.0/package.json−11 .spago/p/heterogeneous-0.7.0/purs.json−20 .spago/p/heterogeneous-0.7.0/spago.yaml−24 .spago/p/heterogeneous-0.7.0/src/Heterogeneous/Folding.purs−224 .spago/p/heterogeneous-0.7.0/src/Heterogeneous/Mapping.purs−200 .spago/p/heterogeneous-0.7.0/src/Heterogeneous/Variadic.purs−55 .spago/p/identity-6.0.0/LICENSE−26 .spago/p/identity-6.0.0/README.md−17 .spago/p/identity-6.0.0/bower.json−28 .spago/p/identity-6.0.0/package.json−12 .spago/p/identity-6.0.0/purs.json−15 .spago/p/identity-6.0.0/src/Data/Identity.purs−72 .spago/p/integers-6.0.0/LICENSE−26 .spago/p/integers-6.0.0/README.md−17 .spago/p/integers-6.0.0/bower.json−28 .spago/p/integers-6.0.0/package.json−14 .spago/p/integers-6.0.0/purs.json−14 .spago/p/integers-6.0.0/src/Data/Int.js−65 .spago/p/integers-6.0.0/src/Data/Int.purs−257 .spago/p/integers-6.0.0/src/Data/Int/Bits.js−48 .spago/p/integers-6.0.0/src/Data/Int/Bits.purs−37 .spago/p/invariant-6.0.0/LICENSE−26 .spago/p/invariant-6.0.0/README.md−17 .spago/p/invariant-6.0.0/bower.json−22 .spago/p/invariant-6.0.0/package.json−12 .spago/p/invariant-6.0.0/purs.json−13 .spago/p/invariant-6.0.0/src/Data/Functor/Invariant.purs−57 .spago/p/js-date-8.0.0/LICENSE−20 .spago/p/js-date-8.0.0/README.md−44 .spago/p/js-date-8.0.0/bower.json−29 .spago/p/js-date-8.0.0/package.json−10 .spago/p/js-date-8.0.0/packages.dhall−4 .spago/p/js-date-8.0.0/purs.json−18 .spago/p/js-date-8.0.0/spago.dhall−20 .spago/p/js-date-8.0.0/src/Data/JSDate.js−83 .spago/p/js-date-8.0.0/src/Data/JSDate.purs−272 .spago/p/lazy-6.0.0/LICENSE−26 .spago/p/lazy-6.0.0/README.md−17 .spago/p/lazy-6.0.0/bower.json−28 .spago/p/lazy-6.0.0/package.json−13 .spago/p/lazy-6.0.0/purs.json−15 .spago/p/lazy-6.0.0/src/Data/Lazy.js−14 .spago/p/lazy-6.0.0/src/Data/Lazy.purs−142 .spago/p/lists-7.0.0/LICENSE−26 .spago/p/lists-7.0.0/LICENSE-GHC.md−32 .spago/p/lists-7.0.0/README.md−25 .spago/p/lists-7.0.0/bower.json−41 .spago/p/lists-7.0.0/package.json−16 .spago/p/lists-7.0.0/purs.json−23 .spago/p/lists-7.0.0/src/Data/List.purs−826 .spago/p/lists-7.0.0/src/Data/List/Internal.purs−63 .spago/p/lists-7.0.0/src/Data/List/Lazy.purs−780 .spago/p/lists-7.0.0/src/Data/List/Lazy/NonEmpty.purs−88 .spago/p/lists-7.0.0/src/Data/List/Lazy/Types.purs−295 .spago/p/lists-7.0.0/src/Data/List/NonEmpty.purs−307 .spago/p/lists-7.0.0/src/Data/List/Partial.purs−30 .spago/p/lists-7.0.0/src/Data/List/Types.purs−264 .spago/p/lists-7.0.0/src/Data/List/ZipList.purs−66 .spago/p/maybe-6.0.0/LICENSE−26 .spago/p/maybe-6.0.0/README.md−17 .spago/p/maybe-6.0.0/bower.json−24 .spago/p/maybe-6.0.0/package.json−12 .spago/p/maybe-6.0.0/purs.json−15 .spago/p/maybe-6.0.0/src/Data/Maybe.purs−312 .spago/p/maybe-6.0.0/src/Data/Maybe/First.purs−68 .spago/p/maybe-6.0.0/src/Data/Maybe/Last.purs−67 .spago/p/mmorph-7.0.0/LICENSE−7 .spago/p/mmorph-7.0.0/README.md−11 .spago/p/mmorph-7.0.0/bower.json−19 .spago/p/mmorph-7.0.0/purs.json−14 .spago/p/mmorph-7.0.0/src/Control/Monad/Morph.purs−147 .spago/p/newtype-5.0.0/LICENSE−26 .spago/p/newtype-5.0.0/README.md−19 .spago/p/newtype-5.0.0/bower.json−23 .spago/p/newtype-5.0.0/package.json−12 .spago/p/newtype-5.0.0/purs.json−14 .spago/p/newtype-5.0.0/src/Data/Newtype.purs−308 .spago/p/node-buffer-9.0.0/LICENSE−21 .spago/p/node-buffer-9.0.0/README.md−17 .spago/p/node-buffer-9.0.0/bower.json−28 .spago/p/node-buffer-9.0.0/package.json−15 .spago/p/node-buffer-9.0.0/purs.json−17 .spago/p/node-buffer-9.0.0/src/Node/Buffer.js−33 .spago/p/node-buffer-9.0.0/src/Node/Buffer.purs−231 .spago/p/node-buffer-9.0.0/src/Node/Buffer/Class.purs−115 .spago/p/node-buffer-9.0.0/src/Node/Buffer/Constants.js−5 .spago/p/node-buffer-9.0.0/src/Node/Buffer/Constants.purs−9 .spago/p/node-buffer-9.0.0/src/Node/Buffer/Immutable.js−45 .spago/p/node-buffer-9.0.0/src/Node/Buffer/Immutable.purs−138 .spago/p/node-buffer-9.0.0/src/Node/Buffer/ST.purs−189 .spago/p/node-buffer-9.0.0/src/Node/Buffer/Types.purs−47 .spago/p/node-buffer-9.0.0/src/Node/Encoding.js−3 .spago/p/node-buffer-9.0.0/src/Node/Encoding.purs−49 .spago/p/node-event-emitter-3.0.0/LICENSE−7 .spago/p/node-event-emitter-3.0.0/README.md−3 .spago/p/node-event-emitter-3.0.0/packages.dhall−5 .spago/p/node-event-emitter-3.0.0/purs.json−18 .spago/p/node-event-emitter-3.0.0/spago.dhall−13 .spago/p/node-event-emitter-3.0.0/src/Node/EventEmitter.js−24 .spago/p/node-event-emitter-3.0.0/src/Node/EventEmitter.purs−356 .spago/p/node-event-emitter-3.0.0/src/Node/EventEmitter/UtilTypes.purs−16 .spago/p/node-event-emitter-3.0.0/src/Node/Symbol.js−3 .spago/p/node-event-emitter-3.0.0/src/Node/Symbol.purs−29 .spago/p/node-fs-9.2.0/LICENSE−20 .spago/p/node-fs-9.2.0/README.md−17 .spago/p/node-fs-9.2.0/bower.json−44 .spago/p/node-fs-9.2.0/package.json−14 .spago/p/node-fs-9.2.0/purs.json−29 .spago/p/node-fs-9.2.0/src/Node/FS.purs−41 .spago/p/node-fs-9.2.0/src/Node/FS/Aff.purs−326 .spago/p/node-fs-9.2.0/src/Node/FS/Async.js−28 .spago/p/node-fs-9.2.0/src/Node/FS/Async.purs−395 .spago/p/node-fs-9.2.0/src/Node/FS/Constants.js−17 .spago/p/node-fs-9.2.0/src/Node/FS/Constants.purs−90 .spago/p/node-fs-9.2.0/src/Node/FS/Perms.purs−187 .spago/p/node-fs-9.2.0/src/Node/FS/Stats.js−27 .spago/p/node-fs-9.2.0/src/Node/FS/Stats.purs−192 .spago/p/node-fs-9.2.0/src/Node/FS/Stream.js−11 .spago/p/node-fs-9.2.0/src/Node/FS/Stream.purs−152 .spago/p/node-fs-9.2.0/src/Node/FS/Sync.js−30 .spago/p/node-fs-9.2.0/src/Node/FS/Sync.purs−368 .spago/p/node-path-5.0.1/LICENSE−20 .spago/p/node-path-5.0.1/README.md−18 .spago/p/node-path-5.0.1/bower.json−29 .spago/p/node-path-5.0.1/package.json−14 .spago/p/node-path-5.0.1/purs.json−13 .spago/p/node-path-5.0.1/src/Node/Path.js−30 .spago/p/node-path-5.0.1/src/Node/Path.purs−48 .spago/p/node-process-11.2.0/LICENSE−20 .spago/p/node-process-11.2.0/README.md−17 .spago/p/node-process-11.2.0/bower.json−25 .spago/p/node-process-11.2.0/package.json−13 .spago/p/node-process-11.2.0/purs.json−20 .spago/p/node-process-11.2.0/src/Node/Platform.purs−54 .spago/p/node-process-11.2.0/src/Node/Process.js−65 .spago/p/node-process-11.2.0/src/Node/Process.purs−612 .spago/p/node-streams-9.0.1/LICENSE−20 .spago/p/node-streams-9.0.1/README.md−19 .spago/p/node-streams-9.0.1/package.json−7 .spago/p/node-streams-9.0.1/purs.json−25 .spago/p/node-streams-9.0.1/spago.yaml−39 .spago/p/node-streams-9.0.1/src/Node/Stream.js−97 .spago/p/node-streams-9.0.1/src/Node/Stream.purs−506 .spago/p/node-streams-9.0.1/src/Node/Stream/Aff.purs−520 .spago/p/nonempty-7.0.0/LICENSE−26 .spago/p/nonempty-7.0.0/README.md−17 .spago/p/nonempty-7.0.0/bower.json−30 .spago/p/nonempty-7.0.0/package.json−13 .spago/p/nonempty-7.0.0/purs.json−17 .spago/p/nonempty-7.0.0/src/Data/NonEmpty.purs−174 .spago/p/now-6.0.0/LICENSE−20 .spago/p/now-6.0.0/README.md−79 .spago/p/now-6.0.0/bower.json−31 .spago/p/now-6.0.0/package.json−10 .spago/p/now-6.0.0/packages.dhall−4 .spago/p/now-6.0.0/purs.json−14 .spago/p/now-6.0.0/spago.dhall−15 .spago/p/now-6.0.0/src/Effect/Now.js−8 .spago/p/now-6.0.0/src/Effect/Now.purs−34 .spago/p/nullable-6.0.0/LICENSE−20 .spago/p/nullable-6.0.0/README.md−109 .spago/p/nullable-6.0.0/bower.json−29 .spago/p/nullable-6.0.0/package.json−10 .spago/p/nullable-6.0.0/packages.dhall−4 .spago/p/nullable-6.0.0/purs.json−15 .spago/p/nullable-6.0.0/spago.dhall−11 .spago/p/nullable-6.0.0/src/Data/Nullable.js−12 .spago/p/nullable-6.0.0/src/Data/Nullable.purs−79 .spago/p/numbers-9.0.1/LICENSE−26 .spago/p/numbers-9.0.1/README.md−35 .spago/p/numbers-9.0.1/bower.json−26 .spago/p/numbers-9.0.1/package.json−13 .spago/p/numbers-9.0.1/purs.json−14 .spago/p/numbers-9.0.1/src/Data/Number.js−80 .spago/p/numbers-9.0.1/src/Data/Number.purs−363 .spago/p/numbers-9.0.1/src/Data/Number/Approximate.purs−95 .spago/p/numbers-9.0.1/src/Data/Number/Format.js−12 .spago/p/numbers-9.0.1/src/Data/Number/Format.purs−76 .spago/p/open-memoize-6.2.0/LICENSE−20 .spago/p/open-memoize-6.2.0/README.md−45 .spago/p/open-memoize-6.2.0/package.json−13 .spago/p/open-memoize-6.2.0/purs.json−20 .spago/p/open-memoize-6.2.0/spago.yaml−27 .spago/p/open-memoize-6.2.0/src/Data/Function/Memoize.purs−230 .spago/p/optparse-5.0.1/LICENSE−30 .spago/p/optparse-5.0.1/README.md−1028 .spago/p/optparse-5.0.1/bower.json−50 .spago/p/optparse-5.0.1/package.json−12 .spago/p/optparse-5.0.1/purs.json−41 .spago/p/optparse-5.0.1/spago.yaml−46 .spago/p/optparse-5.0.1/src/Options/Applicative.purs−13 .spago/p/optparse-5.0.1/src/Options/Applicative/BashCompletion.purs−283 .spago/p/optparse-5.0.1/src/Options/Applicative/Builder.purs−525 .spago/p/optparse-5.0.1/src/Options/Applicative/Builder/Completer.js−8 .spago/p/optparse-5.0.1/src/Options/Applicative/Builder/Completer.purs−135 .spago/p/optparse-5.0.1/src/Options/Applicative/Builder/Internal.purs−199 .spago/p/optparse-5.0.1/src/Options/Applicative/Common.purs−297 .spago/p/optparse-5.0.1/src/Options/Applicative/Extra.purs−303 .spago/p/optparse-5.0.1/src/Options/Applicative/Help.purs−27 .spago/p/optparse-5.0.1/src/Options/Applicative/Help/Chunk.purs−143 .spago/p/optparse-5.0.1/src/Options/Applicative/Help/Core.purs−192 .spago/p/optparse-5.0.1/src/Options/Applicative/Help/Levenshtein.purs−101 .spago/p/optparse-5.0.1/src/Options/Applicative/Help/Pretty.purs−11 .spago/p/optparse-5.0.1/src/Options/Applicative/Help/Types.purs−41 .spago/p/optparse-5.0.1/src/Options/Applicative/Internal.purs−291 .spago/p/optparse-5.0.1/src/Options/Applicative/Internal/Utils.purs−50 .spago/p/optparse-5.0.1/src/Options/Applicative/Types.purs−545 .spago/p/optparse-5.0.1/src/Text/PrettyPrint/Leijen.purs−918 .spago/p/ordered-collections-3.2.0/LICENSE−26 .spago/p/ordered-collections-3.2.0/README.md−19 .spago/p/ordered-collections-3.2.0/bower.json−37 .spago/p/ordered-collections-3.2.0/package.json−16 .spago/p/ordered-collections-3.2.0/purs.json−22 .spago/p/ordered-collections-3.2.0/src/Data/Map.purs−65 .spago/p/ordered-collections-3.2.0/src/Data/Map/Gen.purs−24 .spago/p/ordered-collections-3.2.0/src/Data/Map/Internal.purs−988 .spago/p/ordered-collections-3.2.0/src/Data/Set.purs−188 .spago/p/ordered-collections-3.2.0/src/Data/Set/NonEmpty.purs−163 .spago/p/orders-6.0.0/LICENSE−26 .spago/p/orders-6.0.0/README.md−17 .spago/p/orders-6.0.0/bower.json−26 .spago/p/orders-6.0.0/package.json−13 .spago/p/orders-6.0.0/purs.json−13 .spago/p/orders-6.0.0/src/Data/Ord/Down.purs−26 .spago/p/orders-6.0.0/src/Data/Ord/Max.purs−29 .spago/p/orders-6.0.0/src/Data/Ord/Min.purs−29 .spago/p/parallel-7.0.0/LICENSE−26 .spago/p/parallel-7.0.0/README.md−17 .spago/p/parallel-7.0.0/bower.json−34 .spago/p/parallel-7.0.0/package.json−13 .spago/p/parallel-7.0.0/purs.json−22 .spago/p/parallel-7.0.0/src/Control/Parallel.purs−90 .spago/p/parallel-7.0.0/src/Control/Parallel/Class.purs−123 .spago/p/partial-4.0.0/LICENSE−26 .spago/p/partial-4.0.0/README.md−225 .spago/p/partial-4.0.0/bower.json−19 .spago/p/partial-4.0.0/package.json−14 .spago/p/partial-4.0.0/purs.json−11 .spago/p/partial-4.0.0/src/Partial.js−5 .spago/p/partial-4.0.0/src/Partial.purs−15 .spago/p/partial-4.0.0/src/Partial/Unsafe.js−5 .spago/p/partial-4.0.0/src/Partial/Unsafe.purs−24 .spago/p/pipes-8.0.0/README.md−19 .spago/p/pipes-8.0.0/bower.json−24 .spago/p/pipes-8.0.0/package.json−14 .spago/p/pipes-8.0.0/purs.json−18 .spago/p/pipes-8.0.0/src/Pipes.purs−108 .spago/p/pipes-8.0.0/src/Pipes/Core.purs−310 .spago/p/pipes-8.0.0/src/Pipes/Internal.purs−182 .spago/p/pipes-8.0.0/src/Pipes/ListT.purs−131 .spago/p/pipes-8.0.0/src/Pipes/Prelude.purs−365 .spago/p/posix-types-6.0.0/LICENSE−21 .spago/p/posix-types-6.0.0/README.md−17 .spago/p/posix-types-6.0.0/bower.json−24 .spago/p/posix-types-6.0.0/package.json−12 .spago/p/posix-types-6.0.0/purs.json−13 .spago/p/posix-types-6.0.0/src/Data/Posix.purs−34 .spago/p/posix-types-6.0.0/src/Data/Posix/Signal.purs−140 .spago/p/prelude-6.0.2/LICENSE−26 .spago/p/prelude-6.0.2/README.md−17 .spago/p/prelude-6.0.2/bower.json−19 .spago/p/prelude-6.0.2/package.json−14 .spago/p/prelude-6.0.2/purs.json−11 .spago/p/prelude-6.0.2/src/Control/Applicative.purs−70 .spago/p/prelude-6.0.2/src/Control/Apply.js−15 .spago/p/prelude-6.0.2/src/Control/Apply.purs−104 .spago/p/prelude-6.0.2/src/Control/Bind.js−21 .spago/p/prelude-6.0.2/src/Control/Bind.purs−150 .spago/p/prelude-6.0.2/src/Control/Category.purs−22 .spago/p/prelude-6.0.2/src/Control/Monad.purs−86 .spago/p/prelude-6.0.2/src/Control/Semigroupoid.purs−25 .spago/p/prelude-6.0.2/src/Data/Boolean.purs−10 .spago/p/prelude-6.0.2/src/Data/BooleanAlgebra.purs−43 .spago/p/prelude-6.0.2/src/Data/Bounded.js−8 .spago/p/prelude-6.0.2/src/Data/Bounded.purs−105 .spago/p/prelude-6.0.2/src/Data/Bounded/Generic.purs−56 .spago/p/prelude-6.0.2/src/Data/CommutativeRing.purs−44 .spago/p/prelude-6.0.2/src/Data/DivisionRing.purs−55 .spago/p/prelude-6.0.2/src/Data/Eq.js−23 .spago/p/prelude-6.0.2/src/Data/Eq.purs−115 .spago/p/prelude-6.0.2/src/Data/Eq/Generic.purs−35 .spago/p/prelude-6.0.2/src/Data/EuclideanRing.js−26 .spago/p/prelude-6.0.2/src/Data/EuclideanRing.purs−100 .spago/p/prelude-6.0.2/src/Data/Field.purs−41 .spago/p/prelude-6.0.2/src/Data/Function.purs−120 .spago/p/prelude-6.0.2/src/Data/Functor.js−10 .spago/p/prelude-6.0.2/src/Data/Functor.purs−106 .spago/p/prelude-6.0.2/src/Data/Generic/Rep.purs−62 .spago/p/prelude-6.0.2/src/Data/HeytingAlgebra.js−15 .spago/p/prelude-6.0.2/src/Data/HeytingAlgebra.purs−171 .spago/p/prelude-6.0.2/src/Data/HeytingAlgebra/Generic.purs−70 .spago/p/prelude-6.0.2/src/Data/Monoid.purs−120 .spago/p/prelude-6.0.2/src/Data/Monoid/Additive.purs−44 .spago/p/prelude-6.0.2/src/Data/Monoid/Conj.purs−51 .spago/p/prelude-6.0.2/src/Data/Monoid/Disj.purs−51 .spago/p/prelude-6.0.2/src/Data/Monoid/Dual.purs−44 .spago/p/prelude-6.0.2/src/Data/Monoid/Endo.purs−30 .spago/p/prelude-6.0.2/src/Data/Monoid/Generic.purs−27 .spago/p/prelude-6.0.2/src/Data/Monoid/Multiplicative.purs−44 .spago/p/prelude-6.0.2/src/Data/NaturalTransformation.purs−20 .spago/p/prelude-6.0.2/src/Data/Ord.js−43 .spago/p/prelude-6.0.2/src/Data/Ord.purs−264 .spago/p/prelude-6.0.2/src/Data/Ord/Generic.purs−39 .spago/p/prelude-6.0.2/src/Data/Ordering.purs−36 .spago/p/prelude-6.0.2/src/Data/Reflectable.js−5 .spago/p/prelude-6.0.2/src/Data/Reflectable.purs−57 .spago/p/prelude-6.0.2/src/Data/Ring.js−12 .spago/p/prelude-6.0.2/src/Data/Ring.purs−78 .spago/p/prelude-6.0.2/src/Data/Ring/Generic.purs−24 .spago/p/prelude-6.0.2/src/Data/Semigroup.js−13 .spago/p/prelude-6.0.2/src/Data/Semigroup.purs−84 .spago/p/prelude-6.0.2/src/Data/Semigroup/First.purs−40 .spago/p/prelude-6.0.2/src/Data/Semigroup/Generic.purs−31 .spago/p/prelude-6.0.2/src/Data/Semigroup/Last.purs−40 .spago/p/prelude-6.0.2/src/Data/Semiring.js−25 .spago/p/prelude-6.0.2/src/Data/Semiring.purs−140 .spago/p/prelude-6.0.2/src/Data/Semiring/Generic.purs−51 .spago/p/prelude-6.0.2/src/Data/Show.js−59 .spago/p/prelude-6.0.2/src/Data/Show.purs−97 .spago/p/prelude-6.0.2/src/Data/Show/Generic.js−5 .spago/p/prelude-6.0.2/src/Data/Show/Generic.purs−57 .spago/p/prelude-6.0.2/src/Data/Symbol.js−6 .spago/p/prelude-6.0.2/src/Data/Symbol.purs−24 .spago/p/prelude-6.0.2/src/Data/Unit.js−1 .spago/p/prelude-6.0.2/src/Data/Unit.purs−14 .spago/p/prelude-6.0.2/src/Data/Void.purs−34 .spago/p/prelude-6.0.2/src/Prelude.purs−70 .spago/p/prelude-6.0.2/src/Record/Unsafe.js−38 .spago/p/prelude-6.0.2/src/Record/Unsafe.purs−27 .spago/p/prelude-6.0.2/src/Type/Proxy.purs−53 .spago/p/profunctor-6.0.1/LICENSE−26 .spago/p/profunctor-6.0.1/README.md−17 .spago/p/profunctor-6.0.1/bower.json−33 .spago/p/profunctor-6.0.1/package.json−12 .spago/p/profunctor-6.0.1/purs.json−19 .spago/p/profunctor-6.0.1/src/Data/Profunctor.purs−44 .spago/p/profunctor-6.0.1/src/Data/Profunctor/Choice.purs−83 .spago/p/profunctor-6.0.1/src/Data/Profunctor/Closed.purs−12 .spago/p/profunctor-6.0.1/src/Data/Profunctor/Cochoice.purs−9 .spago/p/profunctor-6.0.1/src/Data/Profunctor/Costrong.purs−9 .spago/p/profunctor-6.0.1/src/Data/Profunctor/Join.purs−28 .spago/p/profunctor-6.0.1/src/Data/Profunctor/Split.purs−39 .spago/p/profunctor-6.0.1/src/Data/Profunctor/Star.purs−80 .spago/p/profunctor-6.0.1/src/Data/Profunctor/Strong.purs−80 .spago/p/random-6.0.0/LICENSE−26 .spago/p/random-6.0.0/README.md−17 .spago/p/random-6.0.0/bower.json−22 .spago/p/random-6.0.0/package.json−13 .spago/p/random-6.0.0/purs.json−13 .spago/p/random-6.0.0/src/Effect/Random.js−1 .spago/p/random-6.0.0/src/Effect/Random.purs−45 .spago/p/record-4.0.0/LICENSE−26 .spago/p/record-4.0.0/README.md−59 .spago/p/record-4.0.0/bower.json−27 .spago/p/record-4.0.0/package.json−14 .spago/p/record-4.0.0/purs.json−15 .spago/p/record-4.0.0/src/Record.purs−242 .spago/p/record-4.0.0/src/Record/Builder.js−44 .spago/p/record-4.0.0/src/Record/Builder.purs−157 .spago/p/record-4.0.0/src/Record/Unsafe/Union.js−14 .spago/p/record-4.0.0/src/Record/Unsafe/Union.purs−8 .spago/p/record-studio-1.0.4/LICENCE−16 .spago/p/record-studio-1.0.4/LICENCES/heterogeneous-extrablatt.LICENCE−16 .spago/p/record-studio-1.0.4/LICENCES/record-extra.LICENCE−21 .spago/p/record-studio-1.0.4/README.md−184 .spago/p/record-studio-1.0.4/bower.json−23 .spago/p/record-studio-1.0.4/package.json−17 .spago/p/record-studio-1.0.4/packages.dhall−4 .spago/p/record-studio-1.0.4/purs.json−18 .spago/p/record-studio-1.0.4/spago.dhall−8 .spago/p/record-studio-1.0.4/src/Record/Studio.purs−21 .spago/p/record-studio-1.0.4/src/Record/Studio/Keys.purs−30 .spago/p/record-studio-1.0.4/src/Record/Studio/Map.purs−82 .spago/p/record-studio-1.0.4/src/Record/Studio/MapKind.purs−83 .spago/p/record-studio-1.0.4/src/Record/Studio/MapUniform.purs−47 .spago/p/record-studio-1.0.4/src/Record/Studio/Merge.purs−28 .spago/p/record-studio-1.0.4/src/Record/Studio/SameKeys.purs−43 .spago/p/record-studio-1.0.4/src/Record/Studio/Sequence.purs−83 .spago/p/record-studio-1.0.4/src/Record/Studio/Shrink.js−6 .spago/p/record-studio-1.0.4/src/Record/Studio/Shrink.purs−10 .spago/p/record-studio-1.0.4/src/Record/Studio/SingletonRecord.js−2 .spago/p/record-studio-1.0.4/src/Record/Studio/SingletonRecord.purs−78 .spago/p/refs-6.0.0/LICENSE−26 .spago/p/refs-6.0.0/README.md−49 .spago/p/refs-6.0.0/bower.json−25 .spago/p/refs-6.0.0/package.json−14 .spago/p/refs-6.0.0/purs.json−13 .spago/p/refs-6.0.0/src/Effect/Ref.js−37 .spago/p/refs-6.0.0/src/Effect/Ref.purs−73 .spago/p/safe-coerce-2.0.0/LICENSE−26 .spago/p/safe-coerce-2.0.0/README.md−13 .spago/p/safe-coerce-2.0.0/bower.json−25 .spago/p/safe-coerce-2.0.0/package.json−13 .spago/p/safe-coerce-2.0.0/purs.json−12 .spago/p/safe-coerce-2.0.0/src/Safe/Coerce.purs−27 .spago/p/spec-8.1.1/LICENSE−21 .spago/p/spec-8.1.1/README.md−147 .spago/p/spec-8.1.1/package.json−11 .spago/p/spec-8.1.1/purs.json−38 .spago/p/spec-8.1.1/spago.yaml−58 .spago/p/spec-8.1.1/src/Test/Spec.purs−335 .spago/p/spec-8.1.1/src/Test/Spec/Assertions.js−1 .spago/p/spec-8.1.1/src/Test/Spec/Assertions.purs−146 .spago/p/spec-8.1.1/src/Test/Spec/Assertions/String.js−13 .spago/p/spec-8.1.1/src/Test/Spec/Assertions/String.purs−56 .spago/p/spec-8.1.1/src/Test/Spec/Config.purs−41 .spago/p/spec-8.1.1/src/Test/Spec/Console.js−13 .spago/p/spec-8.1.1/src/Test/Spec/Console.purs−32 .spago/p/spec-8.1.1/src/Test/Spec/Reporter.purs−6 .spago/p/spec-8.1.1/src/Test/Spec/Reporter/Base.purs−162 .spago/p/spec-8.1.1/src/Test/Spec/Reporter/Console.purs−107 .spago/p/spec-8.1.1/src/Test/Spec/Reporter/Dot.purs−30 .spago/p/spec-8.1.1/src/Test/Spec/Reporter/Spec.purs−87 .spago/p/spec-8.1.1/src/Test/Spec/Reporter/Tap.purs−59 .spago/p/spec-8.1.1/src/Test/Spec/Reporter/TeamCity.purs−173 .spago/p/spec-8.1.1/src/Test/Spec/Result.purs−22 .spago/p/spec-8.1.1/src/Test/Spec/Runner.js−20 .spago/p/spec-8.1.1/src/Test/Spec/Runner.purs−249 .spago/p/spec-8.1.1/src/Test/Spec/Runner/Event.purs−33 .spago/p/spec-8.1.1/src/Test/Spec/Speed.purs−26 .spago/p/spec-8.1.1/src/Test/Spec/Style.purs−46 .spago/p/spec-8.1.1/src/Test/Spec/Summary.purs−32 .spago/p/spec-8.1.1/src/Test/Spec/Tree.purs−195 .spago/p/spec-discovery-8.4.0/LICENSE−373 .spago/p/spec-discovery-8.4.0/README.md−69 .spago/p/spec-discovery-8.4.0/package.json−6 .spago/p/spec-discovery-8.4.0/purs.json−18 .spago/p/spec-discovery-8.4.0/spago.yaml−22 .spago/p/spec-discovery-8.4.0/src/Test/Spec/Discovery.js−36 .spago/p/spec-discovery-8.4.0/src/Test/Spec/Discovery.purs−30 .spago/p/spec-node-0.0.3/LICENSE−21 .spago/p/spec-node-0.0.3/README.md−7 .spago/p/spec-node-0.0.3/package.json−7 .spago/p/spec-node-0.0.3/purs.json−36 .spago/p/spec-node-0.0.3/spago.yaml−47 .spago/p/spec-node-0.0.3/src/Node.purs−122 .spago/p/spec-node-0.0.3/src/Node/Config.purs−228 .spago/p/spec-node-0.0.3/src/Node/Persist.purs−77 .spago/p/st-6.2.0/LICENSE−26 .spago/p/st-6.2.0/README.md−17 .spago/p/st-6.2.0/bower.json−28 .spago/p/st-6.2.0/package.json−14 .spago/p/st-6.2.0/purs.json−16 .spago/p/st-6.2.0/src/Control/Monad/ST.purs−3 .spago/p/st-6.2.0/src/Control/Monad/ST/Class.purs−17 .spago/p/st-6.2.0/src/Control/Monad/ST/Global.purs−18 .spago/p/st-6.2.0/src/Control/Monad/ST/Internal.js−90 .spago/p/st-6.2.0/src/Control/Monad/ST/Internal.purs−136 .spago/p/st-6.2.0/src/Control/Monad/ST/Ref.purs−3 .spago/p/st-6.2.0/src/Control/Monad/ST/Uncurried.js−229 .spago/p/st-6.2.0/src/Control/Monad/ST/Uncurried.purs−101 .spago/p/strings-6.0.1/LICENSE−26 .spago/p/strings-6.0.1/README.md−17 .spago/p/strings-6.0.1/bower.json−41 .spago/p/strings-6.0.1/package.json−18 .spago/p/strings-6.0.1/purs.json−27 .spago/p/strings-6.0.1/src/Data/Char.purs−16 .spago/p/strings-6.0.1/src/Data/Char/Gen.purs−35 .spago/p/strings-6.0.1/src/Data/String.purs−10 .spago/p/strings-6.0.1/src/Data/String/CaseInsensitive.purs−22 .spago/p/strings-6.0.1/src/Data/String/CodePoints.js−107 .spago/p/strings-6.0.1/src/Data/String/CodePoints.purs−436 .spago/p/strings-6.0.1/src/Data/String/CodeUnits.js−116 .spago/p/strings-6.0.1/src/Data/String/CodeUnits.purs−332 .spago/p/strings-6.0.1/src/Data/String/Common.js−52 .spago/p/strings-6.0.1/src/Data/String/Common.purs−96 .spago/p/strings-6.0.1/src/Data/String/Gen.purs−43 .spago/p/strings-6.0.1/src/Data/String/NonEmpty.purs−9 .spago/p/strings-6.0.1/src/Data/String/NonEmpty/CaseInsensitive.purs−22 .spago/p/strings-6.0.1/src/Data/String/NonEmpty/CodePoints.purs−138 .spago/p/strings-6.0.1/src/Data/String/NonEmpty/CodeUnits.purs−308 .spago/p/strings-6.0.1/src/Data/String/NonEmpty/Internal.purs−232 .spago/p/strings-6.0.1/src/Data/String/Pattern.purs−33 .spago/p/strings-6.0.1/src/Data/String/Regex.js−103 .spago/p/strings-6.0.1/src/Data/String/Regex.purs−131 .spago/p/strings-6.0.1/src/Data/String/Regex/Flags.purs−129 .spago/p/strings-6.0.1/src/Data/String/Regex/Unsafe.purs−14 .spago/p/strings-6.0.1/src/Data/String/Unsafe.js−11 .spago/p/strings-6.0.1/src/Data/String/Unsafe.purs−15 .spago/p/tailrec-6.1.0/LICENSE−26 .spago/p/tailrec-6.1.0/README.md−69 .spago/p/tailrec-6.1.0/bower.json−35 .spago/p/tailrec-6.1.0/package.json−13 .spago/p/tailrec-6.1.0/purs.json−19 .spago/p/tailrec-6.1.0/src/Control/Monad/Rec/Class.purs−191 .spago/p/transformers-6.1.0/LICENSE−26 .spago/p/transformers-6.1.0/README.md−17 .spago/p/transformers-6.1.0/bower.json−46 .spago/p/transformers-6.1.0/package.json−13 .spago/p/transformers-6.1.0/purs.json−26 .spago/p/transformers-6.1.0/src/Control/Comonad/Env.purs−40 .spago/p/transformers-6.1.0/src/Control/Comonad/Env/Class.purs−62 .spago/p/transformers-6.1.0/src/Control/Comonad/Env/Trans.purs−71 .spago/p/transformers-6.1.0/src/Control/Comonad/Store.purs−30 .spago/p/transformers-6.1.0/src/Control/Comonad/Store/Class.purs−64 .spago/p/transformers-6.1.0/src/Control/Comonad/Store/Trans.purs−38 .spago/p/transformers-6.1.0/src/Control/Comonad/Traced.purs−29 .spago/p/transformers-6.1.0/src/Control/Comonad/Traced/Class.purs−72 .spago/p/transformers-6.1.0/src/Control/Comonad/Traced/Trans.purs−36 .spago/p/transformers-6.1.0/src/Control/Comonad/Trans/Class.purs−27 .spago/p/transformers-6.1.0/src/Control/Monad/Cont.purs−39 .spago/p/transformers-6.1.0/src/Control/Monad/Cont/Class.purs−27 .spago/p/transformers-6.1.0/src/Control/Monad/Cont/Trans.purs−81 .spago/p/transformers-6.1.0/src/Control/Monad/Error/Class.purs−112 .spago/p/transformers-6.1.0/src/Control/Monad/Except.purs−47 .spago/p/transformers-6.1.0/src/Control/Monad/Except/Trans.purs−146 .spago/p/transformers-6.1.0/src/Control/Monad/Identity/Trans.purs−79 .spago/p/transformers-6.1.0/src/Control/Monad/List/Trans.purs−331 .spago/p/transformers-6.1.0/src/Control/Monad/Maybe/Trans.purs−131 .spago/p/transformers-6.1.0/src/Control/Monad/RWS.purs−54 .spago/p/transformers-6.1.0/src/Control/Monad/RWS/Trans.purs−143 .spago/p/transformers-6.1.0/src/Control/Monad/Reader.purs−34 .spago/p/transformers-6.1.0/src/Control/Monad/Reader/Class.purs−42 .spago/p/transformers-6.1.0/src/Control/Monad/Reader/Trans.purs−125 .spago/p/transformers-6.1.0/src/Control/Monad/State.purs−45 .spago/p/transformers-6.1.0/src/Control/Monad/State/Class.purs−45 .spago/p/transformers-6.1.0/src/Control/Monad/State/Trans.purs−147 .spago/p/transformers-6.1.0/src/Control/Monad/Trans/Class.purs−23 .spago/p/transformers-6.1.0/src/Control/Monad/Writer.purs−40 .spago/p/transformers-6.1.0/src/Control/Monad/Writer/Class.purs−51 .spago/p/transformers-6.1.0/src/Control/Monad/Writer/Trans.purs−135 .spago/p/tuples-7.0.0/LICENSE−26 .spago/p/tuples-7.0.0/README.md−17 .spago/p/tuples-7.0.0/bower.json−23 .spago/p/tuples-7.0.0/package.json−12 .spago/p/tuples-7.0.0/purs.json−14 .spago/p/tuples-7.0.0/src/Data/Tuple.purs−135 .spago/p/tuples-7.0.0/src/Data/Tuple/Nested.purs−294 .spago/p/type-equality-4.0.1/LICENSE−26 .spago/p/type-equality-4.0.1/README.md−17 .spago/p/type-equality-4.0.1/bower.json−22 .spago/p/type-equality-4.0.1/package.json−13 .spago/p/type-equality-4.0.1/purs.json−10 .spago/p/type-equality-4.0.1/src/Type/Equality.purs−35 .spago/p/typelevel-prelude-7.0.0/LICENSE−26 .spago/p/typelevel-prelude-7.0.0/README.md−17 .spago/p/typelevel-prelude-7.0.0/bower.json−22 .spago/p/typelevel-prelude-7.0.0/package.json−12 .spago/p/typelevel-prelude-7.0.0/purs.json−14 .spago/p/typelevel-prelude-7.0.0/src/Type/Data/Boolean.purs−66 .spago/p/typelevel-prelude-7.0.0/src/Type/Data/Ordering.purs−69 .spago/p/typelevel-prelude-7.0.0/src/Type/Data/Symbol.purs−35 .spago/p/typelevel-prelude-7.0.0/src/Type/Function.purs−23 .spago/p/typelevel-prelude-7.0.0/src/Type/Prelude.purs−17 .spago/p/typelevel-prelude-7.0.0/src/Type/Row.purs−22 .spago/p/typelevel-prelude-7.0.0/src/Type/Row/Homogeneous.purs−23 .spago/p/typelevel-prelude-7.0.0/src/Type/RowList.purs−82 .spago/p/uncurried-transformers-1.1.0/LICENSE−29 .spago/p/uncurried-transformers-1.1.0/README.md−120 .spago/p/uncurried-transformers-1.1.0/bower.json−28 .spago/p/uncurried-transformers-1.1.0/package.json−11 .spago/p/uncurried-transformers-1.1.0/packages.dhall−32 .spago/p/uncurried-transformers-1.1.0/purs.json−22 .spago/p/uncurried-transformers-1.1.0/spago.dhall−18 .spago/p/uncurried-transformers-1.1.0/src/Uncurried/RWSE.purs−51 .spago/p/uncurried-transformers-1.1.0/src/Uncurried/RWSET.purs−337 .spago/p/uncurried-transformers-1.1.0/src/Uncurried/Reader.purs−27 .spago/p/uncurried-transformers-1.1.0/src/Uncurried/ReaderT.purs−144 .spago/p/uncurried-transformers-1.1.0/src/Uncurried/State.purs−36 .spago/p/uncurried-transformers-1.1.0/src/Uncurried/StateT.purs−165 .spago/p/uncurried-transformers-1.1.0/src/Uncurried/Writer.purs−38 .spago/p/uncurried-transformers-1.1.0/src/Uncurried/WriterT.purs−130 .spago/p/unfoldable-6.0.0/LICENSE−26 .spago/p/unfoldable-6.0.0/README.md−17 .spago/p/unfoldable-6.0.0/bower.json−30 .spago/p/unfoldable-6.0.0/package.json−14 .spago/p/unfoldable-6.0.0/purs.json−16 .spago/p/unfoldable-6.0.0/src/Data/Unfoldable.js−21 .spago/p/unfoldable-6.0.0/src/Data/Unfoldable.purs−103 .spago/p/unfoldable-6.0.0/src/Data/Unfoldable1.js−21 .spago/p/unfoldable-6.0.0/src/Data/Unfoldable1.purs−131 .spago/p/unsafe-coerce-6.0.0/LICENSE−26 .spago/p/unsafe-coerce-6.0.0/README.md−19 .spago/p/unsafe-coerce-6.0.0/bower.json−21 .spago/p/unsafe-coerce-6.0.0/package.json−14 .spago/p/unsafe-coerce-6.0.0/purs.json−10 .spago/p/unsafe-coerce-6.0.0/src/Unsafe/Coerce.js−5 .spago/p/unsafe-coerce-6.0.0/src/Unsafe/Coerce.purs−27 .spago/p/variant-8.0.0/LICENSE−22 .spago/p/variant-8.0.0/README.md−197 .spago/p/variant-8.0.0/bower.json−39 .spago/p/variant-8.0.0/package.json−11 .spago/p/variant-8.0.0/packages.dhall−5 .spago/p/variant-8.0.0/purs.json−20 .spago/p/variant-8.0.0/spago.dhall−32 .spago/p/variant-8.0.0/src/Data/Functor/Variant.purs−536 .spago/p/variant-8.0.0/src/Data/Variant.purs−554 .spago/p/variant-8.0.0/src/Data/Variant/Internal.purs−340 .spago/run/package.json−1 .spago/run/run.js−3 .spec-results−30 bun.lock−14 node_modules/capnweb/LICENSE.txt−21 node_modules/capnweb/README.md−734 node_modules/capnweb/dist/index-workers.cjs−2661 node_modules/capnweb/dist/index-workers.cjs.map−1 node_modules/capnweb/dist/index-workers.d.cts−2 node_modules/capnweb/dist/index-workers.d.ts−2 node_modules/capnweb/dist/index-workers.js−2627 node_modules/capnweb/dist/index-workers.js.map−1 node_modules/capnweb/dist/index.cjs−2638 node_modules/capnweb/dist/index.cjs.map−1 node_modules/capnweb/dist/index.d.cts−372 node_modules/capnweb/dist/index.d.ts−372 node_modules/capnweb/dist/index.js−2624 node_modules/capnweb/dist/index.js.map−1 node_modules/capnweb/package.json−59 output/Ansi.Codes/corefn.json−1 output/Ansi.Codes/docs.json−1 output/Ansi.Codes/externs.cbor output/Ansi.Codes/index.js−1785 output/Ansi.Codes/index.js.map−1 output/Ansi.Output/corefn.json−1 output/Ansi.Output/docs.json−1 output/Ansi.Output/externs.cbor output/Ansi.Output/index.js−46 output/Ansi.Output/index.js.map−1 output/Benchmark.HighRes/corefn.json−1 output/Benchmark.HighRes/docs.json−1 output/Benchmark.HighRes/externs.cbor output/Benchmark.HighRes/foreign.js−9 output/Benchmark.HighRes/index.js−7 output/Benchmark.HighRes/index.js.map−1 output/Benchmark.MinibenchMain/corefn.json−1 output/Benchmark.MinibenchMain/docs.json−1 output/Benchmark.MinibenchMain/externs.cbor output/Benchmark.MinibenchMain/index.js−270 output/Benchmark.MinibenchMain/index.js.map−1 output/Benchmark/corefn.json−1 output/Benchmark/docs.json−1 output/Benchmark/externs.cbor output/Benchmark/index.js−261 output/Benchmark/index.js.map−1 output/Control.Alt/corefn.json−1 output/Control.Alt/docs.json−1 output/Control.Alt/externs.cbor output/Control.Alt/index.js−21 output/Control.Alt/index.js.map−1 output/Control.Alternative/corefn.json−1 output/Control.Alternative/docs.json−1 output/Control.Alternative/externs.cbor output/Control.Alternative/index.js−52 output/Control.Alternative/index.js.map−1 output/Control.Applicative/corefn.json−1 output/Control.Applicative/docs.json−1 output/Control.Applicative/externs.cbor output/Control.Applicative/index.js−88 output/Control.Applicative/index.js.map−1 output/Control.Apply/corefn.json−1 output/Control.Apply/docs.json−1 output/Control.Apply/externs.cbor output/Control.Apply/foreign.js−15 output/Control.Apply/index.js−129 output/Control.Apply/index.js.map−1 output/Control.Biapplicative/corefn.json−1 output/Control.Biapplicative/docs.json−1 output/Control.Biapplicative/externs.cbor output/Control.Biapplicative/index.js−19 output/Control.Biapplicative/index.js.map−1 output/Control.Biapply/corefn.json−1 output/Control.Biapply/docs.json−1 output/Control.Biapply/externs.cbor output/Control.Biapply/index.js−74 output/Control.Biapply/index.js.map−1 output/Control.Bind/corefn.json−1 output/Control.Bind/docs.json−1 output/Control.Bind/externs.cbor output/Control.Bind/foreign.js−21 output/Control.Bind/index.js−125 output/Control.Bind/index.js.map−1 output/Control.Category/corefn.json−1 output/Control.Category/docs.json−1 output/Control.Category/externs.cbor output/Control.Category/index.js−21 output/Control.Category/index.js.map−1 output/Control.Comonad.Cofree.Class/corefn.json−1 output/Control.Comonad.Cofree.Class/docs.json−1 output/Control.Comonad.Cofree.Class/externs.cbor output/Control.Comonad.Cofree.Class/index.js−94 output/Control.Comonad.Cofree.Class/index.js.map−1 output/Control.Comonad.Cofree/corefn.json−1 output/Control.Comonad.Cofree/docs.json−1 output/Control.Comonad.Cofree/externs.cbor output/Control.Comonad.Cofree/index.js−486 output/Control.Comonad.Cofree/index.js.map−1 output/Control.Comonad.Env.Class/corefn.json−1 output/Control.Comonad.Env.Class/docs.json−1 output/Control.Comonad.Env.Class/externs.cbor output/Control.Comonad.Env.Class/index.js−141 output/Control.Comonad.Env.Class/index.js.map−1 output/Control.Comonad.Env.Trans/corefn.json−1 output/Control.Comonad.Env.Trans/docs.json−1 output/Control.Comonad.Env.Trans/externs.cbor output/Control.Comonad.Env.Trans/index.js−231 output/Control.Comonad.Env.Trans/index.js.map−1 output/Control.Comonad.Env/corefn.json−1 output/Control.Comonad.Env/docs.json−1 output/Control.Comonad.Env/externs.cbor output/Control.Comonad.Env/index.js−37 output/Control.Comonad.Env/index.js.map−1 output/Control.Comonad.Store.Class/corefn.json−1 output/Control.Comonad.Store.Class/docs.json−1 output/Control.Comonad.Store.Class/externs.cbor output/Control.Comonad.Store.Class/index.js−133 output/Control.Comonad.Store.Class/index.js.map−1 output/Control.Comonad.Store.Trans/corefn.json−1 output/Control.Comonad.Store.Trans/docs.json−1 output/Control.Comonad.Store.Trans/externs.cbor output/Control.Comonad.Store.Trans/index.js−80 output/Control.Comonad.Store.Trans/index.js.map−1 output/Control.Comonad.Store/corefn.json−1 output/Control.Comonad.Store/docs.json−1 output/Control.Comonad.Store/externs.cbor output/Control.Comonad.Store/index.js−33 output/Control.Comonad.Store/index.js.map−1 output/Control.Comonad.Traced.Class/corefn.json−1 output/Control.Comonad.Traced.Class/docs.json−1 output/Control.Comonad.Traced.Class/externs.cbor output/Control.Comonad.Traced.Class/index.js−127 output/Control.Comonad.Traced.Class/index.js.map−1 output/Control.Comonad.Traced.Trans/corefn.json−1 output/Control.Comonad.Traced.Trans/docs.json−1 output/Control.Comonad.Traced.Trans/externs.cbor output/Control.Comonad.Traced.Trans/index.js−97 output/Control.Comonad.Traced.Trans/index.js.map−1 output/Control.Comonad.Traced/corefn.json−1 output/Control.Comonad.Traced/docs.json−1 output/Control.Comonad.Traced/externs.cbor output/Control.Comonad.Traced/index.js−28 output/Control.Comonad.Traced/index.js.map−1 output/Control.Comonad.Trans.Class/corefn.json−1 output/Control.Comonad.Trans.Class/docs.json−1 output/Control.Comonad.Trans.Class/externs.cbor output/Control.Comonad.Trans.Class/index.js−15 output/Control.Comonad.Trans.Class/index.js.map−1 output/Control.Comonad/corefn.json−1 output/Control.Comonad/docs.json−1 output/Control.Comonad/externs.cbor output/Control.Comonad/index.js−18 output/Control.Comonad/index.js.map−1 output/Control.Extend/corefn.json−1 output/Control.Extend/docs.json−1 output/Control.Extend/externs.cbor output/Control.Extend/foreign.js−7 output/Control.Extend/index.js−77 output/Control.Extend/index.js.map−1 output/Control.Lazy/corefn.json−1 output/Control.Lazy/docs.json−1 output/Control.Lazy/externs.cbor output/Control.Lazy/index.js−48 output/Control.Lazy/index.js.map−1 output/Control.Monad.Cont.Class/corefn.json−1 output/Control.Monad.Cont.Class/docs.json−1 output/Control.Monad.Cont.Class/externs.cbor output/Control.Monad.Cont.Class/index.js−8 output/Control.Monad.Cont.Class/index.js.map−1 output/Control.Monad.Cont.Trans/corefn.json−1 output/Control.Monad.Cont.Trans/docs.json−1 output/Control.Monad.Cont.Trans/externs.cbor output/Control.Monad.Cont.Trans/index.js−277 output/Control.Monad.Cont.Trans/index.js.map−1 output/Control.Monad.Cont/corefn.json−1 output/Control.Monad.Cont/docs.json−1 output/Control.Monad.Cont/externs.cbor output/Control.Monad.Cont/index.js−53 output/Control.Monad.Cont/index.js.map−1 output/Control.Monad.Error.Class/corefn.json−1 output/Control.Monad.Error.Class/docs.json−1 output/Control.Monad.Error.Class/externs.cbor output/Control.Monad.Error.Class/index.js−158 output/Control.Monad.Error.Class/index.js.map−1 output/Control.Monad.Except.Trans/corefn.json−1 output/Control.Monad.Except.Trans/docs.json−1 output/Control.Monad.Except.Trans/externs.cbor output/Control.Monad.Except.Trans/index.js−483 output/Control.Monad.Except.Trans/index.js.map−1 output/Control.Monad.Except/corefn.json−1 output/Control.Monad.Except/docs.json−1 output/Control.Monad.Except/externs.cbor output/Control.Monad.Except/index.js−34 output/Control.Monad.Except/index.js.map−1 output/Control.Monad.Fork.Class/corefn.json−1 output/Control.Monad.Fork.Class/docs.json−1 output/Control.Monad.Fork.Class/externs.cbor output/Control.Monad.Fork.Class/index.js−208 output/Control.Monad.Fork.Class/index.js.map−1 output/Control.Monad.Free.Class/corefn.json−1 output/Control.Monad.Free.Class/docs.json−1 output/Control.Monad.Free.Class/externs.cbor output/Control.Monad.Free.Class/index.js−119 output/Control.Monad.Free.Class/index.js.map−1 output/Control.Monad.Free/corefn.json−1 output/Control.Monad.Free/docs.json−1 output/Control.Monad.Free/externs.cbor output/Control.Monad.Free/index.js−541 output/Control.Monad.Free/index.js.map−1 output/Control.Monad.Gen.Class/corefn.json−1 output/Control.Monad.Gen.Class/docs.json−1 output/Control.Monad.Gen.Class/externs.cbor output/Control.Monad.Gen.Class/index.js−24 output/Control.Monad.Gen.Class/index.js.map−1 output/Control.Monad.Gen.Common/corefn.json−1 output/Control.Monad.Gen.Common/docs.json−1 output/Control.Monad.Gen.Common/externs.cbor output/Control.Monad.Gen.Common/index.js−97 output/Control.Monad.Gen.Common/index.js.map−1 output/Control.Monad.Gen/corefn.json−1 output/Control.Monad.Gen/docs.json−1 output/Control.Monad.Gen/externs.cbor output/Control.Monad.Gen/index.js−261 output/Control.Monad.Gen/index.js.map−1 output/Control.Monad.Identity.Trans/corefn.json−1 output/Control.Monad.Identity.Trans/docs.json−1 output/Control.Monad.Identity.Trans/externs.cbor output/Control.Monad.Identity.Trans/index.js−209 output/Control.Monad.Identity.Trans/index.js.map−1 output/Control.Monad.List.Trans/corefn.json−1 output/Control.Monad.List.Trans/docs.json−1 output/Control.Monad.List.Trans/externs.cbor output/Control.Monad.List.Trans/index.js−823 output/Control.Monad.List.Trans/index.js.map−1 output/Control.Monad.Maybe.Trans/corefn.json−1 output/Control.Monad.Maybe.Trans/docs.json−1 output/Control.Monad.Maybe.Trans/externs.cbor output/Control.Monad.Maybe.Trans/index.js−428 output/Control.Monad.Maybe.Trans/index.js.map−1 output/Control.Monad.Morph/corefn.json−1 output/Control.Monad.Morph/docs.json−1 output/Control.Monad.Morph/externs.cbor output/Control.Monad.Morph/index.js−364 output/Control.Monad.Morph/index.js.map−1 output/Control.Monad.RWS.Trans/corefn.json−1 output/Control.Monad.RWS.Trans/docs.json−1 output/Control.Monad.RWS.Trans/externs.cbor output/Control.Monad.RWS.Trans/index.js−570 output/Control.Monad.RWS.Trans/index.js.map−1 output/Control.Monad.RWS/corefn.json−1 output/Control.Monad.RWS/docs.json−1 output/Control.Monad.RWS/externs.cbor output/Control.Monad.RWS/index.js−86 output/Control.Monad.RWS/index.js.map−1 output/Control.Monad.Reader.Class/corefn.json−1 output/Control.Monad.Reader.Class/docs.json−1 output/Control.Monad.Reader.Class/externs.cbor output/Control.Monad.Reader.Class/index.js−38 output/Control.Monad.Reader.Class/index.js.map−1 output/Control.Monad.Reader.Trans/corefn.json−1 output/Control.Monad.Reader.Trans/docs.json−1 output/Control.Monad.Reader.Trans/externs.cbor output/Control.Monad.Reader.Trans/index.js−442 output/Control.Monad.Reader.Trans/index.js.map−1 output/Control.Monad.Reader/corefn.json−1 output/Control.Monad.Reader/docs.json−1 output/Control.Monad.Reader/externs.cbor output/Control.Monad.Reader/index.js−35 output/Control.Monad.Reader/index.js.map−1 output/Control.Monad.Rec.Class/corefn.json−1 output/Control.Monad.Rec.Class/docs.json−1 output/Control.Monad.Rec.Class/externs.cbor output/Control.Monad.Rec.Class/index.js−346 output/Control.Monad.Rec.Class/index.js.map−1 output/Control.Monad.ST.Class/corefn.json−1 output/Control.Monad.ST.Class/docs.json−1 output/Control.Monad.ST.Class/externs.cbor output/Control.Monad.ST.Class/index.js−26 output/Control.Monad.ST.Class/index.js.map−1 output/Control.Monad.ST.Global/corefn.json−1 output/Control.Monad.ST.Global/docs.json−1 output/Control.Monad.ST.Global/externs.cbor output/Control.Monad.ST.Global/index.js−7 output/Control.Monad.ST.Global/index.js.map−1 output/Control.Monad.ST.Internal/corefn.json−1 output/Control.Monad.ST.Internal/docs.json−1 output/Control.Monad.ST.Internal/externs.cbor output/Control.Monad.ST.Internal/foreign.js−90 output/Control.Monad.ST.Internal/index.js−144 output/Control.Monad.ST.Internal/index.js.map−1 output/Control.Monad.ST.Ref/corefn.json−1 output/Control.Monad.ST.Ref/docs.json−1 output/Control.Monad.ST.Ref/externs.cbor output/Control.Monad.ST.Ref/index.js−11 output/Control.Monad.ST.Ref/index.js.map−1 output/Control.Monad.ST.Uncurried/corefn.json−1 output/Control.Monad.ST.Uncurried/docs.json−1 output/Control.Monad.ST.Uncurried/externs.cbor output/Control.Monad.ST.Uncurried/foreign.js−229 output/Control.Monad.ST.Uncurried/index.js−26 output/Control.Monad.ST.Uncurried/index.js.map−1 output/Control.Monad.ST/corefn.json−1 output/Control.Monad.ST/docs.json−1 output/Control.Monad.ST/externs.cbor output/Control.Monad.ST/index.js−10 output/Control.Monad.ST/index.js.map−1 output/Control.Monad.State.Class/corefn.json−1 output/Control.Monad.State.Class/docs.json−1 output/Control.Monad.State.Class/externs.cbor output/Control.Monad.State.Class/index.js−53 output/Control.Monad.State.Class/index.js.map−1 output/Control.Monad.State.Trans/corefn.json−1 output/Control.Monad.State.Trans/docs.json−1 output/Control.Monad.State.Trans/externs.cbor output/Control.Monad.State.Trans/index.js−484 output/Control.Monad.State.Trans/index.js.map−1 output/Control.Monad.State/corefn.json−1 output/Control.Monad.State/docs.json−1 output/Control.Monad.State/externs.cbor output/Control.Monad.State/index.js−54 output/Control.Monad.State/index.js.map−1 output/Control.Monad.Trampoline/corefn.json−1 output/Control.Monad.Trampoline/docs.json−1 output/Control.Monad.Trampoline/externs.cbor output/Control.Monad.Trampoline/index.js−16 output/Control.Monad.Trampoline/index.js.map−1 output/Control.Monad.Trans.Class/corefn.json−1 output/Control.Monad.Trans.Class/docs.json−1 output/Control.Monad.Trans.Class/externs.cbor output/Control.Monad.Trans.Class/index.js−8 output/Control.Monad.Trans.Class/index.js.map−1 output/Control.Monad.Writer.Class/corefn.json−1 output/Control.Monad.Writer.Class/docs.json−1 output/Control.Monad.Writer.Class/externs.cbor output/Control.Monad.Writer.Class/index.js−47 output/Control.Monad.Writer.Class/index.js.map−1 output/Control.Monad.Writer.Trans/corefn.json−1 output/Control.Monad.Writer.Trans/docs.json−1 output/Control.Monad.Writer.Trans/externs.cbor output/Control.Monad.Writer.Trans/index.js−498 output/Control.Monad.Writer.Trans/index.js.map−1 output/Control.Monad.Writer/corefn.json−1 output/Control.Monad.Writer/docs.json−1 output/Control.Monad.Writer/externs.cbor output/Control.Monad.Writer/index.js−46 output/Control.Monad.Writer/index.js.map−1 output/Control.Monad/corefn.json−1 output/Control.Monad/docs.json−1 output/Control.Monad/externs.cbor output/Control.Monad/index.js−103 output/Control.Monad/index.js.map−1 output/Control.MonadPlus/corefn.json−1 output/Control.MonadPlus/docs.json−1 output/Control.MonadPlus/externs.cbor output/Control.MonadPlus/index.js−52 output/Control.MonadPlus/index.js.map−1 output/Control.Parallel.Class/corefn.json−1 output/Control.Parallel.Class/docs.json−1 output/Control.Parallel.Class/externs.cbor output/Control.Parallel.Class/index.js−327 output/Control.Parallel.Class/index.js.map−1 output/Control.Parallel/corefn.json−1 output/Control.Parallel/docs.json−1 output/Control.Parallel/externs.cbor output/Control.Parallel/index.js−121 output/Control.Parallel/index.js.map−1 output/Control.Plus/corefn.json−1 output/Control.Plus/docs.json−1 output/Control.Plus/externs.cbor output/Control.Plus/index.js−24 output/Control.Plus/index.js.map−1 output/Control.Promise/corefn.json−1 output/Control.Promise/docs.json−1 output/Control.Promise/externs.cbor output/Control.Promise/foreign.js−24 output/Control.Promise/index.js−60 output/Control.Promise/index.js.map−1 output/Control.Semigroupoid/corefn.json−1 output/Control.Semigroupoid/docs.json−1 output/Control.Semigroupoid/externs.cbor output/Control.Semigroupoid/index.js−27 output/Control.Semigroupoid/index.js.map−1 output/Data.Argonaut.Core/corefn.json−1 output/Data.Argonaut.Core/docs.json−1 output/Data.Argonaut.Core/externs.cbor output/Data.Argonaut.Core/foreign.js−102 output/Data.Argonaut.Core/index.js−179 output/Data.Argonaut.Core/index.js.map−1 output/Data.Argonaut.Decode.Class/corefn.json−1 output/Data.Argonaut.Decode.Class/docs.json−1 output/Data.Argonaut.Decode.Class/externs.cbor output/Data.Argonaut.Decode.Class/index.js−247 output/Data.Argonaut.Decode.Class/index.js.map−1 output/Data.Argonaut.Decode.Combinators/corefn.json−1 output/Data.Argonaut.Decode.Combinators/docs.json−1 output/Data.Argonaut.Decode.Combinators/externs.cbor output/Data.Argonaut.Decode.Combinators/index.js−28 output/Data.Argonaut.Decode.Combinators/index.js.map−1 output/Data.Argonaut.Decode.Decoders/corefn.json−1 output/Data.Argonaut.Decode.Decoders/docs.json−1 output/Data.Argonaut.Decode.Decoders/externs.cbor output/Data.Argonaut.Decode.Decoders/index.js−331 output/Data.Argonaut.Decode.Decoders/index.js.map−1 output/Data.Argonaut.Decode.Error/corefn.json−1 output/Data.Argonaut.Decode.Error/docs.json−1 output/Data.Argonaut.Decode.Error/externs.cbor output/Data.Argonaut.Decode.Error/index.js−283 output/Data.Argonaut.Decode.Error/index.js.map−1 output/Data.Argonaut.Decode.Parser/corefn.json−1 output/Data.Argonaut.Decode.Parser/docs.json−1 output/Data.Argonaut.Decode.Parser/externs.cbor output/Data.Argonaut.Decode.Parser/index.js−16 output/Data.Argonaut.Decode.Parser/index.js.map−1 output/Data.Argonaut.Decode/corefn.json−1 output/Data.Argonaut.Decode/docs.json−1 output/Data.Argonaut.Decode/externs.cbor output/Data.Argonaut.Decode/index.js−36 output/Data.Argonaut.Decode/index.js.map−1 output/Data.Argonaut.Encode.Class/corefn.json−1 output/Data.Argonaut.Encode.Class/docs.json−1 output/Data.Argonaut.Encode.Class/externs.cbor output/Data.Argonaut.Encode.Class/index.js−191 output/Data.Argonaut.Encode.Class/index.js.map−1 output/Data.Argonaut.Encode.Combinators/corefn.json−1 output/Data.Argonaut.Encode.Combinators/docs.json−1 output/Data.Argonaut.Encode.Combinators/externs.cbor output/Data.Argonaut.Encode.Combinators/index.js−22 output/Data.Argonaut.Encode.Combinators/index.js.map−1 output/Data.Argonaut.Encode.Encoders/corefn.json−1 output/Data.Argonaut.Encode.Encoders/docs.json−1 output/Data.Argonaut.Encode.Encoders/externs.cbor output/Data.Argonaut.Encode.Encoders/index.js−209 output/Data.Argonaut.Encode.Encoders/index.js.map−1 output/Data.Argonaut.Encode/corefn.json−1 output/Data.Argonaut.Encode/docs.json−1 output/Data.Argonaut.Encode/externs.cbor output/Data.Argonaut.Encode/index.js−23 output/Data.Argonaut.Encode/index.js.map−1 output/Data.Argonaut.Gen/corefn.json−1 output/Data.Argonaut.Gen/docs.json−1 output/Data.Argonaut.Gen/externs.cbor output/Data.Argonaut.Gen/index.js−75 output/Data.Argonaut.Gen/index.js.map−1 output/Data.Argonaut.Parser/corefn.json−1 output/Data.Argonaut.Parser/docs.json−1 output/Data.Argonaut.Parser/externs.cbor output/Data.Argonaut.Parser/foreign.js−8 output/Data.Argonaut.Parser/index.js−10 output/Data.Argonaut.Parser/index.js.map−1 output/Data.Array.NonEmpty.Internal/corefn.json−1 output/Data.Array.NonEmpty.Internal/docs.json−1 output/Data.Array.NonEmpty.Internal/externs.cbor output/Data.Array.NonEmpty.Internal/foreign.js−77 output/Data.Array.NonEmpty.Internal/index.js−105 output/Data.Array.NonEmpty.Internal/index.js.map−1 output/Data.Array.NonEmpty/corefn.json−1 output/Data.Array.NonEmpty/docs.json−1 output/Data.Array.NonEmpty/externs.cbor output/Data.Array.NonEmpty/index.js−597 output/Data.Array.NonEmpty/index.js.map−1 output/Data.Array.Partial/corefn.json−1 output/Data.Array.Partial/docs.json−1 output/Data.Array.Partial/externs.cbor output/Data.Array.Partial/index.js−30 output/Data.Array.Partial/index.js.map−1 output/Data.Array.ST.Iterator/corefn.json−1 output/Data.Array.ST.Iterator/docs.json−1 output/Data.Array.ST.Iterator/externs.cbor output/Data.Array.ST.Iterator/index.js−97 output/Data.Array.ST.Iterator/index.js.map−1 output/Data.Array.ST.Partial/corefn.json−1 output/Data.Array.ST.Partial/docs.json−1 output/Data.Array.ST.Partial/externs.cbor output/Data.Array.ST.Partial/foreign.js−7 output/Data.Array.ST.Partial/index.js−14 output/Data.Array.ST.Partial/index.js.map−1 output/Data.Array.ST/corefn.json−1 output/Data.Array.ST/docs.json−1 output/Data.Array.ST/externs.cbor output/Data.Array.ST/foreign.js−113 output/Data.Array.ST/index.js−112 output/Data.Array.ST/index.js.map−1 output/Data.Array/corefn.json−1 output/Data.Array/docs.json−1 output/Data.Array/externs.cbor output/Data.Array/foreign.js−298 output/Data.Array/index.js−822 output/Data.Array/index.js.map−1 output/Data.ArrayBuffer.Types/corefn.json−1 output/Data.ArrayBuffer.Types/docs.json−1 output/Data.ArrayBuffer.Types/externs.cbor output/Data.ArrayBuffer.Types/index.js−3 output/Data.ArrayBuffer.Types/index.js.map−1 output/Data.Bifoldable/corefn.json−1 output/Data.Bifoldable/docs.json−1 output/Data.Bifoldable/externs.cbor output/Data.Bifoldable/index.js−451 output/Data.Bifoldable/index.js.map−1 output/Data.Bifunctor.Join/corefn.json−1 output/Data.Bifunctor.Join/docs.json−1 output/Data.Bifunctor.Join/externs.cbor output/Data.Bifunctor.Join/index.js−74 output/Data.Bifunctor.Join/index.js.map−1 output/Data.Bifunctor/corefn.json−1 output/Data.Bifunctor/docs.json−1 output/Data.Bifunctor/externs.cbor output/Data.Bifunctor/index.js−65 output/Data.Bifunctor/index.js.map−1 output/Data.Bitraversable/corefn.json−1 output/Data.Bitraversable/docs.json−1 output/Data.Bitraversable/externs.cbor output/Data.Bitraversable/index.js−357 output/Data.Bitraversable/index.js.map−1 output/Data.Boolean/corefn.json−1 output/Data.Boolean/docs.json−1 output/Data.Boolean/externs.cbor output/Data.Boolean/index.js−6 output/Data.Boolean/index.js.map−1 output/Data.BooleanAlgebra/corefn.json−1 output/Data.BooleanAlgebra/docs.json−1 output/Data.BooleanAlgebra/externs.cbor output/Data.BooleanAlgebra/index.js−75 output/Data.BooleanAlgebra/index.js.map−1 output/Data.Bounded.Generic/corefn.json−1 output/Data.Bounded.Generic/docs.json−1 output/Data.Bounded.Generic/externs.cbor output/Data.Bounded.Generic/index.js−94 output/Data.Bounded.Generic/index.js.map−1 output/Data.Bounded/corefn.json−1 output/Data.Bounded/docs.json−1 output/Data.Bounded/externs.cbor output/Data.Bounded/foreign.js−8 output/Data.Bounded/index.js−162 output/Data.Bounded/index.js.map−1 output/Data.CatList/corefn.json−1 output/Data.CatList/docs.json−1 output/Data.CatList/externs.cbor output/Data.CatList/index.js−480 output/Data.CatList/index.js.map−1 output/Data.CatQueue/corefn.json−1 output/Data.CatQueue/docs.json−1 output/Data.CatQueue/externs.cbor output/Data.CatQueue/index.js−445 output/Data.CatQueue/index.js.map−1 output/Data.Char.Gen/corefn.json−1 output/Data.Char.Gen/docs.json−1 output/Data.Char.Gen/externs.cbor output/Data.Char.Gen/index.js−43 output/Data.Char.Gen/index.js.map−1 output/Data.Char/corefn.json−1 output/Data.Char/docs.json−1 output/Data.Char/externs.cbor output/Data.Char/index.js−9 output/Data.Char/index.js.map−1 output/Data.CommutativeRing/corefn.json−1 output/Data.CommutativeRing/docs.json−1 output/Data.CommutativeRing/externs.cbor output/Data.CommutativeRing/index.js−80 output/Data.CommutativeRing/index.js.map−1 output/Data.Comparison/corefn.json−1 output/Data.Comparison/docs.json−1 output/Data.Comparison/externs.cbor output/Data.Comparison/index.js−50 output/Data.Comparison/index.js.map−1 output/Data.Const/corefn.json−1 output/Data.Const/docs.json−1 output/Data.Const/externs.cbor output/Data.Const/index.js−142 output/Data.Const/index.js.map−1 output/Data.Coyoneda/corefn.json−1 output/Data.Coyoneda/docs.json−1 output/Data.Coyoneda/externs.cbor output/Data.Coyoneda/index.js−478 output/Data.Coyoneda/index.js.map−1 output/Data.Date.Component.Gen/corefn.json−1 output/Data.Date.Component.Gen/docs.json−1 output/Data.Date.Component.Gen/externs.cbor output/Data.Date.Component.Gen/index.js−30 output/Data.Date.Component.Gen/index.js.map−1 output/Data.Date.Component/corefn.json−1 output/Data.Date.Component/docs.json−1 output/Data.Date.Component/externs.cbor output/Data.Date.Component/index.js−861 output/Data.Date.Component/index.js.map−1 output/Data.Date.Gen/corefn.json−1 output/Data.Date.Gen/docs.json−1 output/Data.Date.Gen/externs.cbor output/Data.Date.Gen/index.js−50 output/Data.Date.Gen/index.js.map−1 output/Data.Date/corefn.json−1 output/Data.Date/docs.json−1 output/Data.Date/externs.cbor output/Data.Date/foreign.js−22 output/Data.Date/index.js−366 output/Data.Date/index.js.map−1 output/Data.DateTime.Gen/corefn.json−1 output/Data.DateTime.Gen/docs.json−1 output/Data.DateTime.Gen/externs.cbor output/Data.DateTime.Gen/index.js−28 output/Data.DateTime.Gen/index.js.map−1 output/Data.DateTime.Instant/corefn.json−1 output/Data.DateTime.Instant/docs.json−1 output/Data.DateTime.Instant/externs.cbor output/Data.DateTime.Instant/foreign.js−18 output/Data.DateTime.Instant/index.js−100 output/Data.DateTime.Instant/index.js.map−1 output/Data.DateTime/corefn.json−1 output/Data.DateTime/docs.json−1 output/Data.DateTime/externs.cbor output/Data.DateTime/foreign.js−33 output/Data.DateTime/index.js−207 output/Data.DateTime/index.js.map−1 output/Data.Decidable/corefn.json−1 output/Data.Decidable/docs.json−1 output/Data.Decidable/externs.cbor output/Data.Decidable/index.js−79 output/Data.Decidable/index.js.map−1 output/Data.Decide/corefn.json−1 output/Data.Decide/docs.json−1 output/Data.Decide/externs.cbor output/Data.Decide/index.js−128 output/Data.Decide/index.js.map−1 output/Data.Distributive/corefn.json−1 output/Data.Distributive/docs.json−1 output/Data.Distributive/externs.cbor output/Data.Distributive/index.js−124 output/Data.Distributive/index.js.map−1 output/Data.Divide/corefn.json−1 output/Data.Divide/docs.json−1 output/Data.Divide/externs.cbor output/Data.Divide/index.js−94 output/Data.Divide/index.js.map−1 output/Data.Divisible/corefn.json−1 output/Data.Divisible/docs.json−1 output/Data.Divisible/externs.cbor output/Data.Divisible/index.js−51 output/Data.Divisible/index.js.map−1 output/Data.DivisionRing/corefn.json−1 output/Data.DivisionRing/docs.json−1 output/Data.DivisionRing/externs.cbor output/Data.DivisionRing/index.js−49 output/Data.DivisionRing/index.js.map−1 output/Data.Either.Inject/corefn.json−1 output/Data.Either.Inject/docs.json−1 output/Data.Either.Inject/externs.cbor output/Data.Either.Inject/index.js−42 output/Data.Either.Inject/index.js.map−1 output/Data.Either.Nested/corefn.json−1 output/Data.Either.Nested/docs.json−1 output/Data.Either.Nested/externs.cbor output/Data.Either.Nested/index.js−634 output/Data.Either.Nested/index.js.map−1 output/Data.Either/corefn.json−1 output/Data.Either/docs.json−1 output/Data.Either/externs.cbor output/Data.Either/index.js−356 output/Data.Either/index.js.map−1 output/Data.Enum.Gen/corefn.json−1 output/Data.Enum.Gen/docs.json−1 output/Data.Enum.Gen/externs.cbor output/Data.Enum.Gen/index.js−32 output/Data.Enum.Gen/index.js.map−1 output/Data.Enum.Generic/corefn.json−1 output/Data.Enum.Generic/docs.json−1 output/Data.Enum.Generic/externs.cbor output/Data.Enum.Generic/index.js−319 output/Data.Enum.Generic/index.js.map−1 output/Data.Enum/corefn.json−1 output/Data.Enum/docs.json−1 output/Data.Enum/externs.cbor output/Data.Enum/foreign.js−7 output/Data.Enum/index.js−631 output/Data.Enum/index.js.map−1 output/Data.Eq.Generic/corefn.json−1 output/Data.Eq.Generic/docs.json−1 output/Data.Eq.Generic/externs.cbor output/Data.Eq.Generic/index.js−94 output/Data.Eq.Generic/index.js.map−1 output/Data.Eq/corefn.json−1 output/Data.Eq/docs.json−1 output/Data.Eq/externs.cbor output/Data.Eq/foreign.js−23 output/Data.Eq/index.js−140 output/Data.Eq/index.js.map−1 output/Data.Equivalence/corefn.json−1 output/Data.Equivalence/docs.json−1 output/Data.Equivalence/externs.cbor output/Data.Equivalence/index.js−61 output/Data.Equivalence/index.js.map−1 output/Data.EuclideanRing/corefn.json−1 output/Data.EuclideanRing/docs.json−1 output/Data.EuclideanRing/externs.cbor output/Data.EuclideanRing/foreign.js−26 output/Data.EuclideanRing/index.js−92 output/Data.EuclideanRing/index.js.map−1 output/Data.Exists/corefn.json−1 output/Data.Exists/docs.json−1 output/Data.Exists/externs.cbor output/Data.Exists/index.js−9 output/Data.Exists/index.js.map−1 output/Data.Field/corefn.json−1 output/Data.Field/docs.json−1 output/Data.Field/externs.cbor output/Data.Field/index.js−42 output/Data.Field/index.js.map−1 output/Data.Foldable/corefn.json−1 output/Data.Foldable/docs.json−1 output/Data.Foldable/externs.cbor output/Data.Foldable/foreign.js−25 output/Data.Foldable/index.js−972 output/Data.Foldable/index.js.map−1 output/Data.FoldableWithIndex/corefn.json−1 output/Data.FoldableWithIndex/docs.json−1 output/Data.FoldableWithIndex/externs.cbor output/Data.FoldableWithIndex/index.js−786 output/Data.FoldableWithIndex/index.js.map−1 output/Data.Function.Memoize/corefn.json−1 output/Data.Function.Memoize/docs.json−1 output/Data.Function.Memoize/externs.cbor output/Data.Function.Memoize/index.js−408 output/Data.Function.Memoize/index.js.map−1 output/Data.Function.Uncurried/corefn.json−1 output/Data.Function.Uncurried/docs.json−1 output/Data.Function.Uncurried/externs.cbor output/Data.Function.Uncurried/foreign.js−218 output/Data.Function.Uncurried/index.js−35 output/Data.Function.Uncurried/index.js.map−1 output/Data.Function/corefn.json−1 output/Data.Function/docs.json−1 output/Data.Function/externs.cbor output/Data.Function/index.js−73 output/Data.Function/index.js.map−1 output/Data.Functor.App/corefn.json−1 output/Data.Functor.App/docs.json−1 output/Data.Functor.App/externs.cbor output/Data.Functor.App/index.js−172 output/Data.Functor.App/index.js.map−1 output/Data.Functor.Clown/corefn.json−1 output/Data.Functor.Clown/docs.json−1 output/Data.Functor.Clown/externs.cbor output/Data.Functor.Clown/index.js−106 output/Data.Functor.Clown/index.js.map−1 output/Data.Functor.Compose/corefn.json−1 output/Data.Functor.Compose/docs.json−1 output/Data.Functor.Compose/externs.cbor output/Data.Functor.Compose/index.js−215 output/Data.Functor.Compose/index.js.map−1 output/Data.Functor.Contravariant/corefn.json−1 output/Data.Functor.Contravariant/docs.json−1 output/Data.Functor.Contravariant/externs.cbor output/Data.Functor.Contravariant/index.js−46 output/Data.Functor.Contravariant/index.js.map−1 output/Data.Functor.Coproduct.Inject/corefn.json−1 output/Data.Functor.Coproduct.Inject/docs.json−1 output/Data.Functor.Coproduct.Inject/externs.cbor output/Data.Functor.Coproduct.Inject/index.js−45 output/Data.Functor.Coproduct.Inject/index.js.map−1 output/Data.Functor.Coproduct.Nested/corefn.json−1 output/Data.Functor.Coproduct.Nested/docs.json−1 output/Data.Functor.Coproduct.Nested/externs.cbor output/Data.Functor.Coproduct.Nested/index.js−635 output/Data.Functor.Coproduct.Nested/index.js.map−1 output/Data.Functor.Coproduct/corefn.json−1 output/Data.Functor.Coproduct/docs.json−1 output/Data.Functor.Coproduct/externs.cbor output/Data.Functor.Coproduct/index.js−223 output/Data.Functor.Coproduct/index.js.map−1 output/Data.Functor.Costar/corefn.json−1 output/Data.Functor.Costar/docs.json−1 output/Data.Functor.Costar/externs.cbor output/Data.Functor.Costar/index.js−210 output/Data.Functor.Costar/index.js.map−1 output/Data.Functor.Flip/corefn.json−1 output/Data.Functor.Flip/docs.json−1 output/Data.Functor.Flip/externs.cbor output/Data.Functor.Flip/index.js−124 output/Data.Functor.Flip/index.js.map−1 output/Data.Functor.Invariant/corefn.json−1 output/Data.Functor.Invariant/docs.json−1 output/Data.Functor.Invariant/externs.cbor output/Data.Functor.Invariant/index.js−101 output/Data.Functor.Invariant/index.js.map−1 output/Data.Functor.Joker/corefn.json−1 output/Data.Functor.Joker/docs.json−1 output/Data.Functor.Joker/externs.cbor output/Data.Functor.Joker/index.js−191 output/Data.Functor.Joker/index.js.map−1 output/Data.Functor.Product.Nested/corefn.json−1 output/Data.Functor.Product.Nested/docs.json−1 output/Data.Functor.Product.Nested/externs.cbor output/Data.Functor.Product.Nested/index.js−176 output/Data.Functor.Product.Nested/index.js.map−1 output/Data.Functor.Product/corefn.json−1 output/Data.Functor.Product/docs.json−1 output/Data.Functor.Product/externs.cbor output/Data.Functor.Product/index.js−218 output/Data.Functor.Product/index.js.map−1 output/Data.Functor.Product2/corefn.json−1 output/Data.Functor.Product2/docs.json−1 output/Data.Functor.Product2/externs.cbor output/Data.Functor.Product2/index.js−162 output/Data.Functor.Product2/index.js.map−1 output/Data.Functor.Variant/corefn.json−1 output/Data.Functor.Variant/docs.json−1 output/Data.Functor.Variant/externs.cbor output/Data.Functor.Variant/index.js−602 output/Data.Functor.Variant/index.js.map−1 output/Data.Functor/corefn.json−1 output/Data.Functor/docs.json−1 output/Data.Functor/externs.cbor output/Data.Functor/foreign.js−10 output/Data.Functor/index.js−69 output/Data.Functor/index.js.map−1 output/Data.FunctorWithIndex/corefn.json−1 output/Data.FunctorWithIndex/docs.json−1 output/Data.FunctorWithIndex/externs.cbor output/Data.FunctorWithIndex/foreign.js−10 output/Data.FunctorWithIndex/index.js−252 output/Data.FunctorWithIndex/index.js.map−1 output/Data.Generic.Rep/corefn.json−1 output/Data.Generic.Rep/docs.json−1 output/Data.Generic.Rep/externs.cbor output/Data.Generic.Rep/index.js−131 output/Data.Generic.Rep/index.js.map−1 output/Data.HeytingAlgebra.Generic/corefn.json−1 output/Data.HeytingAlgebra.Generic/docs.json−1 output/Data.HeytingAlgebra.Generic/externs.cbor output/Data.HeytingAlgebra.Generic/index.js−214 output/Data.HeytingAlgebra.Generic/index.js.map−1 output/Data.HeytingAlgebra/corefn.json−1 output/Data.HeytingAlgebra/docs.json−1 output/Data.HeytingAlgebra/externs.cbor output/Data.HeytingAlgebra/foreign.js−15 output/Data.HeytingAlgebra/index.js−295 output/Data.HeytingAlgebra/index.js.map−1 output/Data.Identity/corefn.json−1 output/Data.Identity/docs.json−1 output/Data.Identity/externs.cbor output/Data.Identity/index.js−171 output/Data.Identity/index.js.map−1 output/Data.Int.Bits/corefn.json−1 output/Data.Int.Bits/docs.json−1 output/Data.Int.Bits/externs.cbor output/Data.Int.Bits/foreign.js−48 output/Data.Int.Bits/index.js−13 output/Data.Int.Bits/index.js.map−1 output/Data.Int/corefn.json−1 output/Data.Int/docs.json−1 output/Data.Int/externs.cbor output/Data.Int/foreign.js−65 output/Data.Int/index.js−247 output/Data.Int/index.js.map−1 output/Data.Interval.Duration.Iso/corefn.json−1 output/Data.Interval.Duration.Iso/docs.json−1 output/Data.Interval.Duration.Iso/externs.cbor output/Data.Interval.Duration.Iso/index.js−269 output/Data.Interval.Duration.Iso/index.js.map−1 output/Data.Interval.Duration/corefn.json−1 output/Data.Interval.Duration/docs.json−1 output/Data.Interval.Duration/externs.cbor output/Data.Interval.Duration/index.js−287 output/Data.Interval.Duration/index.js.map−1 output/Data.Interval/corefn.json−1 output/Data.Interval/docs.json−1 output/Data.Interval/externs.cbor output/Data.Interval/index.js−596 output/Data.Interval/index.js.map−1 output/Data.JSDate/corefn.json−1 output/Data.JSDate/docs.json−1 output/Data.JSDate/externs.cbor output/Data.JSDate/foreign.js−83 output/Data.JSDate/index.js−182 output/Data.JSDate/index.js.map−1 output/Data.Lazy/corefn.json−1 output/Data.Lazy/docs.json−1 output/Data.Lazy/externs.cbor output/Data.Lazy/foreign.js−14 output/Data.Lazy/index.js−489 output/Data.Lazy/index.js.map−1 output/Data.List.Internal/corefn.json−1 output/Data.List.Internal/docs.json−1 output/Data.List.Internal/externs.cbor output/Data.List.Internal/index.js−314 output/Data.List.Internal/index.js.map−1 output/Data.List.Lazy.NonEmpty/corefn.json−1 output/Data.List.Lazy.NonEmpty/docs.json−1 output/Data.List.Lazy.NonEmpty/externs.cbor output/Data.List.Lazy.NonEmpty/index.js−130 output/Data.List.Lazy.NonEmpty/index.js.map−1 output/Data.List.Lazy.Types/corefn.json−1 output/Data.List.Lazy.Types/docs.json−1 output/Data.List.Lazy.Types/externs.cbor output/Data.List.Lazy.Types/index.js−963 output/Data.List.Lazy.Types/index.js.map−1 output/Data.List.Lazy/corefn.json−1 output/Data.List.Lazy/docs.json−1 output/Data.List.Lazy/externs.cbor output/Data.List.Lazy/index.js−1046 output/Data.List.Lazy/index.js.map−1 output/Data.List.NonEmpty/corefn.json−1 output/Data.List.NonEmpty/docs.json−1 output/Data.List.NonEmpty/externs.cbor output/Data.List.NonEmpty/index.js−506 output/Data.List.NonEmpty/index.js.map−1 output/Data.List.Partial/corefn.json−1 output/Data.List.Partial/docs.json−1 output/Data.List.Partial/externs.cbor output/Data.List.Partial/index.js−57 output/Data.List.Partial/index.js.map−1 output/Data.List.Types/corefn.json−1 output/Data.List.Types/docs.json−1 output/Data.List.Types/externs.cbor output/Data.List.Types/index.js−909 output/Data.List.Types/index.js.map−1 output/Data.List.ZipList/corefn.json−1 output/Data.List.ZipList/docs.json−1 output/Data.List.ZipList/externs.cbor output/Data.List.ZipList/index.js−105 output/Data.List.ZipList/index.js.map−1 output/Data.List/corefn.json−1 output/Data.List/docs.json−1 output/Data.List/externs.cbor output/Data.List/index.js−1235 output/Data.List/index.js.map−1 output/Data.Map.Gen/corefn.json−1 output/Data.Map.Gen/docs.json−1 output/Data.Map.Gen/externs.cbor output/Data.Map.Gen/index.js−40 output/Data.Map.Gen/index.js.map−1 output/Data.Map.Internal/corefn.json−1 output/Data.Map.Internal/docs.json−1 output/Data.Map.Internal/externs.cbor output/Data.Map.Internal/index.js−1845 output/Data.Map.Internal/index.js.map−1 output/Data.Map/corefn.json−1 output/Data.Map/docs.json−1 output/Data.Map/externs.cbor output/Data.Map/index.js−154 output/Data.Map/index.js.map−1 output/Data.Maybe.First/corefn.json−1 output/Data.Maybe.First/docs.json−1 output/Data.Maybe.First/externs.cbor output/Data.Maybe.First/index.js−100 output/Data.Maybe.First/index.js.map−1 output/Data.Maybe.Last/corefn.json−1 output/Data.Maybe.Last/docs.json−1 output/Data.Maybe.Last/externs.cbor output/Data.Maybe.Last/index.js−103 output/Data.Maybe.Last/index.js.map−1 output/Data.Maybe/corefn.json−1 output/Data.Maybe/docs.json−1 output/Data.Maybe/externs.cbor output/Data.Maybe/index.js−378 output/Data.Maybe/index.js.map−1 output/Data.Monoid.Additive/corefn.json−1 output/Data.Monoid.Additive/docs.json−1 output/Data.Monoid.Additive/externs.cbor output/Data.Monoid.Additive/index.js−115 output/Data.Monoid.Additive/index.js.map−1 output/Data.Monoid.Alternate/corefn.json−1 output/Data.Monoid.Alternate/docs.json−1 output/Data.Monoid.Alternate/externs.cbor output/Data.Monoid.Alternate/index.js−107 output/Data.Monoid.Alternate/index.js.map−1 output/Data.Monoid.Conj/corefn.json−1 output/Data.Monoid.Conj/docs.json−1 output/Data.Monoid.Conj/externs.cbor output/Data.Monoid.Conj/index.js−134 output/Data.Monoid.Conj/index.js.map−1 output/Data.Monoid.Disj/corefn.json−1 output/Data.Monoid.Disj/docs.json−1 output/Data.Monoid.Disj/externs.cbor output/Data.Monoid.Disj/index.js−134 output/Data.Monoid.Disj/index.js.map−1 output/Data.Monoid.Dual/corefn.json−1 output/Data.Monoid.Dual/docs.json−1 output/Data.Monoid.Dual/externs.cbor output/Data.Monoid.Dual/index.js−116 output/Data.Monoid.Dual/index.js.map−1 output/Data.Monoid.Endo/corefn.json−1 output/Data.Monoid.Endo/docs.json−1 output/Data.Monoid.Endo/externs.cbor output/Data.Monoid.Endo/index.js−53 output/Data.Monoid.Endo/index.js.map−1 output/Data.Monoid.Generic/corefn.json−1 output/Data.Monoid.Generic/docs.json−1 output/Data.Monoid.Generic/externs.cbor output/Data.Monoid.Generic/index.js−44 output/Data.Monoid.Generic/index.js.map−1 output/Data.Monoid.Multiplicative/corefn.json−1 output/Data.Monoid.Multiplicative/docs.json−1 output/Data.Monoid.Multiplicative/externs.cbor output/Data.Monoid.Multiplicative/index.js−115 output/Data.Monoid.Multiplicative/index.js.map−1 output/Data.Monoid/corefn.json−1 output/Data.Monoid/docs.json−1 output/Data.Monoid/externs.cbor output/Data.Monoid/index.js−153 output/Data.Monoid/index.js.map−1 output/Data.NaturalTransformation/corefn.json−1 output/Data.NaturalTransformation/docs.json−1 output/Data.NaturalTransformation/externs.cbor output/Data.NaturalTransformation/index.js−3 output/Data.NaturalTransformation/index.js.map−1 output/Data.Newtype/corefn.json−1 output/Data.Newtype/docs.json−1 output/Data.Newtype/externs.cbor output/Data.Newtype/index.js−198 output/Data.Newtype/index.js.map−1 output/Data.NonEmpty/corefn.json−1 output/Data.NonEmpty/docs.json−1 output/Data.NonEmpty/externs.cbor output/Data.NonEmpty/index.js−376 output/Data.NonEmpty/index.js.map−1 output/Data.Nullable/corefn.json−1 output/Data.Nullable/docs.json−1 output/Data.Nullable/externs.cbor output/Data.Nullable/foreign.js−12 output/Data.Nullable/index.js−62 output/Data.Nullable/index.js.map−1 output/Data.Number.Approximate/corefn.json−1 output/Data.Number.Approximate/docs.json−1 output/Data.Number.Approximate/externs.cbor output/Data.Number.Approximate/index.js−43 output/Data.Number.Approximate/index.js.map−1 output/Data.Number.Format/corefn.json−1 output/Data.Number.Format/docs.json−1 output/Data.Number.Format/externs.cbor output/Data.Number.Format/foreign.js−12 output/Data.Number.Format/index.js−71 output/Data.Number.Format/index.js.map−1 output/Data.Number/corefn.json−1 output/Data.Number/docs.json−1 output/Data.Number/externs.cbor output/Data.Number/foreign.js−80 output/Data.Number/index.js−54 output/Data.Number/index.js.map−1 output/Data.Op/corefn.json−1 output/Data.Op/docs.json−1 output/Data.Op/externs.cbor output/Data.Op/index.js−52 output/Data.Op/index.js.map−1 output/Data.Ord.Down/corefn.json−1 output/Data.Ord.Down/docs.json−1 output/Data.Ord.Down/externs.cbor output/Data.Ord.Down/index.js−57 output/Data.Ord.Down/index.js.map−1 output/Data.Ord.Generic/corefn.json−1 output/Data.Ord.Generic/docs.json−1 output/Data.Ord.Generic/externs.cbor output/Data.Ord.Generic/index.js−105 output/Data.Ord.Generic/index.js.map−1 output/Data.Ord.Max/corefn.json−1 output/Data.Ord.Max/docs.json−1 output/Data.Ord.Max/externs.cbor output/Data.Ord.Max/index.js−66 output/Data.Ord.Max/index.js.map−1 output/Data.Ord.Min/corefn.json−1 output/Data.Ord.Min/docs.json−1 output/Data.Ord.Min/externs.cbor output/Data.Ord.Min/index.js−66 output/Data.Ord.Min/index.js.map−1 output/Data.Ord/corefn.json−1 output/Data.Ord/docs.json−1 output/Data.Ord/externs.cbor output/Data.Ord/foreign.js−43 output/Data.Ord/index.js−409 output/Data.Ord/index.js.map−1 output/Data.Ordering/corefn.json−1 output/Data.Ordering/docs.json−1 output/Data.Ordering/externs.cbor output/Data.Ordering/index.js−90 output/Data.Ordering/index.js.map−1 output/Data.Posix.Signal/corefn.json−1 output/Data.Posix.Signal/docs.json−1 output/Data.Posix.Signal/externs.cbor output/Data.Posix.Signal/index.js−1019 output/Data.Posix.Signal/index.js.map−1 output/Data.Posix/corefn.json−1 output/Data.Posix/docs.json−1 output/Data.Posix/externs.cbor output/Data.Posix/index.js−68 output/Data.Posix/index.js.map−1 output/Data.Predicate/corefn.json−1 output/Data.Predicate/docs.json−1 output/Data.Predicate/externs.cbor output/Data.Predicate/index.js−30 output/Data.Predicate/index.js.map−1 output/Data.Profunctor.Choice/corefn.json−1 output/Data.Profunctor.Choice/docs.json−1 output/Data.Profunctor.Choice/externs.cbor output/Data.Profunctor.Choice/index.js−62 output/Data.Profunctor.Choice/index.js.map−1 output/Data.Profunctor.Closed/corefn.json−1 output/Data.Profunctor.Closed/docs.json−1 output/Data.Profunctor.Closed/externs.cbor output/Data.Profunctor.Closed/index.js−17 output/Data.Profunctor.Closed/index.js.map−1 output/Data.Profunctor.Cochoice/corefn.json−1 output/Data.Profunctor.Cochoice/docs.json−1 output/Data.Profunctor.Cochoice/externs.cbor output/Data.Profunctor.Cochoice/index.js−12 output/Data.Profunctor.Cochoice/index.js.map−1 output/Data.Profunctor.Costrong/corefn.json−1 output/Data.Profunctor.Costrong/docs.json−1 output/Data.Profunctor.Costrong/externs.cbor output/Data.Profunctor.Costrong/index.js−12 output/Data.Profunctor.Costrong/index.js.map−1 output/Data.Profunctor.Join/corefn.json−1 output/Data.Profunctor.Join/docs.json−1 output/Data.Profunctor.Join/externs.cbor output/Data.Profunctor.Join/index.js−69 output/Data.Profunctor.Join/index.js.map−1 output/Data.Profunctor.Split/corefn.json−1 output/Data.Profunctor.Split/docs.json−1 output/Data.Profunctor.Split/externs.cbor output/Data.Profunctor.Split/index.js−90 output/Data.Profunctor.Split/index.js.map−1 output/Data.Profunctor.Star/corefn.json−1 output/Data.Profunctor.Star/docs.json−1 output/Data.Profunctor.Star/externs.cbor output/Data.Profunctor.Star/index.js−323 output/Data.Profunctor.Star/index.js.map−1 output/Data.Profunctor.Strong/corefn.json−1 output/Data.Profunctor.Strong/docs.json−1 output/Data.Profunctor.Strong/externs.cbor output/Data.Profunctor.Strong/index.js−56 output/Data.Profunctor.Strong/index.js.map−1 output/Data.Profunctor/corefn.json−1 output/Data.Profunctor/docs.json−1 output/Data.Profunctor/externs.cbor output/Data.Profunctor/index.js−65 output/Data.Profunctor/index.js.map−1 output/Data.Reflectable/corefn.json−1 output/Data.Reflectable/docs.json−1 output/Data.Reflectable/externs.cbor output/Data.Reflectable/foreign.js−5 output/Data.Reflectable/index.js−32 output/Data.Reflectable/index.js.map−1 output/Data.Ring.Generic/corefn.json−1 output/Data.Ring.Generic/docs.json−1 output/Data.Ring.Generic/externs.cbor output/Data.Ring.Generic/index.js−67 output/Data.Ring.Generic/index.js.map−1 output/Data.Ring/corefn.json−1 output/Data.Ring/docs.json−1 output/Data.Ring/externs.cbor output/Data.Ring/foreign.js−12 output/Data.Ring/index.js−142 output/Data.Ring/index.js.map−1 output/Data.Semigroup.First/corefn.json−1 output/Data.Semigroup.First/docs.json−1 output/Data.Semigroup.First/externs.cbor output/Data.Semigroup.First/index.js−101 output/Data.Semigroup.First/index.js.map−1 output/Data.Semigroup.Foldable/corefn.json−1 output/Data.Semigroup.Foldable/docs.json−1 output/Data.Semigroup.Foldable/externs.cbor output/Data.Semigroup.Foldable/index.js−347 output/Data.Semigroup.Foldable/index.js.map−1 output/Data.Semigroup.Generic/corefn.json−1 output/Data.Semigroup.Generic/docs.json−1 output/Data.Semigroup.Generic/externs.cbor output/Data.Semigroup.Generic/index.js−75 output/Data.Semigroup.Generic/index.js.map−1 output/Data.Semigroup.Last/corefn.json−1 output/Data.Semigroup.Last/docs.json−1 output/Data.Semigroup.Last/externs.cbor output/Data.Semigroup.Last/index.js−101 output/Data.Semigroup.Last/index.js.map−1 output/Data.Semigroup.Traversable/corefn.json−1 output/Data.Semigroup.Traversable/docs.json−1 output/Data.Semigroup.Traversable/externs.cbor output/Data.Semigroup.Traversable/index.js−127 output/Data.Semigroup.Traversable/index.js.map−1 output/Data.Semigroup/corefn.json−1 output/Data.Semigroup/docs.json−1 output/Data.Semigroup/externs.cbor output/Data.Semigroup/foreign.js−13 output/Data.Semigroup/index.js−104 output/Data.Semigroup/index.js.map−1 output/Data.Semiring.Generic/corefn.json−1 output/Data.Semiring.Generic/docs.json−1 output/Data.Semiring.Generic/externs.cbor output/Data.Semiring.Generic/index.js−142 output/Data.Semiring.Generic/index.js.map−1 output/Data.Semiring/corefn.json−1 output/Data.Semiring/docs.json−1 output/Data.Semiring/externs.cbor output/Data.Semiring/foreign.js−25 output/Data.Semiring/index.js−212 output/Data.Semiring/index.js.map−1 output/Data.Set.NonEmpty/corefn.json−1 output/Data.Set.NonEmpty/docs.json−1 output/Data.Set.NonEmpty/externs.cbor output/Data.Set.NonEmpty/index.js−209 output/Data.Set.NonEmpty/index.js.map−1 output/Data.Set/corefn.json−1 output/Data.Set/docs.json−1 output/Data.Set/externs.cbor output/Data.Set/index.js−274 output/Data.Set/index.js.map−1 output/Data.Show.Generic/corefn.json−1 output/Data.Show.Generic/docs.json−1 output/Data.Show.Generic/externs.cbor output/Data.Show.Generic/foreign.js−5 output/Data.Show.Generic/index.js−97 output/Data.Show.Generic/index.js.map−1 output/Data.Show/corefn.json−1 output/Data.Show/docs.json−1 output/Data.Show/externs.cbor output/Data.Show/foreign.js−59 output/Data.Show/index.js−124 output/Data.Show/index.js.map−1 output/Data.String.CaseInsensitive/corefn.json−1 output/Data.String.CaseInsensitive/docs.json−1 output/Data.String.CaseInsensitive/externs.cbor output/Data.String.CaseInsensitive/index.js−44 output/Data.String.CaseInsensitive/index.js.map−1 output/Data.String.CodePoints/corefn.json−1 output/Data.String.CodePoints/docs.json−1 output/Data.String.CodePoints/externs.cbor output/Data.String.CodePoints/foreign.js−107 output/Data.String.CodePoints/index.js−358 output/Data.String.CodePoints/index.js.map−1 output/Data.String.CodeUnits/corefn.json−1 output/Data.String.CodeUnits/docs.json−1 output/Data.String.CodeUnits/externs.cbor output/Data.String.CodeUnits/foreign.js−116 output/Data.String.CodeUnits/index.js−105 output/Data.String.CodeUnits/index.js.map−1 output/Data.String.Common/corefn.json−1 output/Data.String.Common/docs.json−1 output/Data.String.Common/externs.cbor output/Data.String.Common/foreign.js−52 output/Data.String.Common/index.js−23 output/Data.String.Common/index.js.map−1 output/Data.String.Gen/corefn.json−1 output/Data.String.Gen/docs.json−1 output/Data.String.Gen/externs.cbor output/Data.String.Gen/index.js−83 output/Data.String.Gen/index.js.map−1 output/Data.String.NonEmpty.CaseInsensitive/corefn.json−1 output/Data.String.NonEmpty.CaseInsensitive/docs.json−1 output/Data.String.NonEmpty.CaseInsensitive/externs.cbor output/Data.String.NonEmpty.CaseInsensitive/index.js−46 output/Data.String.NonEmpty.CaseInsensitive/index.js.map−1 output/Data.String.NonEmpty.CodePoints/corefn.json−1 output/Data.String.NonEmpty.CodePoints/docs.json−1 output/Data.String.NonEmpty.CodePoints/externs.cbor output/Data.String.NonEmpty.CodePoints/index.js−146 output/Data.String.NonEmpty.CodePoints/index.js.map−1 output/Data.String.NonEmpty.CodeUnits/corefn.json−1 output/Data.String.NonEmpty.CodeUnits/docs.json−1 output/Data.String.NonEmpty.CodeUnits/externs.cbor output/Data.String.NonEmpty.CodeUnits/index.js−176 output/Data.String.NonEmpty.CodeUnits/index.js.map−1 output/Data.String.NonEmpty.Internal/corefn.json−1 output/Data.String.NonEmpty.Internal/docs.json−1 output/Data.String.NonEmpty.Internal/externs.cbor output/Data.String.NonEmpty.Internal/index.js−183 output/Data.String.NonEmpty.Internal/index.js.map−1 output/Data.String.NonEmpty/corefn.json−1 output/Data.String.NonEmpty/docs.json−1 output/Data.String.NonEmpty/externs.cbor output/Data.String.NonEmpty/index.js−53 output/Data.String.NonEmpty/index.js.map−1 output/Data.String.Pattern/corefn.json−1 output/Data.String.Pattern/docs.json−1 output/Data.String.Pattern/externs.cbor output/Data.String.Pattern/index.js−78 output/Data.String.Pattern/index.js.map−1 output/Data.String.Regex.Flags/corefn.json−1 output/Data.String.Regex.Flags/docs.json−1 output/Data.String.Regex.Flags/externs.cbor output/Data.String.Regex.Flags/index.js−145 output/Data.String.Regex.Flags/index.js.map−1 output/Data.String.Regex.Unsafe/corefn.json−1 output/Data.String.Regex.Unsafe/docs.json−1 output/Data.String.Regex.Unsafe/externs.cbor output/Data.String.Regex.Unsafe/index.js−15 output/Data.String.Regex.Unsafe/index.js.map−1 output/Data.String.Regex/corefn.json−1 output/Data.String.Regex/docs.json−1 output/Data.String.Regex/externs.cbor output/Data.String.Regex/foreign.js−103 output/Data.String.Regex/index.js−86 output/Data.String.Regex/index.js.map−1 output/Data.String.Unsafe/corefn.json−1 output/Data.String.Unsafe/docs.json−1 output/Data.String.Unsafe/externs.cbor output/Data.String.Unsafe/foreign.js−11 output/Data.String.Unsafe/index.js−8 output/Data.String.Unsafe/index.js.map−1 output/Data.String/corefn.json−1 output/Data.String/docs.json−1 output/Data.String/externs.cbor output/Data.String/index.js−43 output/Data.String/index.js.map−1 output/Data.Symbol/corefn.json−1 output/Data.Symbol/docs.json−1 output/Data.Symbol/externs.cbor output/Data.Symbol/foreign.js−6 output/Data.Symbol/index.js−22 output/Data.Symbol/index.js.map−1 output/Data.Time.Component.Gen/corefn.json−1 output/Data.Time.Component.Gen/docs.json−1 output/Data.Time.Component.Gen/externs.cbor output/Data.Time.Component.Gen/index.js−22 output/Data.Time.Component.Gen/index.js.map−1 output/Data.Time.Component/corefn.json−1 output/Data.Time.Component/docs.json−1 output/Data.Time.Component/externs.cbor output/Data.Time.Component/index.js−303 output/Data.Time.Component/index.js.map−1 output/Data.Time.Duration.Gen/corefn.json−1 output/Data.Time.Duration.Gen/docs.json−1 output/Data.Time.Duration.Gen/externs.cbor output/Data.Time.Duration.Gen/index.js−27 output/Data.Time.Duration.Gen/index.js.map−1 output/Data.Time.Duration/corefn.json−1 output/Data.Time.Duration/docs.json−1 output/Data.Time.Duration/externs.cbor output/Data.Time.Duration/index.js−257 output/Data.Time.Duration/index.js.map−1 output/Data.Time.Gen/corefn.json−1 output/Data.Time.Gen/docs.json−1 output/Data.Time.Gen/externs.cbor output/Data.Time.Gen/index.js−20 output/Data.Time.Gen/index.js.map−1 output/Data.Time/corefn.json−1 output/Data.Time/docs.json−1 output/Data.Time/externs.cbor output/Data.Time/index.js−211 output/Data.Time/index.js.map−1 output/Data.Traversable.Accum.Internal/corefn.json−1 output/Data.Traversable.Accum.Internal/docs.json−1 output/Data.Traversable.Accum.Internal/externs.cbor output/Data.Traversable.Accum.Internal/index.js−112 output/Data.Traversable.Accum.Internal/index.js.map−1 output/Data.Traversable.Accum/corefn.json−1 output/Data.Traversable.Accum/docs.json−1 output/Data.Traversable.Accum/externs.cbor output/Data.Traversable.Accum/index.js−3 output/Data.Traversable.Accum/index.js.map−1 output/Data.Traversable/corefn.json−1 output/Data.Traversable/docs.json−1 output/Data.Traversable/externs.cbor output/Data.Traversable/foreign.js−52 output/Data.Traversable/index.js−656 output/Data.Traversable/index.js.map−1 output/Data.TraversableWithIndex/corefn.json−1 output/Data.TraversableWithIndex/docs.json−1 output/Data.TraversableWithIndex/externs.cbor output/Data.TraversableWithIndex/index.js−541 output/Data.TraversableWithIndex/index.js.map−1 output/Data.Tuple.Nested/corefn.json−1 output/Data.Tuple.Nested/docs.json−1 output/Data.Tuple.Nested/externs.cbor output/Data.Tuple.Nested/index.js−466 output/Data.Tuple.Nested/index.js.map−1 output/Data.Tuple/corefn.json−1 output/Data.Tuple/docs.json−1 output/Data.Tuple/externs.cbor output/Data.Tuple/index.js−396 output/Data.Tuple/index.js.map−1 output/Data.Unfoldable/corefn.json−1 output/Data.Unfoldable/docs.json−1 output/Data.Unfoldable/externs.cbor output/Data.Unfoldable/foreign.js−21 output/Data.Unfoldable/index.js−84 output/Data.Unfoldable/index.js.map−1 output/Data.Unfoldable1/corefn.json−1 output/Data.Unfoldable1/docs.json−1 output/Data.Unfoldable1/externs.cbor output/Data.Unfoldable1/foreign.js−21 output/Data.Unfoldable1/index.js−110 output/Data.Unfoldable1/index.js.map−1 output/Data.Unit/corefn.json−1 output/Data.Unit/docs.json−1 output/Data.Unit/externs.cbor output/Data.Unit/foreign.js−1 output/Data.Unit/index.js−7 output/Data.Unit/index.js.map−1 output/Data.Variant.Internal/corefn.json−1 output/Data.Variant.Internal/docs.json−1 output/Data.Variant.Internal/externs.cbor output/Data.Variant.Internal/index.js−532 output/Data.Variant.Internal/index.js.map−1 output/Data.Variant/corefn.json−1 output/Data.Variant/docs.json−1 output/Data.Variant/externs.cbor output/Data.Variant/index.js−575 output/Data.Variant/index.js.map−1 output/Data.Void/corefn.json−1 output/Data.Void/docs.json−1 output/Data.Void/externs.cbor output/Data.Void/index.js−22 output/Data.Void/index.js.map−1 output/Data.Yoneda/corefn.json−1 output/Data.Yoneda/docs.json−1 output/Data.Yoneda/externs.cbor output/Data.Yoneda/index.js−218 output/Data.Yoneda/index.js.map−1 output/Effect.AVar/corefn.json−1 output/Effect.AVar/docs.json−1 output/Effect.AVar/externs.cbor output/Effect.AVar/foreign.js−307 output/Effect.AVar/index.js−116 output/Effect.AVar/index.js.map−1 output/Effect.Aff.AVar/corefn.json−1 output/Effect.Aff.AVar/docs.json−1 output/Effect.Aff.AVar/externs.cbor output/Effect.Aff.AVar/index.js−77 output/Effect.Aff.AVar/index.js.map−1 output/Effect.Aff.Class/corefn.json−1 output/Effect.Aff.Class/docs.json−1 output/Effect.Aff.Class/externs.cbor output/Effect.Aff.Class/index.js−174 output/Effect.Aff.Class/index.js.map−1 output/Effect.Aff.Compat/corefn.json−1 output/Effect.Aff.Compat/docs.json−1 output/Effect.Aff.Compat/externs.cbor output/Effect.Aff.Compat/index.js−47 output/Effect.Aff.Compat/index.js.map−1 output/Effect.Aff.Retry/corefn.json−1 output/Effect.Aff.Retry/docs.json−1 output/Effect.Aff.Retry/externs.cbor output/Effect.Aff.Retry/index.js−366 output/Effect.Aff.Retry/index.js.map−1 output/Effect.Aff/corefn.json−1 output/Effect.Aff/docs.json−1 output/Effect.Aff/externs.cbor output/Effect.Aff/foreign.js−1154 output/Effect.Aff/index.js−531 output/Effect.Aff/index.js.map−1 output/Effect.Class.Console/corefn.json−1 output/Effect.Class.Console/docs.json−1 output/Effect.Class.Console/externs.cbor output/Effect.Class.Console/index.js−158 output/Effect.Class.Console/index.js.map−1 output/Effect.Class/corefn.json−1 output/Effect.Class/docs.json−1 output/Effect.Class/externs.cbor output/Effect.Class/index.js−17 output/Effect.Class/index.js.map−1 output/Effect.Console/corefn.json−1 output/Effect.Console/docs.json−1 output/Effect.Console/externs.cbor output/Effect.Console/foreign.js−67 output/Effect.Console/index.js−66 output/Effect.Console/index.js.map−1 output/Effect.Exception.Unsafe/corefn.json−1 output/Effect.Exception.Unsafe/docs.json−1 output/Effect.Exception.Unsafe/externs.cbor output/Effect.Exception.Unsafe/index.js−14 output/Effect.Exception.Unsafe/index.js.map−1 output/Effect.Exception/corefn.json−1 output/Effect.Exception/docs.json−1 output/Effect.Exception/externs.cbor output/Effect.Exception/foreign.js−59 output/Effect.Exception/index.js−39 output/Effect.Exception/index.js.map−1 output/Effect.Now/corefn.json−1 output/Effect.Now/docs.json−1 output/Effect.Now/externs.cbor output/Effect.Now/foreign.js−8 output/Effect.Now/index.js−24 output/Effect.Now/index.js.map−1 output/Effect.Random/corefn.json−1 output/Effect.Random/docs.json−1 output/Effect.Random/externs.cbor output/Effect.Random/foreign.js−1 output/Effect.Random/index.js−34 output/Effect.Random/index.js.map−1 output/Effect.Ref/corefn.json−1 output/Effect.Ref/docs.json−1 output/Effect.Ref/externs.cbor output/Effect.Ref/foreign.js−37 output/Effect.Ref/index.js−33 output/Effect.Ref/index.js.map−1 output/Effect.Uncurried/corefn.json−1 output/Effect.Uncurried/docs.json−1 output/Effect.Uncurried/externs.cbor output/Effect.Uncurried/foreign.js−229 output/Effect.Uncurried/index.js−470 output/Effect.Uncurried/index.js.map−1 output/Effect.Unsafe/corefn.json−1 output/Effect.Unsafe/docs.json−1 output/Effect.Unsafe/externs.cbor output/Effect.Unsafe/foreign.js−3 output/Effect.Unsafe/index.js−7 output/Effect.Unsafe/index.js.map−1 output/Effect/corefn.json−1 output/Effect/docs.json−1 output/Effect/externs.cbor output/Effect/foreign.js−51 output/Effect/index.js−85 output/Effect/index.js.map−1 output/ExitCodes/corefn.json−1 output/ExitCodes/docs.json−1 output/ExitCodes/externs.cbor output/ExitCodes/index.js−1183 output/ExitCodes/index.js.map−1 output/Foreign.Index/corefn.json−1 output/Foreign.Index/docs.json−1 output/Foreign.Index/externs.cbor output/Foreign.Index/foreign.js−11 output/Foreign.Index/index.js−115 output/Foreign.Index/index.js.map−1 output/Foreign.Keys/corefn.json−1 output/Foreign.Keys/docs.json−1 output/Foreign.Keys/externs.cbor output/Foreign.Keys/foreign.js−9 output/Foreign.Keys/index.js−29 output/Foreign.Keys/index.js.map−1 output/Foreign.Object.Gen/corefn.json−1 output/Foreign.Object.Gen/docs.json−1 output/Foreign.Object.Gen/externs.cbor output/Foreign.Object.Gen/index.js−38 output/Foreign.Object.Gen/index.js.map−1 output/Foreign.Object.ST.Unsafe/corefn.json−1 output/Foreign.Object.ST.Unsafe/docs.json−1 output/Foreign.Object.ST.Unsafe/externs.cbor output/Foreign.Object.ST.Unsafe/foreign.js−5 output/Foreign.Object.ST.Unsafe/index.js−7 output/Foreign.Object.ST.Unsafe/index.js.map−1 output/Foreign.Object.ST/corefn.json−1 output/Foreign.Object.ST/docs.json−1 output/Foreign.Object.ST/externs.cbor output/Foreign.Object.ST/foreign.js−37 output/Foreign.Object.ST/index.js−15 output/Foreign.Object.ST/index.js.map−1 output/Foreign.Object.Unsafe/corefn.json−1 output/Foreign.Object.Unsafe/docs.json−1 output/Foreign.Object.Unsafe/externs.cbor output/Foreign.Object.Unsafe/foreign.js−5 output/Foreign.Object.Unsafe/index.js−7 output/Foreign.Object.Unsafe/index.js.map−1 output/Foreign.Object/corefn.json−1 output/Foreign.Object/docs.json−1 output/Foreign.Object/externs.cbor output/Foreign.Object/foreign.js−116 output/Foreign.Object/index.js−479 output/Foreign.Object/index.js.map−1 output/Foreign/corefn.json−1 output/Foreign/docs.json−1 output/Foreign/externs.cbor output/Foreign/foreign.js−19 output/Foreign/index.js−320 output/Foreign/index.js.map−1 output/Heterogeneous.Folding/corefn.json−1 output/Heterogeneous.Folding/docs.json−1 output/Heterogeneous.Folding/externs.cbor output/Heterogeneous.Folding/index.js−338 output/Heterogeneous.Folding/index.js.map−1 output/Heterogeneous.Mapping/corefn.json−1 output/Heterogeneous.Mapping/docs.json−1 output/Heterogeneous.Mapping/externs.cbor output/Heterogeneous.Mapping/index.js−304 output/Heterogeneous.Mapping/index.js.map−1 output/Heterogeneous.Variadic/corefn.json−1 output/Heterogeneous.Variadic/docs.json−1 output/Heterogeneous.Variadic/externs.cbor output/Heterogeneous.Variadic/index.js−83 output/Heterogeneous.Variadic/index.js.map−1 output/Node.Buffer.Class/corefn.json−1 output/Node.Buffer.Class/docs.json−1 output/Node.Buffer.Class/externs.cbor output/Node.Buffer.Class/index.js−96 output/Node.Buffer.Class/index.js.map−1 output/Node.Buffer.Constants/corefn.json−1 output/Node.Buffer.Constants/docs.json−1 output/Node.Buffer.Constants/externs.cbor output/Node.Buffer.Constants/foreign.js−5 output/Node.Buffer.Constants/index.js−9 output/Node.Buffer.Constants/index.js.map−1 output/Node.Buffer.Immutable/corefn.json−1 output/Node.Buffer.Immutable/docs.json−1 output/Node.Buffer.Immutable/externs.cbor output/Node.Buffer.Immutable/foreign.js−45 output/Node.Buffer.Immutable/index.js−144 output/Node.Buffer.Immutable/index.js.map−1 output/Node.Buffer.ST/corefn.json−1 output/Node.Buffer.ST/docs.json−1 output/Node.Buffer.ST/externs.cbor output/Node.Buffer.ST/index.js−105 output/Node.Buffer.ST/index.js.map−1 output/Node.Buffer.Types/corefn.json−1 output/Node.Buffer.Types/docs.json−1 output/Node.Buffer.Types/externs.cbor output/Node.Buffer.Types/index.js−164 output/Node.Buffer.Types/index.js.map−1 output/Node.Buffer/corefn.json−1 output/Node.Buffer/docs.json−1 output/Node.Buffer/externs.cbor output/Node.Buffer/foreign.js−33 output/Node.Buffer/index.js−276 output/Node.Buffer/index.js.map−1 output/Node.Encoding/corefn.json−1 output/Node.Encoding/docs.json−1 output/Node.Encoding/externs.cbor output/Node.Encoding/foreign.js−3 output/Node.Encoding/index.js−147 output/Node.Encoding/index.js.map−1 output/Node.EventEmitter.UtilTypes/corefn.json−1 output/Node.EventEmitter.UtilTypes/docs.json−1 output/Node.EventEmitter.UtilTypes/externs.cbor output/Node.EventEmitter.UtilTypes/index.js−3 output/Node.EventEmitter.UtilTypes/index.js.map−1 output/Node.EventEmitter/corefn.json−1 output/Node.EventEmitter/docs.json−1 output/Node.EventEmitter/externs.cbor output/Node.EventEmitter/foreign.js−24 output/Node.EventEmitter/index.js−154 output/Node.EventEmitter/index.js.map−1 output/Node.FS.Aff/corefn.json−1 output/Node.FS.Aff/docs.json−1 output/Node.FS.Aff/externs.cbor output/Node.FS.Aff/index.js−145 output/Node.FS.Aff/index.js.map−1 output/Node.FS.Async/corefn.json−1 output/Node.FS.Async/docs.json−1 output/Node.FS.Async/externs.cbor output/Node.FS.Async/foreign.js−28 output/Node.FS.Async/index.js−422 output/Node.FS.Async/index.js.map−1 output/Node.FS.Constants/corefn.json−1 output/Node.FS.Constants/docs.json−1 output/Node.FS.Constants/externs.cbor output/Node.FS.Constants/foreign.js−17 output/Node.FS.Constants/index.js−215 output/Node.FS.Constants/index.js.map−1 output/Node.FS.Perms/corefn.json−1 output/Node.FS.Perms/docs.json−1 output/Node.FS.Perms/externs.cbor output/Node.FS.Perms/index.js−298 output/Node.FS.Perms/index.js.map−1 output/Node.FS.Stats/corefn.json−1 output/Node.FS.Stats/docs.json−1 output/Node.FS.Stats/externs.cbor output/Node.FS.Stats/foreign.js−27 output/Node.FS.Stats/index.js−142 output/Node.FS.Stats/index.js.map−1 output/Node.FS.Stream/corefn.json−1 output/Node.FS.Stream/docs.json−1 output/Node.FS.Stream/externs.cbor output/Node.FS.Stream/foreign.js−11 output/Node.FS.Stream/index.js−69 output/Node.FS.Stream/index.js.map−1 output/Node.FS.Sync/corefn.json−1 output/Node.FS.Sync/docs.json−1 output/Node.FS.Sync/externs.cbor output/Node.FS.Sync/foreign.js−30 output/Node.FS.Sync/index.js−359 output/Node.FS.Sync/index.js.map−1 output/Node.FS/corefn.json−1 output/Node.FS/docs.json−1 output/Node.FS/externs.cbor output/Node.FS/index.js−89 output/Node.FS/index.js.map−1 output/Node.Path/corefn.json−1 output/Node.Path/docs.json−1 output/Node.Path/externs.cbor output/Node.Path/foreign.js−30 output/Node.Path/index.js−18 output/Node.Path/index.js.map−1 output/Node.Platform/corefn.json−1 output/Node.Platform/docs.json−1 output/Node.Platform/externs.cbor output/Node.Platform/index.js−265 output/Node.Platform/index.js.map−1 output/Node.Process/corefn.json−1 output/Node.Process/docs.json−1 output/Node.Process/externs.cbor output/Node.Process/foreign.js−65 output/Node.Process/index.js−289 output/Node.Process/index.js.map−1 output/Node.Stream.Aff/corefn.json−1 output/Node.Stream.Aff/docs.json−1 output/Node.Stream.Aff/externs.cbor output/Node.Stream.Aff/index.js−518 output/Node.Stream.Aff/index.js.map−1 output/Node.Stream/corefn.json−1 output/Node.Stream/docs.json−1 output/Node.Stream/externs.cbor output/Node.Stream/foreign.js−97 output/Node.Stream/index.js−482 output/Node.Stream/index.js.map−1 output/Node.Symbol/corefn.json−1 output/Node.Symbol/docs.json−1 output/Node.Symbol/externs.cbor output/Node.Symbol/foreign.js−3 output/Node.Symbol/index.js−36 output/Node.Symbol/index.js.map−1 output/Options.Applicative.BashCompletion/corefn.json−1 output/Options.Applicative.BashCompletion/docs.json−1 output/Options.Applicative.BashCompletion/externs.cbor output/Options.Applicative.BashCompletion/index.js−351 output/Options.Applicative.BashCompletion/index.js.map−1 output/Options.Applicative.Builder.Completer/corefn.json−1 output/Options.Applicative.Builder.Completer/docs.json−1 output/Options.Applicative.Builder.Completer/externs.cbor output/Options.Applicative.Builder.Completer/foreign.js−8 output/Options.Applicative.Builder.Completer/index.js−152 output/Options.Applicative.Builder.Completer/index.js.map−1 output/Options.Applicative.Builder.Internal/corefn.json−1 output/Options.Applicative.Builder.Internal/docs.json−1 output/Options.Applicative.Builder.Internal/externs.cbor output/Options.Applicative.Builder.Internal/index.js−305 output/Options.Applicative.Builder.Internal/index.js.map−1 output/Options.Applicative.Builder/corefn.json−1 output/Options.Applicative.Builder/docs.json−1 output/Options.Applicative.Builder/externs.cbor output/Options.Applicative.Builder/index.js−649 output/Options.Applicative.Builder/index.js.map−1 output/Options.Applicative.Common/corefn.json−1 output/Options.Applicative.Common/docs.json−1 output/Options.Applicative.Common/externs.cbor output/Options.Applicative.Common/index.js−672 output/Options.Applicative.Common/index.js.map−1 output/Options.Applicative.Extra/corefn.json−1 output/Options.Applicative.Extra/docs.json−1 output/Options.Applicative.Extra/externs.cbor output/Options.Applicative.Extra/index.js−348 output/Options.Applicative.Extra/index.js.map−1 output/Options.Applicative.Help.Chunk/corefn.json−1 output/Options.Applicative.Help.Chunk/docs.json−1 output/Options.Applicative.Help.Chunk/externs.cbor output/Options.Applicative.Help.Chunk/index.js−178 output/Options.Applicative.Help.Chunk/index.js.map−1 output/Options.Applicative.Help.Core/corefn.json−1 output/Options.Applicative.Help.Core/docs.json−1 output/Options.Applicative.Help.Core/externs.cbor output/Options.Applicative.Help.Core/index.js−325 output/Options.Applicative.Help.Core/index.js.map−1 output/Options.Applicative.Help.Levenshtein/corefn.json−1 output/Options.Applicative.Help.Levenshtein/docs.json−1 output/Options.Applicative.Help.Levenshtein/externs.cbor output/Options.Applicative.Help.Levenshtein/index.js−60 output/Options.Applicative.Help.Levenshtein/index.js.map−1 output/Options.Applicative.Help.Pretty/corefn.json−1 output/Options.Applicative.Help.Pretty/docs.json−1 output/Options.Applicative.Help.Pretty/externs.cbor output/Options.Applicative.Help.Pretty/index.js−108 output/Options.Applicative.Help.Pretty/index.js.map−1 output/Options.Applicative.Help.Types/corefn.json−1 output/Options.Applicative.Help.Types/docs.json−1 output/Options.Applicative.Help.Types/externs.cbor output/Options.Applicative.Help.Types/index.js−76 output/Options.Applicative.Help.Types/index.js.map−1 output/Options.Applicative.Help/corefn.json−1 output/Options.Applicative.Help/docs.json−1 output/Options.Applicative.Help/externs.cbor output/Options.Applicative.Help/index.js−141 output/Options.Applicative.Help/index.js.map−1 output/Options.Applicative.Internal.Utils/corefn.json−1 output/Options.Applicative.Internal.Utils/docs.json−1 output/Options.Applicative.Internal.Utils/externs.cbor output/Options.Applicative.Internal.Utils/index.js−60 output/Options.Applicative.Internal.Utils/index.js.map−1 output/Options.Applicative.Internal/corefn.json−1 output/Options.Applicative.Internal/docs.json−1 output/Options.Applicative.Internal/externs.cbor output/Options.Applicative.Internal/index.js−858 output/Options.Applicative.Internal/index.js.map−1 output/Options.Applicative.Types/corefn.json−1 output/Options.Applicative.Types/docs.json−1 output/Options.Applicative.Types/externs.cbor output/Options.Applicative.Types/index.js−1614 output/Options.Applicative.Types/index.js.map−1 output/Options.Applicative/corefn.json−1 output/Options.Applicative/docs.json−1 output/Options.Applicative/externs.cbor output/Options.Applicative/index.js−104 output/Options.Applicative/index.js.map−1 output/Partial.Unsafe/corefn.json−1 output/Partial.Unsafe/docs.json−1 output/Partial.Unsafe/externs.cbor output/Partial.Unsafe/foreign.js−5 output/Partial.Unsafe/index.js−15 output/Partial.Unsafe/index.js.map−1 output/Partial/corefn.json−1 output/Partial/docs.json−1 output/Partial/externs.cbor output/Partial/foreign.js−5 output/Partial/index.js−14 output/Partial/index.js.map−1 output/Pipes.Core/corefn.json−1 output/Pipes.Core/docs.json−1 output/Pipes.Core/externs.cbor output/Pipes.Core/index.js−336 output/Pipes.Core/index.js.map−1 output/Pipes.Internal/corefn.json−1 output/Pipes.Internal/docs.json−1 output/Pipes.Internal/externs.cbor output/Pipes.Internal/index.js−732 output/Pipes.Internal/index.js.map−1 output/Pipes.ListT/corefn.json−1 output/Pipes.ListT/docs.json−1 output/Pipes.ListT/externs.cbor output/Pipes.ListT/index.js−458 output/Pipes.ListT/index.js.map−1 output/Pipes.Prelude/corefn.json−1 output/Pipes.Prelude/docs.json−1 output/Pipes.Prelude/externs.cbor output/Pipes.Prelude/index.js−772 output/Pipes.Prelude/index.js.map−1 output/Pipes/corefn.json−1 output/Pipes/docs.json−1 output/Pipes/externs.cbor output/Pipes/index.js−108 output/Pipes/index.js.map−1 output/Prelude/corefn.json−1 output/Prelude/docs.json−1 output/Prelude/externs.cbor output/Prelude/index.js−130 output/Prelude/index.js.map−1 output/Prim.Boolean/docs.json−1 output/Prim.Coerce/docs.json−1 output/Prim.Int/docs.json−1 output/Prim.Ordering/docs.json−1 output/Prim.Row/docs.json−1 output/Prim.RowList/docs.json−1 output/Prim.Symbol/docs.json−1 output/Prim.TypeError/docs.json−1 output/Prim/docs.json−1 output/Record.Builder/corefn.json−1 output/Record.Builder/docs.json−1 output/Record.Builder/externs.cbor output/Record.Builder/foreign.js−44 output/Record.Builder/index.js−131 output/Record.Builder/index.js.map−1 output/Record.Studio.Keys/corefn.json−1 output/Record.Studio.Keys/docs.json−1 output/Record.Studio.Keys/externs.cbor output/Record.Studio.Keys/index.js−58 output/Record.Studio.Keys/index.js.map−1 output/Record.Studio.Map/corefn.json−1 output/Record.Studio.Map/docs.json−1 output/Record.Studio.Map/externs.cbor output/Record.Studio.Map/index.js−97 output/Record.Studio.Map/index.js.map−1 output/Record.Studio.MapKind/corefn.json−1 output/Record.Studio.MapKind/docs.json−1 output/Record.Studio.MapKind/externs.cbor output/Record.Studio.MapKind/index.js−97 output/Record.Studio.MapKind/index.js.map−1 output/Record.Studio.MapUniform/corefn.json−1 output/Record.Studio.MapUniform/docs.json−1 output/Record.Studio.MapUniform/externs.cbor output/Record.Studio.MapUniform/index.js−64 output/Record.Studio.MapUniform/index.js.map−1 output/Record.Studio.Merge/corefn.json−1 output/Record.Studio.Merge/docs.json−1 output/Record.Studio.Merge/externs.cbor output/Record.Studio.Merge/index.js−13 output/Record.Studio.Merge/index.js.map−1 output/Record.Studio.SameKeys/corefn.json−1 output/Record.Studio.SameKeys/docs.json−1 output/Record.Studio.SameKeys/externs.cbor output/Record.Studio.SameKeys/index.js−28 output/Record.Studio.SameKeys/index.js.map−1 output/Record.Studio.Sequence/corefn.json−1 output/Record.Studio.Sequence/docs.json−1 output/Record.Studio.Sequence/externs.cbor output/Record.Studio.Sequence/index.js−117 output/Record.Studio.Sequence/index.js.map−1 output/Record.Studio.Shrink/corefn.json−1 output/Record.Studio.Shrink/docs.json−1 output/Record.Studio.Shrink/externs.cbor output/Record.Studio.Shrink/foreign.js−6 output/Record.Studio.Shrink/index.js−13 output/Record.Studio.Shrink/index.js.map−1 output/Record.Studio.SingletonRecord/corefn.json−1 output/Record.Studio.SingletonRecord/docs.json−1 output/Record.Studio.SingletonRecord/externs.cbor output/Record.Studio.SingletonRecord/foreign.js−2 output/Record.Studio.SingletonRecord/index.js−73 output/Record.Studio.SingletonRecord/index.js.map−1 output/Record.Studio/corefn.json−1 output/Record.Studio/docs.json−1 output/Record.Studio/externs.cbor output/Record.Studio/index.js−42 output/Record.Studio/index.js.map−1 output/Record.Unsafe.Union/corefn.json−1 output/Record.Unsafe.Union/docs.json−1 output/Record.Unsafe.Union/externs.cbor output/Record.Unsafe.Union/foreign.js−14 output/Record.Unsafe.Union/index.js−11 output/Record.Unsafe.Union/index.js.map−1 output/Record.Unsafe/corefn.json−1 output/Record.Unsafe/docs.json−1 output/Record.Unsafe/externs.cbor output/Record.Unsafe/foreign.js−38 output/Record.Unsafe/index.js−10 output/Record.Unsafe/index.js.map−1 output/Record/corefn.json−1 output/Record/docs.json−1 output/Record/externs.cbor output/Record/index.js−183 output/Record/index.js.map−1 output/Safe.Coerce/corefn.json−1 output/Safe.Coerce/docs.json−1 output/Safe.Coerce/externs.cbor output/Safe.Coerce/index.js−9 output/Safe.Coerce/index.js.map−1 output/Spago.Generated.BuildInfo/corefn.json−1 output/Spago.Generated.BuildInfo/docs.json−1 output/Spago.Generated.BuildInfo/externs.cbor output/Spago.Generated.BuildInfo/index.js−12 output/Spago.Generated.BuildInfo/index.js.map−1 output/Test.Main/corefn.json−1 output/Test.Main/docs.json−1 output/Test.Main/externs.cbor output/Test.Main/index.js−8 output/Test.Main/index.js.map−1 output/Test.Spec.Assertions.String/corefn.json−1 output/Test.Spec.Assertions.String/docs.json−1 output/Test.Spec.Assertions.String/externs.cbor output/Test.Spec.Assertions.String/foreign.js−13 output/Test.Spec.Assertions.String/index.js−50 output/Test.Spec.Assertions.String/index.js.map−1 output/Test.Spec.Assertions/corefn.json−1 output/Test.Spec.Assertions/docs.json−1 output/Test.Spec.Assertions/externs.cbor output/Test.Spec.Assertions/foreign.js−1 output/Test.Spec.Assertions/index.js−193 output/Test.Spec.Assertions/index.js.map−1 output/Test.Spec.Config/corefn.json−1 output/Test.Spec.Config/docs.json−1 output/Test.Spec.Config/externs.cbor output/Test.Spec.Config/index.js−20 output/Test.Spec.Config/index.js.map−1 output/Test.Spec.Console/corefn.json−1 output/Test.Spec.Console/docs.json−1 output/Test.Spec.Console/externs.cbor output/Test.Spec.Console/foreign.js−13 output/Test.Spec.Console/index.js−43 output/Test.Spec.Console/index.js.map−1 output/Test.Spec.Discovery/corefn.json−1 output/Test.Spec.Discovery/docs.json−1 output/Test.Spec.Discovery/externs.cbor output/Test.Spec.Discovery/foreign.js−36 output/Test.Spec.Discovery/index.js−45 output/Test.Spec.Discovery/index.js.map−1 output/Test.Spec.Reporter.Base/corefn.json−1 output/Test.Spec.Reporter.Base/docs.json−1 output/Test.Spec.Reporter.Base/externs.cbor output/Test.Spec.Reporter.Base/index.js−327 output/Test.Spec.Reporter.Base/index.js.map−1 output/Test.Spec.Reporter.Console/corefn.json−1 output/Test.Spec.Reporter.Console/docs.json−1 output/Test.Spec.Reporter.Console/externs.cbor output/Test.Spec.Reporter.Console/index.js−249 output/Test.Spec.Reporter.Console/index.js.map−1 output/Test.Spec.Reporter.Dot/corefn.json−1 output/Test.Spec.Reporter.Dot/docs.json−1 output/Test.Spec.Reporter.Dot/externs.cbor output/Test.Spec.Reporter.Dot/index.js−58 output/Test.Spec.Reporter.Dot/index.js.map−1 output/Test.Spec.Reporter.Spec/corefn.json−1 output/Test.Spec.Reporter.Spec/docs.json−1 output/Test.Spec.Reporter.Spec/externs.cbor output/Test.Spec.Reporter.Spec/index.js−209 output/Test.Spec.Reporter.Spec/index.js.map−1 output/Test.Spec.Reporter.Tap/corefn.json−1 output/Test.Spec.Reporter.Tap/docs.json−1 output/Test.Spec.Reporter.Tap/externs.cbor output/Test.Spec.Reporter.Tap/index.js−100 output/Test.Spec.Reporter.Tap/index.js.map−1 output/Test.Spec.Reporter.TeamCity/corefn.json−1 output/Test.Spec.Reporter.TeamCity/docs.json−1 output/Test.Spec.Reporter.TeamCity/externs.cbor output/Test.Spec.Reporter.TeamCity/index.js−183 output/Test.Spec.Reporter.TeamCity/index.js.map−1 output/Test.Spec.Reporter/corefn.json−1 output/Test.Spec.Reporter/docs.json−1 output/Test.Spec.Reporter/externs.cbor output/Test.Spec.Reporter/index.js−24 output/Test.Spec.Reporter/index.js.map−1 output/Test.Spec.Result/corefn.json−1 output/Test.Spec.Result/docs.json−1 output/Test.Spec.Result/externs.cbor output/Test.Spec.Result/index.js−66 output/Test.Spec.Result/index.js.map−1 output/Test.Spec.Runner.Event/corefn.json−1 output/Test.Spec.Runner.Event/docs.json−1 output/Test.Spec.Runner.Event/externs.cbor output/Test.Spec.Runner.Event/index.js−146 output/Test.Spec.Runner.Event/index.js.map−1 output/Test.Spec.Runner.Node.Config/corefn.json−1 output/Test.Spec.Runner.Node.Config/docs.json−1 output/Test.Spec.Runner.Node.Config/externs.cbor output/Test.Spec.Runner.Node.Config/index.js−274 output/Test.Spec.Runner.Node.Config/index.js.map−1 output/Test.Spec.Runner.Node.Persist/corefn.json−1 output/Test.Spec.Runner.Node.Persist/docs.json−1 output/Test.Spec.Runner.Node.Persist/externs.cbor output/Test.Spec.Runner.Node.Persist/index.js−131 output/Test.Spec.Runner.Node.Persist/index.js.map−1 output/Test.Spec.Runner.Node/corefn.json−1 output/Test.Spec.Runner.Node/docs.json−1 output/Test.Spec.Runner.Node/externs.cbor output/Test.Spec.Runner.Node/index.js−110 output/Test.Spec.Runner.Node/index.js.map−1 output/Test.Spec.Runner/corefn.json−1 output/Test.Spec.Runner/docs.json−1 output/Test.Spec.Runner/externs.cbor output/Test.Spec.Runner/foreign.js−20 output/Test.Spec.Runner/index.js−346 output/Test.Spec.Runner/index.js.map−1 output/Test.Spec.Speed/corefn.json−1 output/Test.Spec.Speed/docs.json−1 output/Test.Spec.Speed/externs.cbor output/Test.Spec.Speed/index.js−110 output/Test.Spec.Speed/index.js.map−1 output/Test.Spec.Style/corefn.json−1 output/Test.Spec.Style/docs.json−1 output/Test.Spec.Style/externs.cbor output/Test.Spec.Style/index.js−56 output/Test.Spec.Style/index.js.map−1 output/Test.Spec.Summary/corefn.json−1 output/Test.Spec.Summary/docs.json−1 output/Test.Spec.Summary/externs.cbor output/Test.Spec.Summary/index.js−97 output/Test.Spec.Summary/index.js.map−1 output/Test.Spec.Tree/corefn.json−1 output/Test.Spec.Tree/docs.json−1 output/Test.Spec.Tree/externs.cbor output/Test.Spec.Tree/index.js−445 output/Test.Spec.Tree/index.js.map−1 output/Test.Spec/corefn.json−1 output/Test.Spec/docs.json−1 output/Test.Spec/externs.cbor output/Test.Spec/index.js−578 output/Test.Spec/index.js.map−1 output/Test.Yoga.Capnweb.OmSpec/corefn.json−1 output/Test.Yoga.Capnweb.OmSpec/docs.json−1 output/Test.Yoga.Capnweb.OmSpec/externs.cbor output/Test.Yoga.Capnweb.OmSpec/foreign.js−29 output/Test.Yoga.Capnweb.OmSpec/index.js−79 output/Test.Yoga.Capnweb.OmSpec/index.js.map−1 output/Text.PrettyPrint.Leijen/corefn.json−1 output/Text.PrettyPrint.Leijen/docs.json−1 output/Text.PrettyPrint.Leijen/externs.cbor output/Text.PrettyPrint.Leijen/index.js−1185 output/Text.PrettyPrint.Leijen/index.js.map−1 output/Type.Data.Boolean/corefn.json−1 output/Type.Data.Boolean/docs.json−1 output/Type.Data.Boolean/externs.cbor output/Type.Data.Boolean/index.js−81 output/Type.Data.Boolean/index.js.map−1 output/Type.Data.Ordering/corefn.json−1 output/Type.Data.Ordering/docs.json−1 output/Type.Data.Ordering/externs.cbor output/Type.Data.Ordering/index.js−95 output/Type.Data.Ordering/index.js.map−1 output/Type.Data.Symbol/corefn.json−1 output/Type.Data.Symbol/docs.json−1 output/Type.Data.Symbol/externs.cbor output/Type.Data.Symbol/index.js−49 output/Type.Data.Symbol/index.js.map−1 output/Type.Equality/corefn.json−1 output/Type.Equality/docs.json−1 output/Type.Equality/externs.cbor output/Type.Equality/index.js−37 output/Type.Equality/index.js.map−1 output/Type.Function/corefn.json−1 output/Type.Function/docs.json−1 output/Type.Function/externs.cbor output/Type.Function/index.js−3 output/Type.Function/index.js.map−1 output/Type.Prelude/corefn.json−1 output/Type.Prelude/docs.json−1 output/Type.Prelude/externs.cbor output/Type.Prelude/index.js−31 output/Type.Prelude/index.js.map−1 output/Type.Proxy/corefn.json−1 output/Type.Proxy/docs.json−1 output/Type.Proxy/externs.cbor output/Type.Proxy/index.js−12 output/Type.Proxy/index.js.map−1

131 more files changed are not listed.

.gitignorenew file+6
@@ -0,0 +1,6 @@
1+.spago
2+output
3+node_modules
4+.psc-ide-port
5+bun.lock
6+.spec-results
.spago/BuildInfo.pursdeleted−15
@@ -1,15 +0,0 @@
1−-- @inline export packages always
2−-- @inline export pursVersion always
3−-- @inline export spagoVersion always
4−module Spago.Generated.BuildInfo where
5−
6−packages :: { "yoga-capnweb-om" :: String }
7−packages =
8− { "yoga-capnweb-om": "0.1.0"
9− }
10−
11−pursVersion :: String
12−pursVersion = "0.15.15"
13−
14−spagoVersion :: String
15−spagoVersion = "1.0.3"
.spago/p/aff-8.0.0/LICENSEdeleted−202
@@ -1,202 +0,0 @@
1−Apache License
2− Version 2.0, January 2004
3− http://www.apache.org/licenses/
4−
5− TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6−
7− 1. Definitions.
8−
9− "License" shall mean the terms and conditions for use, reproduction,
10− and distribution as defined by Sections 1 through 9 of this document.
11−
12− "Licensor" shall mean the copyright owner or entity authorized by
13− the copyright owner that is granting the License.
14−
15− "Legal Entity" shall mean the union of the acting entity and all
16− other entities that control, are controlled by, or are under common
17− control with that entity. For the purposes of this definition,
18− "control" means (i) the power, direct or indirect, to cause the
19− direction or management of such entity, whether by contract or
20− otherwise, or (ii) ownership of fifty percent (50%) or more of the
21− outstanding shares, or (iii) beneficial ownership of such entity.
22−
23− "You" (or "Your") shall mean an individual or Legal Entity
24− exercising permissions granted by this License.
25−
26− "Source" form shall mean the preferred form for making modifications,
27− including but not limited to software source code, documentation
28− source, and configuration files.
29−
30− "Object" form shall mean any form resulting from mechanical
31− transformation or translation of a Source form, including but
32− not limited to compiled object code, generated documentation,
33− and conversions to other media types.
34−
35− "Work" shall mean the work of authorship, whether in Source or
36− Object form, made available under the License, as indicated by a
37− copyright notice that is included in or attached to the work
38− (an example is provided in the Appendix below).
39−
40− "Derivative Works" shall mean any work, whether in Source or Object
41− form, that is based on (or derived from) the Work and for which the
42− editorial revisions, annotations, elaborations, or other modifications
43− represent, as a whole, an original work of authorship. For the purposes
44− of this License, Derivative Works shall not include works that remain
45− separable from, or merely link (or bind by name) to the interfaces of,
46− the Work and Derivative Works thereof.
47−
48− "Contribution" shall mean any work of authorship, including
49− the original version of the Work and any modifications or additions
50− to that Work or Derivative Works thereof, that is intentionally
51− submitted to Licensor for inclusion in the Work by the copyright owner
52− or by an individual or Legal Entity authorized to submit on behalf of
53− the copyright owner. For the purposes of this definition, "submitted"
54− means any form of electronic, verbal, or written communication sent
55− to the Licensor or its representatives, including but not limited to
56− communication on electronic mailing lists, source code control systems,
57− and issue tracking systems that are managed by, or on behalf of, the
58− Licensor for the purpose of discussing and improving the Work, but
59− excluding communication that is conspicuously marked or otherwise
60− designated in writing by the copyright owner as "Not a Contribution."
61−
62− "Contributor" shall mean Licensor and any individual or Legal Entity
63− on behalf of whom a Contribution has been received by Licensor and
64− subsequently incorporated within the Work.
65−
66− 2. Grant of Copyright License. Subject to the terms and conditions of
67− this License, each Contributor hereby grants to You a perpetual,
68− worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69− copyright license to reproduce, prepare Derivative Works of,
70− publicly display, publicly perform, sublicense, and distribute the
71− Work and such Derivative Works in Source or Object form.
72−
73− 3. Grant of Patent License. Subject to the terms and conditions of
74− this License, each Contributor hereby grants to You a perpetual,
75− worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76− (except as stated in this section) patent license to make, have made,
77− use, offer to sell, sell, import, and otherwise transfer the Work,
78− where such license applies only to those patent claims licensable
79− by such Contributor that are necessarily infringed by their
80− Contribution(s) alone or by combination of their Contribution(s)
81− with the Work to which such Contribution(s) was submitted. If You
82− institute patent litigation against any entity (including a
83− cross-claim or counterclaim in a lawsuit) alleging that the Work
84− or a Contribution incorporated within the Work constitutes direct
85− or contributory patent infringement, then any patent licenses
86− granted to You under this License for that Work shall terminate
87− as of the date such litigation is filed.
88−
89− 4. Redistribution. You may reproduce and distribute copies of the
90− Work or Derivative Works thereof in any medium, with or without
91− modifications, and in Source or Object form, provided that You
92− meet the following conditions:
93−
94− (a) You must give any other recipients of the Work or
95− Derivative Works a copy of this License; and
96−
97− (b) You must cause any modified files to carry prominent notices
98− stating that You changed the files; and
99−
100− (c) You must retain, in the Source form of any Derivative Works
101− that You distribute, all copyright, patent, trademark, and
102− attribution notices from the Source form of the Work,
103− excluding those notices that do not pertain to any part of
104− the Derivative Works; and
105−
106− (d) If the Work includes a "NOTICE" text file as part of its
107− distribution, then any Derivative Works that You distribute must
108− include a readable copy of the attribution notices contained
109− within such NOTICE file, excluding those notices that do not
110− pertain to any part of the Derivative Works, in at least one
111− of the following places: within a NOTICE text file distributed
112− as part of the Derivative Works; within the Source form or
113− documentation, if provided along with the Derivative Works; or,
114− within a display generated by the Derivative Works, if and
115− wherever such third-party notices normally appear. The contents
116− of the NOTICE file are for informational purposes only and
117− do not modify the License. You may add Your own attribution
118− notices within Derivative Works that You distribute, alongside
119− or as an addendum to the NOTICE text from the Work, provided
120− that such additional attribution notices cannot be construed
121− as modifying the License.
122−
123− You may add Your own copyright statement to Your modifications and
124− may provide additional or different license terms and conditions
125− for use, reproduction, or distribution of Your modifications, or
126− for any such Derivative Works as a whole, provided Your use,
127− reproduction, and distribution of the Work otherwise complies with
128− the conditions stated in this License.
129−
130− 5. Submission of Contributions. Unless You explicitly state otherwise,
131− any Contribution intentionally submitted for inclusion in the Work
132− by You to the Licensor shall be under the terms and conditions of
133− this License, without any additional terms or conditions.
134− Notwithstanding the above, nothing herein shall supersede or modify
135− the terms of any separate license agreement you may have executed
136− with Licensor regarding such Contributions.
137−
138− 6. Trademarks. This License does not grant permission to use the trade
139− names, trademarks, service marks, or product names of the Licensor,
140− except as required for reasonable and customary use in describing the
141− origin of the Work and reproducing the content of the NOTICE file.
142−
143− 7. Disclaimer of Warranty. Unless required by applicable law or
144− agreed to in writing, Licensor provides the Work (and each
145− Contributor provides its Contributions) on an "AS IS" BASIS,
146− WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147− implied, including, without limitation, any warranties or conditions
148− of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149− PARTICULAR PURPOSE. You are solely responsible for determining the
150− appropriateness of using or redistributing the Work and assume any
151− risks associated with Your exercise of permissions under this License.
152−
153− 8. Limitation of Liability. In no event and under no legal theory,
154− whether in tort (including negligence), contract, or otherwise,
155− unless required by applicable law (such as deliberate and grossly
156− negligent acts) or agreed to in writing, shall any Contributor be
157− liable to You for damages, including any direct, indirect, special,
158− incidental, or consequential damages of any character arising as a
159− result of this License or out of the use or inability to use the
160− Work (including but not limited to damages for loss of goodwill,
161− work stoppage, computer failure or malfunction, or any and all
162− other commercial damages or losses), even if such Contributor
163− has been advised of the possibility of such damages.
164−
165− 9. Accepting Warranty or Additional Liability. While redistributing
166− the Work or Derivative Works thereof, You may choose to offer,
167− and charge a fee for, acceptance of support, warranty, indemnity,
168− or other liability obligations and/or rights consistent with this
169− License. However, in accepting such obligations, You may act only
170− on Your own behalf and on Your sole responsibility, not on behalf
171− of any other Contributor, and only if You agree to indemnify,
172− defend, and hold each Contributor harmless for any liability
173− incurred by, or claims asserted against, such Contributor by reason
174− of your accepting any such warranty or additional liability.
175−
176− END OF TERMS AND CONDITIONS
177−
178− APPENDIX: How to apply the Apache License to your work.
179−
180− To apply the Apache License to your work, attach the following
181− boilerplate notice, with the fields enclosed by brackets "{}"
182− replaced with your own identifying information. (Don't include
183− the brackets!) The text should be enclosed in the appropriate
184− comment syntax for the file format. We also recommend that a
185− file or class name and description of purpose be included on the
186− same "printed page" as the copyright notice for easier
187− identification within third-party archives.
188−
189− Copyright {yyyy} {name of copyright owner}
190−
191− Licensed under the Apache License, Version 2.0 (the "License");
192− you may not use this file except in compliance with the License.
193− You may obtain a copy of the License at
194−
195− http://www.apache.org/licenses/LICENSE-2.0
196−
197− Unless required by applicable law or agreed to in writing, software
198− distributed under the License is distributed on an "AS IS" BASIS,
199− WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200− See the License for the specific language governing permissions and
201− limitations under the License.
202−
.spago/p/aff-8.0.0/README.mddeleted−50
@@ -1,50 +0,0 @@
1−# Aff
2−
3−[![CI](https://github.com/purescript-contrib/purescript-aff/workflows/CI/badge.svg?branch=main)](https://github.com/purescript-contrib/purescript-aff/actions?query=workflow%3ACI+branch%3Amain)
4−[![Release](https://img.shields.io/github/release/purescript-contrib/purescript-aff.svg)](https://github.com/purescript-contrib/purescript-aff/releases)
5−[![Pursuit](https://pursuit.purescript.org/packages/purescript-aff/badge)](https://pursuit.purescript.org/packages/purescript-aff)
6−[![Maintainer: natefaubion](https://img.shields.io/badge/maintainer-natefaubion-teal.svg)](https://github.com/natefaubion)
7−
8−An asynchronous effect monad and threading model for PureScript.
9−
10−## Installation
11−
12−Install `aff` with [Spago](https://github.com/purescript/spago):
13−
14−```sh
15−spago install aff
16−```
17−
18−## Quick start
19−
20−This quick start covers common, minimal use cases for the library. Longer examples and tutorials can be found in the [docs directory](./docs).
21−
22−```purescript
23−main :: Effect Unit
24−main = launchAff_ do
25− response <- Ajax.get "http://foo.bar"
26− log response.body
27−```
28−
29−## Documentation
30−
31−`aff` documentation is stored in a few places:
32−
33−1. Module documentation is [published on Pursuit](https://pursuit.purescript.org/packages/purescript-aff).
34−2. Written documentation is kept in the [docs directory](./docs).
35−3. Usage examples can be found in [the test suite](./test).
36−
37−If you get stuck, there are several ways to get help:
38−
39−- [Open an issue](https://github.com/purescript-contrib/purescript-aff/issues) if you have encountered a bug or problem.
40−- Ask general questions on the [PureScript Discourse](https://discourse.purescript.org) forum or the [PureScript Discord](https://purescript.org/chat) chat.
41−
42−## Contributing
43−
44−You can contribute to `aff` in several ways:
45−
46−1. If you encounter a problem or have a question, please [open an issue](https://github.com/purescript-contrib/purescript-aff/issues). We'll do our best to work with you to resolve or answer it.
47−
48−2. If you would like to contribute code, tests, or documentation, please [read the contributor guide](./CONTRIBUTING.md). It's a short, helpful introduction to contributing to this library, including development instructions.
49−
50−3. If you have written a library, tutorial, guide, or other resource based on this package, please share it on the [PureScript Discourse](https://discourse.purescript.org)! Writing libraries and learning resources are a great way to help this library succeed.
.spago/p/aff-8.0.0/bower.jsondeleted−42
@@ -1,42 +0,0 @@
1−{
2− "name": "purescript-aff",
3− "homepage": "https://github.com/slamdata/purescript-aff",
4− "description": "Asynchronous effect monad",
5− "repository": {
6− "type": "git",
7− "url": "https://github.com/purescript-contrib/purescript-aff.git"
8− },
9− "license": "Apache-2.0",
10− "ignore": [
11− "**/.*",
12− "bower_components",
13− "node_modules",
14− "output",
15− "test",
16− "bower.json",
17− "package.json"
18− ],
19− "dependencies": {
20− "purescript-arrays": "^7.0.0",
21− "purescript-bifunctors": "^6.0.0",
22− "purescript-control": "^6.0.0",
23− "purescript-datetime": "^6.0.0",
24− "purescript-effect": "^4.0.0",
25− "purescript-either": "^6.0.0",
26− "purescript-exceptions": "^6.0.0",
27− "purescript-foldable-traversable": "^6.0.0",
28− "purescript-functions": "^6.0.0",
29− "purescript-maybe": "^6.0.0",
30− "purescript-newtype": "^5.0.0",
31− "purescript-parallel": "^7.0.0",
32− "purescript-prelude": "^6.0.0",
33− "purescript-refs": "^6.0.0",
34− "purescript-tailrec": "^6.0.0",
35− "purescript-transformers": "^6.0.0",
36− "purescript-unsafe-coerce": "^6.0.0"
37− },
38− "devDependencies": {
39− "purescript-minibench": "^4.0.0",
40− "purescript-assert": "^6.0.0"
41− }
42−}
.spago/p/aff-8.0.0/package.jsondeleted−11
@@ -1,11 +0,0 @@
1−{
2− "private": true,
3− "scripts": {
4− "build": "eslint src && spago build --purs-args '--censor-lib --strict'",
5− "test": "spago test --no-install"
6− },
7− "devDependencies": {
8− "eslint": "^7.10.0",
9− "purescript-psa": "^0.8.2"
10− }
11−}
.spago/p/aff-8.0.0/packages.dhalldeleted−5
@@ -1,5 +0,0 @@
1−let upstream =
2− https://github.com/purescript/package-sets/releases/download/psc-0.15.4-20220725/packages.dhall
3− sha256:e56fbdf33a5afd2a610c81f8b940b413a638931edb41532164e641bb2a9ec29c
4−
5−in upstream
.spago/p/aff-8.0.0/purs.jsondeleted−28
@@ -1,28 +0,0 @@
1−{
2− "name": "aff",
3− "version": "8.0.0",
4− "license": "Apache-2.0",
5− "description": "Asynchronous effect monad",
6− "location": {
7− "githubOwner": "purescript-contrib",
8− "githubRepo": "purescript-aff"
9− },
10− "dependencies": {
11− "bifunctors": ">=6.0.0 <7.0.0",
12− "control": ">=6.0.0 <7.0.0",
13− "datetime": ">=6.0.0 <7.0.0",
14− "effect": ">=4.0.0 <5.0.0",
15− "either": ">=6.0.0 <7.0.0",
16− "exceptions": ">=6.0.0 <7.0.0",
17− "foldable-traversable": ">=6.0.0 <7.0.0",
18− "functions": ">=6.0.0 <7.0.0",
19− "maybe": ">=6.0.0 <7.0.0",
20− "newtype": ">=5.0.0 <6.0.0",
21− "parallel": ">=6.0.0 <8.0.0",
22− "prelude": ">=6.0.0 <7.0.0",
23− "refs": ">=6.0.0 <7.0.0",
24− "tailrec": ">=6.0.0 <7.0.0",
25− "transformers": ">=6.0.0 <7.0.0",
26− "unsafe-coerce": ">=6.0.0 <7.0.0"
27− }
28−}
.spago/p/aff-8.0.0/spago.dhalldeleted−28
@@ -1,28 +0,0 @@
1−{ name = "aff"
2−, dependencies =
3− [ "arrays"
4− , "assert"
5− , "bifunctors"
6− , "console"
7− , "control"
8− , "datetime"
9− , "effect"
10− , "either"
11− , "exceptions"
12− , "foldable-traversable"
13− , "functions"
14− , "maybe"
15− , "minibench"
16− , "newtype"
17− , "parallel"
18− , "partial"
19− , "prelude"
20− , "refs"
21− , "st"
22− , "tailrec"
23− , "transformers"
24− , "unsafe-coerce"
25− ]
26−, packages = ./packages.dhall
27−, sources = [ "src/**/*.purs", "test/**/*.purs" ]
28−}
.spago/p/aff-8.0.0/src/Effect/Aff.jsdeleted−1154
@@ -1,1154 +0,0 @@
1−/* globals setImmediate, clearImmediate, setTimeout, clearTimeout */
2−/* eslint-disable no-unused-vars, no-prototype-builtins, no-use-before-define, no-unused-labels, no-param-reassign */
3−var Aff = function () {
4− // A unique value for empty.
5− var EMPTY = {};
6−
7− /*
8−
9− An awkward approximation. We elide evidence we would otherwise need in PS for
10− efficiency sake.
11−
12− data Aff eff a
13− = Pure a
14− | Throw Error
15− | Catch (Aff eff a) (Error -> Aff eff a)
16− | Sync (Eff eff a)
17− | Async ((Either Error a -> Eff eff Unit) -> Eff eff (Canceler eff))
18− | forall b. Bind (Aff eff b) (b -> Aff eff a)
19− | forall b. Bracket (Aff eff b) (BracketConditions eff b) (b -> Aff eff a)
20− | forall b. Fork Boolean (Aff eff b) ?(Fiber eff b -> a)
21− | Sequential (ParAff aff a)
22−
23− */
24− var PURE = "Pure";
25− var THROW = "Throw";
26− var CATCH = "Catch";
27− var SYNC = "Sync";
28− var ASYNC = "Async";
29− var BIND = "Bind";
30− var BRACKET = "Bracket";
31− var FORK = "Fork";
32− var SEQ = "Sequential";
33−
34− /*
35−
36− data ParAff eff a
37− = forall b. Map (b -> a) (ParAff eff b)
38− | forall b. Apply (ParAff eff (b -> a)) (ParAff eff b)
39− | Alt (ParAff eff a) (ParAff eff a)
40− | ?Par (Aff eff a)
41−
42− */
43− var MAP = "Map";
44− var APPLY = "Apply";
45− var ALT = "Alt";
46−
47− // Various constructors used in interpretation
48− var CONS = "Cons"; // Cons-list, for stacks
49− var RESUME = "Resume"; // Continue indiscriminately
50− var RELEASE = "Release"; // Continue with bracket finalizers
51− var FINALIZER = "Finalizer"; // A non-interruptible effect
52− var FINALIZED = "Finalized"; // Marker for finalization
53− var FORKED = "Forked"; // Reference to a forked fiber, with resumption stack
54− var FIBER = "Fiber"; // Actual fiber reference
55− var THUNK = "Thunk"; // Primed effect, ready to invoke
56−
57− function Aff(tag, _1, _2, _3) {
58− this.tag = tag;
59− this._1 = _1;
60− this._2 = _2;
61− this._3 = _3;
62− }
63−
64− function AffCtr(tag) {
65− var fn = function (_1, _2, _3) {
66− return new Aff(tag, _1, _2, _3);
67− };
68− fn.tag = tag;
69− return fn;
70− }
71−
72− function nonCanceler(error) {
73− return new Aff(PURE, void 0);
74− }
75−
76− function runEff(eff) {
77− try {
78− eff();
79− } catch (error) {
80− setTimeout(function () {
81− throw error;
82− }, 0);
83− }
84− }
85−
86− function runSync(left, right, eff) {
87− try {
88− return right(eff());
89− } catch (error) {
90− return left(error);
91− }
92− }
93−
94− function runAsync(left, eff, k) {
95− try {
96− return eff(k)();
97− } catch (error) {
98− k(left(error))();
99− return nonCanceler;
100− }
101− }
102−
103− var Scheduler = function () {
104− var limit = 1024;
105− var size = 0;
106− var ix = 0;
107− var queue = new Array(limit);
108− var draining = false;
109−
110− function drain() {
111− var thunk;
112− draining = true;
113− while (size !== 0) {
114− size--;
115− thunk = queue[ix];
116− queue[ix] = void 0;
117− ix = (ix + 1) % limit;
118− thunk();
119− }
120− draining = false;
121− }
122−
123− return {
124− isDraining: function () {
125− return draining;
126− },
127− enqueue: function (cb) {
128− var i, tmp;
129− if (size === limit) {
130− tmp = draining;
131− drain();
132− draining = tmp;
133− }
134−
135− queue[(ix + size) % limit] = cb;
136− size++;
137−
138− if (!draining) {
139− drain();
140− }
141− }
142− };
143− }();
144−
145− function Supervisor(util) {
146− var fibers = {};
147− var fiberId = 0;
148− var count = 0;
149−
150− return {
151− register: function (fiber) {
152− var fid = fiberId++;
153− fiber.onComplete({
154− rethrow: true,
155− handler: function (result) {
156− return function () {
157− count--;
158− delete fibers[fid];
159− };
160− }
161− })();
162− fibers[fid] = fiber;
163− count++;
164− },
165− isEmpty: function () {
166− return count === 0;
167− },
168− killAll: function (killError, cb) {
169− return function () {
170− if (count === 0) {
171− return cb();
172− }
173−
174− var killCount = 0;
175− var kills = {};
176−
177− function kill(fid) {
178− kills[fid] = fibers[fid].kill(killError, function (result) {
179− return function () {
180− delete kills[fid];
181− killCount--;
182− if (util.isLeft(result) && util.fromLeft(result)) {
183− setTimeout(function () {
184− throw util.fromLeft(result);
185− }, 0);
186− }
187− if (killCount === 0) {
188− cb();
189− }
190− };
191− })();
192− }
193−
194− for (var k in fibers) {
195− if (fibers.hasOwnProperty(k)) {
196− killCount++;
197− kill(k);
198− }
199− }
200−
201− fibers = {};
202− fiberId = 0;
203− count = 0;
204−
205− return function (error) {
206− return new Aff(SYNC, function () {
207− for (var k in kills) {
208− if (kills.hasOwnProperty(k)) {
209− kills[k]();
210− }
211− }
212− });
213− };
214− };
215− }
216− };
217− }
218−
219− // Fiber state machine
220− var SUSPENDED = 0; // Suspended, pending a join.
221− var CONTINUE = 1; // Interpret the next instruction.
222− var STEP_BIND = 2; // Apply the next bind.
223− var STEP_RESULT = 3; // Handle potential failure from a result.
224− var PENDING = 4; // An async effect is running.
225− var RETURN = 5; // The current stack has returned.
226− var COMPLETED = 6; // The entire fiber has completed.
227−
228− function Fiber(util, supervisor, aff) {
229− // Monotonically increasing tick, increased on each asynchronous turn.
230− var runTick = 0;
231−
232− // The current branch of the state machine.
233− var status = SUSPENDED;
234−
235− // The current point of interest for the state machine branch.
236− var step = aff; // Successful step
237− var fail = null; // Failure step
238− var interrupt = null; // Asynchronous interrupt
239−
240− // Stack of continuations for the current fiber.
241− var bhead = null;
242− var btail = null;
243−
244− // Stack of attempts and finalizers for error recovery. Every `Cons` is also
245− // tagged with current `interrupt` state. We use this to track which items
246− // should be ignored or evaluated as a result of a kill.
247− var attempts = null;
248−
249− // A special state is needed for Bracket, because it cannot be killed. When
250− // we enter a bracket acquisition or finalizer, we increment the counter,
251− // and then decrement once complete.
252− var bracketCount = 0;
253−
254− // Each join gets a new id so they can be revoked.
255− var joinId = 0;
256− var joins = null;
257− var rethrow = true;
258−
259− // Each invocation of `run` requires a tick. When an asynchronous effect is
260− // resolved, we must check that the local tick coincides with the fiber
261− // tick before resuming. This prevents multiple async continuations from
262− // accidentally resuming the same fiber. A common example may be invoking
263− // the provided callback in `makeAff` more than once, but it may also be an
264− // async effect resuming after the fiber was already cancelled.
265− function run(localRunTick) {
266− var tmp, result, attempt;
267− while (true) {
268− tmp = null;
269− result = null;
270− attempt = null;
271−
272− switch (status) {
273− case STEP_BIND:
274− status = CONTINUE;
275− try {
276− step = bhead(step);
277− if (btail === null) {
278− bhead = null;
279− } else {
280− bhead = btail._1;
281− btail = btail._2;
282− }
283− } catch (e) {
284− status = RETURN;
285− fail = util.left(e);
286− step = null;
287− }
288− break;
289−
290− case STEP_RESULT:
291− if (util.isLeft(step)) {
292− status = RETURN;
293− fail = step;
294− step = null;
295− } else if (bhead === null) {
296− status = RETURN;
297− } else {
298− status = STEP_BIND;
299− step = util.fromRight(step);
300− }
301− break;
302−
303− case CONTINUE:
304− switch (step.tag) {
305− case BIND:
306− if (bhead) {
307− btail = new Aff(CONS, bhead, btail);
308− }
309− bhead = step._2;
310− status = CONTINUE;
311− step = step._1;
312− break;
313−
314− case PURE:
315− if (bhead === null) {
316− status = RETURN;
317− step = util.right(step._1);
318− } else {
319− status = STEP_BIND;
320− step = step._1;
321− }
322− break;
323−
324− case SYNC:
325− status = STEP_RESULT;
326− step = runSync(util.left, util.right, step._1);
327− break;
328−
329− case ASYNC:
330− status = PENDING;
331− step = runAsync(util.left, step._1, function (result) {
332− return function () {
333− if (runTick !== localRunTick) {
334− return;
335− }
336− runTick++;
337− Scheduler.enqueue(function () {
338− // It's possible to interrupt the fiber between enqueuing and
339− // resuming, so we need to check that the runTick is still
340− // valid.
341− if (runTick !== localRunTick + 1) {
342− return;
343− }
344− status = STEP_RESULT;
345− step = result;
346− run(runTick);
347− });
348− };
349− });
350− return;
351−
352− case THROW:
353− status = RETURN;
354− fail = util.left(step._1);
355− step = null;
356− break;
357−
358− // Enqueue the Catch so that we can call the error handler later on
359− // in case of an exception.
360− case CATCH:
361− if (bhead === null) {
362− attempts = new Aff(CONS, step, attempts, interrupt);
363− } else {
364− attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);
365− }
366− bhead = null;
367− btail = null;
368− status = CONTINUE;
369− step = step._1;
370− break;
371−
372− // Enqueue the Bracket so that we can call the appropriate handlers
373− // after resource acquisition.
374− case BRACKET:
375− bracketCount++;
376− if (bhead === null) {
377− attempts = new Aff(CONS, step, attempts, interrupt);
378− } else {
379− attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);
380− }
381− bhead = null;
382− btail = null;
383− status = CONTINUE;
384− step = step._1;
385− break;
386−
387− case FORK:
388− status = STEP_RESULT;
389− tmp = Fiber(util, supervisor, step._2);
390− if (supervisor) {
391− supervisor.register(tmp);
392− }
393− if (step._1) {
394− tmp.run();
395− }
396− step = util.right(tmp);
397− break;
398−
399− case SEQ:
400− status = CONTINUE;
401− step = sequential(util, supervisor, step._1);
402− break;
403− }
404− break;
405−
406− case RETURN:
407− bhead = null;
408− btail = null;
409− // If the current stack has returned, and we have no other stacks to
410− // resume or finalizers to run, the fiber has halted and we can
411− // invoke all join callbacks. Otherwise we need to resume.
412− if (attempts === null) {
413− status = COMPLETED;
414− step = interrupt || fail || step;
415− } else {
416− // The interrupt status for the enqueued item.
417− tmp = attempts._3;
418− attempt = attempts._1;
419− attempts = attempts._2;
420−
421− switch (attempt.tag) {
422− // We cannot recover from an unmasked interrupt. Otherwise we should
423− // continue stepping, or run the exception handler if an exception
424− // was raised.
425− case CATCH:
426− // We should compare the interrupt status as well because we
427− // only want it to apply if there has been an interrupt since
428− // enqueuing the catch.
429− if (interrupt && interrupt !== tmp && bracketCount === 0) {
430− status = RETURN;
431− } else if (fail) {
432− status = CONTINUE;
433− step = attempt._2(util.fromLeft(fail));
434− fail = null;
435− }
436− break;
437−
438− // We cannot resume from an unmasked interrupt or exception.
439− case RESUME:
440− // As with Catch, we only want to ignore in the case of an
441− // interrupt since enqueing the item.
442− if (interrupt && interrupt !== tmp && bracketCount === 0 || fail) {
443− status = RETURN;
444− } else {
445− bhead = attempt._1;
446− btail = attempt._2;
447− status = STEP_BIND;
448− step = util.fromRight(step);
449− }
450− break;
451−
452− // If we have a bracket, we should enqueue the handlers,
453− // and continue with the success branch only if the fiber has
454− // not been interrupted. If the bracket acquisition failed, we
455− // should not run either.
456− case BRACKET:
457− bracketCount--;
458− if (fail === null) {
459− result = util.fromRight(step);
460− // We need to enqueue the Release with the same interrupt
461− // status as the Bracket that is initiating it.
462− attempts = new Aff(CONS, new Aff(RELEASE, attempt._2, result), attempts, tmp);
463− // We should only coninue as long as the interrupt status has not changed or
464− // we are currently within a non-interruptable finalizer.
465− if (interrupt === tmp || bracketCount > 0) {
466− status = CONTINUE;
467− step = attempt._3(result);
468− }
469− }
470− break;
471−
472− // Enqueue the appropriate handler. We increase the bracket count
473− // because it should not be cancelled.
474− case RELEASE:
475− attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);
476− status = CONTINUE;
477− // It has only been killed if the interrupt status has changed
478− // since we enqueued the item, and the bracket count is 0. If the
479− // bracket count is non-zero then we are in a masked state so it's
480− // impossible to be killed.
481− if (interrupt && interrupt !== tmp && bracketCount === 0) {
482− step = attempt._1.killed(util.fromLeft(interrupt))(attempt._2);
483− } else if (fail) {
484− step = attempt._1.failed(util.fromLeft(fail))(attempt._2);
485− } else {
486− step = attempt._1.completed(util.fromRight(step))(attempt._2);
487− }
488− fail = null;
489− bracketCount++;
490− break;
491−
492− case FINALIZER:
493− bracketCount++;
494− attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);
495− status = CONTINUE;
496− step = attempt._1;
497− break;
498−
499− case FINALIZED:
500− bracketCount--;
501− status = RETURN;
502− step = attempt._1;
503− fail = attempt._2;
504− break;
505− }
506− }
507− break;
508−
509− case COMPLETED:
510− for (var k in joins) {
511− if (joins.hasOwnProperty(k)) {
512− rethrow = rethrow && joins[k].rethrow;
513− runEff(joins[k].handler(step));
514− }
515− }
516− joins = null;
517− // If we have an interrupt and a fail, then the thread threw while
518− // running finalizers. This should always rethrow in a fresh stack.
519− if (interrupt && fail) {
520− setTimeout(function () {
521− throw util.fromLeft(fail);
522− }, 0);
523− // If we have an unhandled exception, and no other fiber has joined
524− // then we need to throw the exception in a fresh stack.
525− } else if (util.isLeft(step) && rethrow) {
526− setTimeout(function () {
527− // Guard on reathrow because a completely synchronous fiber can
528− // still have an observer which was added after-the-fact.
529− if (rethrow) {
530− throw util.fromLeft(step);
531− }
532− }, 0);
533− }
534− return;
535− case SUSPENDED:
536− status = CONTINUE;
537− break;
538− case PENDING: return;
539− }
540− }
541− }
542−
543− function onComplete(join) {
544− return function () {
545− if (status === COMPLETED) {
546− rethrow = rethrow && join.rethrow;
547− join.handler(step)();
548− return function () {};
549− }
550−
551− var jid = joinId++;
552− joins = joins || {};
553− joins[jid] = join;
554−
555− return function() {
556− if (joins !== null) {
557− delete joins[jid];
558− }
559− };
560− };
561− }
562−
563− function kill(error, cb) {
564− return function () {
565− if (status === COMPLETED) {
566− cb(util.right(void 0))();
567− return function () {};
568− }
569−
570− var canceler = onComplete({
571− rethrow: false,
572− handler: function (/* unused */) {
573− return cb(util.right(void 0));
574− }
575− })();
576−
577− switch (status) {
578− case SUSPENDED:
579− interrupt = util.left(error);
580− status = COMPLETED;
581− step = interrupt;
582− run(runTick);
583− break;
584− case PENDING:
585− if (interrupt === null) {
586− interrupt = util.left(error);
587− }
588− if (bracketCount === 0) {
589− if (status === PENDING) {
590− attempts = new Aff(CONS, new Aff(FINALIZER, step(error)), attempts, interrupt);
591− }
592− status = RETURN;
593− step = null;
594− fail = null;
595− run(++runTick);
596− }
597− break;
598− default:
599− if (interrupt === null) {
600− interrupt = util.left(error);
601− }
602− if (bracketCount === 0) {
603− status = RETURN;
604− step = null;
605− fail = null;
606− }
607− }
608−
609− return canceler;
610− };
611− }
612−
613− function join(cb) {
614− return function () {
615− var canceler = onComplete({
616− rethrow: false,
617− handler: cb
618− })();
619− if (status === SUSPENDED) {
620− run(runTick);
621− }
622− return canceler;
623− };
624− }
625−
626− return {
627− kill: kill,
628− join: join,
629− onComplete: onComplete,
630− isSuspended: function () {
631− return status === SUSPENDED;
632− },
633− run: function () {
634− if (status === SUSPENDED) {
635− if (!Scheduler.isDraining()) {
636− Scheduler.enqueue(function () {
637− run(runTick);
638− });
639− } else {
640− run(runTick);
641− }
642− }
643− }
644− };
645− }
646−
647− function runPar(util, supervisor, par, cb) {
648− // Table of all forked fibers.
649− var fiberId = 0;
650− var fibers = {};
651−
652− // Table of currently running cancelers, as a product of `Alt` behavior.
653− var killId = 0;
654− var kills = {};
655−
656− // Error used for early cancelation on Alt branches.
657− var early = new Error("[ParAff] Early exit");
658−
659− // Error used to kill the entire tree.
660− var interrupt = null;
661−
662− // The root pointer of the tree.
663− var root = EMPTY;
664−
665− // Walks a tree, invoking all the cancelers. Returns the table of pending
666− // cancellation fibers.
667− function kill(error, par, cb) {
668− var step = par;
669− var head = null;
670− var tail = null;
671− var count = 0;
672− var kills = {};
673− var tmp, kid;
674−
675− loop: while (true) {
676− tmp = null;
677−
678− switch (step.tag) {
679− case FORKED:
680− if (step._3 === EMPTY) {
681− tmp = fibers[step._1];
682− kills[count++] = tmp.kill(error, function (result) {
683− return function () {
684− count--;
685− if (count === 0) {
686− cb(result)();
687− }
688− };
689− });
690− }
691− // Terminal case.
692− if (head === null) {
693− break loop;
694− }
695− // Go down the right side of the tree.
696− step = head._2;
697− if (tail === null) {
698− head = null;
699− } else {
700− head = tail._1;
701− tail = tail._2;
702− }
703− break;
704− case MAP:
705− step = step._2;
706− break;
707− case APPLY:
708− case ALT:
709− if (head) {
710− tail = new Aff(CONS, head, tail);
711− }
712− head = step;
713− step = step._1;
714− break;
715− }
716− }
717−
718− if (count === 0) {
719− cb(util.right(void 0))();
720− } else {
721− // Run the cancelation effects. We alias `count` because it's mutable.
722− kid = 0;
723− tmp = count;
724− for (; kid < tmp; kid++) {
725− kills[kid] = kills[kid]();
726− }
727− }
728−
729− return kills;
730− }
731−
732− // When a fiber resolves, we need to bubble back up the tree with the
733− // result, computing the applicative nodes.
734− function join(result, head, tail) {
735− var fail, step, lhs, rhs, tmp, kid;
736−
737− if (util.isLeft(result)) {
738− fail = result;
739− step = null;
740− } else {
741− step = result;
742− fail = null;
743− }
744−
745− loop: while (true) {
746− lhs = null;
747− rhs = null;
748− tmp = null;
749− kid = null;
750−
751− // We should never continue if the entire tree has been interrupted.
752− if (interrupt !== null) {
753− return;
754− }
755−
756− // We've made it all the way to the root of the tree, which means
757− // the tree has fully evaluated.
758− if (head === null) {
759− cb(fail || step)();
760− return;
761− }
762−
763− // The tree has already been computed, so we shouldn't try to do it
764− // again. This should never happen.
765− // TODO: Remove this?
766− if (head._3 !== EMPTY) {
767− return;
768− }
769−
770− switch (head.tag) {
771− case MAP:
772− if (fail === null) {
773− head._3 = util.right(head._1(util.fromRight(step)));
774− step = head._3;
775− } else {
776− head._3 = fail;
777− }
778− break;
779− case APPLY:
780− lhs = head._1._3;
781− rhs = head._2._3;
782− // If we have a failure we should kill the other side because we
783− // can't possible yield a result anymore.
784− if (fail) {
785− head._3 = fail;
786− tmp = true;
787− kid = killId++;
788−
789− kills[kid] = kill(early, fail === lhs ? head._2 : head._1, function (/* unused */) {
790− return function () {
791− delete kills[kid];
792− if (tmp) {
793− tmp = false;
794− } else if (tail === null) {
795− join(fail, null, null);
796− } else {
797− join(fail, tail._1, tail._2);
798− }
799− };
800− });
801−
802− if (tmp) {
803− tmp = false;
804− return;
805− }
806− } else if (lhs === EMPTY || rhs === EMPTY) {
807− // We can only proceed if both sides have resolved.
808− return;
809− } else {
810− step = util.right(util.fromRight(lhs)(util.fromRight(rhs)));
811− head._3 = step;
812− }
813− break;
814− case ALT:
815− lhs = head._1._3;
816− rhs = head._2._3;
817− // We can only proceed if both have resolved or we have a success
818− if (lhs === EMPTY && util.isLeft(rhs) || rhs === EMPTY && util.isLeft(lhs)) {
819− return;
820− }
821− // If both sides resolve with an error, we should continue with the
822− // first error
823− if (lhs !== EMPTY && util.isLeft(lhs) && rhs !== EMPTY && util.isLeft(rhs)) {
824− fail = step === lhs ? rhs : lhs;
825− step = null;
826− head._3 = fail;
827− } else {
828− head._3 = step;
829− tmp = true;
830− kid = killId++;
831− // Once a side has resolved, we need to cancel the side that is still
832− // pending before we can continue.
833− kills[kid] = kill(early, step === lhs ? head._2 : head._1, function (/* unused */) {
834− return function () {
835− delete kills[kid];
836− if (tmp) {
837− tmp = false;
838− } else if (tail === null) {
839− join(step, null, null);
840− } else {
841− join(step, tail._1, tail._2);
842− }
843− };
844− });
845−
846− if (tmp) {
847− tmp = false;
848− return;
849− }
850− }
851− break;
852− }
853−
854− if (tail === null) {
855− head = null;
856− } else {
857− head = tail._1;
858− tail = tail._2;
859− }
860− }
861− }
862−
863− function resolve(fiber) {
864− return function (result) {
865− return function () {
866− delete fibers[fiber._1];
867− fiber._3 = result;
868− join(result, fiber._2._1, fiber._2._2);
869− };
870− };
871− }
872−
873− // Walks the applicative tree, substituting non-applicative nodes with
874− // `FORKED` nodes. In this tree, all applicative nodes use the `_3` slot
875− // as a mutable slot for memoization. In an unresolved state, the `_3`
876− // slot is `EMPTY`. In the cases of `ALT` and `APPLY`, we always walk
877− // the left side first, because both operations are left-associative. As
878− // we `RETURN` from those branches, we then walk the right side.
879− function run() {
880− var status = CONTINUE;
881− var step = par;
882− var head = null;
883− var tail = null;
884− var tmp, fid;
885−
886− loop: while (true) {
887− tmp = null;
888− fid = null;
889−
890− switch (status) {
891− case CONTINUE:
892− switch (step.tag) {
893− case MAP:
894− if (head) {
895− tail = new Aff(CONS, head, tail);
896− }
897− head = new Aff(MAP, step._1, EMPTY, EMPTY);
898− step = step._2;
899− break;
900− case APPLY:
901− if (head) {
902− tail = new Aff(CONS, head, tail);
903− }
904− head = new Aff(APPLY, EMPTY, step._2, EMPTY);
905− step = step._1;
906− break;
907− case ALT:
908− if (head) {
909− tail = new Aff(CONS, head, tail);
910− }
911− head = new Aff(ALT, EMPTY, step._2, EMPTY);
912− step = step._1;
913− break;
914− default:
915− // When we hit a leaf value, we suspend the stack in the `FORKED`.
916− // When the fiber resolves, it can bubble back up the tree.
917− fid = fiberId++;
918− status = RETURN;
919− tmp = step;
920− step = new Aff(FORKED, fid, new Aff(CONS, head, tail), EMPTY);
921− tmp = Fiber(util, supervisor, tmp);
922− tmp.onComplete({
923− rethrow: false,
924− handler: resolve(step)
925− })();
926− fibers[fid] = tmp;
927− if (supervisor) {
928− supervisor.register(tmp);
929− }
930− }
931− break;
932− case RETURN:
933− // Terminal case, we are back at the root.
934− if (head === null) {
935− break loop;
936− }
937− // If we are done with the right side, we need to continue down the
938− // left. Otherwise we should continue up the stack.
939− if (head._1 === EMPTY) {
940− head._1 = step;
941− status = CONTINUE;
942− step = head._2;
943− head._2 = EMPTY;
944− } else {
945− head._2 = step;
946− step = head;
947− if (tail === null) {
948− head = null;
949− } else {
950− head = tail._1;
951− tail = tail._2;
952− }
953− }
954− }
955− }
956−
957− // Keep a reference to the tree root so it can be cancelled.
958− root = step;
959−
960− for (fid = 0; fid < fiberId; fid++) {
961− fibers[fid].run();
962− }
963− }
964−
965− // Cancels the entire tree. If there are already subtrees being canceled,
966− // we need to first cancel those joins. We will then add fresh joins for
967− // all pending branches including those that were in the process of being
968− // canceled.
969− function cancel(error, cb) {
970− interrupt = util.left(error);
971− var innerKills;
972− for (var kid in kills) {
973− if (kills.hasOwnProperty(kid)) {
974− innerKills = kills[kid];
975− for (kid in innerKills) {
976− if (innerKills.hasOwnProperty(kid)) {
977− innerKills[kid]();
978− }
979− }
980− }
981− }
982−
983− kills = null;
984− var newKills = kill(error, root, cb);
985−
986− return function (killError) {
987− return new Aff(ASYNC, function (killCb) {
988− return function () {
989− for (var kid in newKills) {
990− if (newKills.hasOwnProperty(kid)) {
991− newKills[kid]();
992− }
993− }
994− return nonCanceler;
995− };
996− });
997− };
998− }
999−
1000− run();
1001−
1002− return function (killError) {
1003− return new Aff(ASYNC, function (killCb) {
1004− return function () {
1005− return cancel(killError, killCb);
1006− };
1007− });
1008− };
1009− }
1010−
1011− function sequential(util, supervisor, par) {
1012− return new Aff(ASYNC, function (cb) {
1013− return function () {
1014− return runPar(util, supervisor, par, cb);
1015− };
1016− });
1017− }
1018−
1019− Aff.EMPTY = EMPTY;
1020− Aff.Pure = AffCtr(PURE);
1021− Aff.Throw = AffCtr(THROW);
1022− Aff.Catch = AffCtr(CATCH);
1023− Aff.Sync = AffCtr(SYNC);
1024− Aff.Async = AffCtr(ASYNC);
1025− Aff.Bind = AffCtr(BIND);
1026− Aff.Bracket = AffCtr(BRACKET);
1027− Aff.Fork = AffCtr(FORK);
1028− Aff.Seq = AffCtr(SEQ);
1029− Aff.ParMap = AffCtr(MAP);
1030− Aff.ParApply = AffCtr(APPLY);
1031− Aff.ParAlt = AffCtr(ALT);
1032− Aff.Fiber = Fiber;
1033− Aff.Supervisor = Supervisor;
1034− Aff.Scheduler = Scheduler;
1035− Aff.nonCanceler = nonCanceler;
1036−
1037− return Aff;
1038−}();
1039−
1040−export const _pure = Aff.Pure;
1041−export const _throwError = Aff.Throw;
1042−
1043−export function _catchError(aff) {
1044− return function (k) {
1045− return Aff.Catch(aff, k);
1046− };
1047−}
1048−
1049−export function _map(f) {
1050− return function (aff) {
1051− if (aff.tag === Aff.Pure.tag) {
1052− return Aff.Pure(f(aff._1));
1053− } else {
1054− return Aff.Bind(aff, function (value) {
1055− return Aff.Pure(f(value));
1056− });
1057− }
1058− };
1059−}
1060−
1061−export function _bind(aff) {
1062− return function (k) {
1063− return Aff.Bind(aff, k);
1064− };
1065−}
1066−
1067−export function _fork(immediate) {
1068− return function (aff) {
1069− return Aff.Fork(immediate, aff);
1070− };
1071−}
1072−
1073−export const _liftEffect = Aff.Sync;
1074−
1075−export function _parAffMap(f) {
1076− return function (aff) {
1077− return Aff.ParMap(f, aff);
1078− };
1079−}
1080−
1081−export function _parAffApply(aff1) {
1082− return function (aff2) {
1083− return Aff.ParApply(aff1, aff2);
1084− };
1085−}
1086−
1087−export function _parAffAlt(aff1) {
1088− return function (aff2) {
1089− return Aff.ParAlt(aff1, aff2);
1090− };
1091−}
1092−
1093−export const makeAff = Aff.Async;
1094−
1095−export function generalBracket(acquire) {
1096− return function (options) {
1097− return function (k) {
1098− return Aff.Bracket(acquire, options, k);
1099− };
1100− };
1101−}
1102−
1103−export function _makeFiber(util, aff) {
1104− return function () {
1105− return Aff.Fiber(util, null, aff);
1106− };
1107−}
1108−
1109−export function _makeSupervisedFiber(util, aff) {
1110− return function () {
1111− var supervisor = Aff.Supervisor(util);
1112− return {
1113− fiber: Aff.Fiber(util, supervisor, aff),
1114− supervisor: supervisor
1115− };
1116− };
1117−}
1118−
1119−export function _killAll(error, supervisor, cb) {
1120− return supervisor.killAll(error, cb);
1121−}
1122−
1123−export const _delay = function () {
1124− function setDelay(n, k) {
1125− if (n === 0 && typeof setImmediate !== "undefined") {
1126− return setImmediate(k);
1127− } else {
1128− return setTimeout(k, n);
1129− }
1130− }
1131−
1132− function clearDelay(n, t) {
1133− if (n === 0 && typeof clearImmediate !== "undefined") {
1134− return clearImmediate(t);
1135− } else {
1136− return clearTimeout(t);
1137− }
1138− }
1139−
1140− return function (right, ms) {
1141− return Aff.Async(function (cb) {
1142− return function () {
1143− var timer = setDelay(ms, cb(right()));
1144− return function () {
1145− return Aff.Sync(function () {
1146− return right(clearDelay(ms, timer));
1147− });
1148− };
1149− };
1150− });
1151− };
1152−}();
1153−
1154−export const _sequential = Aff.Seq;
.spago/p/aff-8.0.0/src/Effect/Aff.pursdeleted−414
@@ -1,414 +0,0 @@
1−module Effect.Aff
2− ( Aff
3− , Fiber
4− , ParAff(..)
5− , Canceler(..)
6− , makeAff
7− , launchAff
8− , launchAff_
9− , launchSuspendedAff
10− , runAff
11− , runAff_
12− , runSuspendedAff
13− , forkAff
14− , suspendAff
15− , supervise
16− , attempt
17− , apathize
18− , delay
19− , never
20− , finally
21− , invincible
22− , killFiber
23− , joinFiber
24− , cancelWith
25− , bracket
26− , BracketConditions
27− , generalBracket
28− , nonCanceler
29− , effectCanceler
30− , fiberCanceler
31− , module Exports
32− ) where
33−
34−import Prelude
35−
36−import Control.Alt (class Alt)
37−import Control.Alternative (class Alternative)
38−import Control.Apply (lift2)
39−import Control.Lazy (class Lazy)
40−import Control.Monad.Error.Class (class MonadError, class MonadThrow, throwError, catchError, try)
41−import Control.Monad.Error.Class (try, throwError, catchError) as Exports
42−import Control.Monad.Rec.Class (class MonadRec, Step(..))
43−import Control.Monad.ST.Class (class MonadST, liftST)
44−import Control.Monad.ST.Global (Global)
45−import Control.Parallel (parSequence_, parallel)
46−import Control.Parallel.Class (class Parallel)
47−import Control.Parallel.Class (sequential, parallel) as Exports
48−import Control.Plus (class Plus, empty)
49−import Data.Either (Either(..))
50−import Data.Function.Uncurried as Fn
51−import Data.Newtype (class Newtype)
52−import Data.Time.Duration (Milliseconds(..))
53−import Data.Time.Duration (Milliseconds(..)) as Exports
54−import Effect (Effect)
55−import Effect.Class (class MonadEffect, liftEffect)
56−import Effect.Exception (Error, error)
57−import Effect.Exception (Error, error, message) as Exports
58−import Effect.Unsafe (unsafePerformEffect)
59−import Partial.Unsafe (unsafeCrashWith)
60−import Unsafe.Coerce (unsafeCoerce)
61−
62−-- | An `Aff a` is an asynchronous computation with effects. The
63−-- | computation may either error with an exception, or produce a result of
64−-- | type `a`. `Aff` effects are assembled from primitive `Effect` effects using
65−-- | `makeAff` or `liftEffect`.
66−foreign import data Aff :: Type -> Type
67−
68−type role Aff representational
69−
70−instance functorAff :: Functor Aff where
71− map = _map
72−
73−instance applyAff :: Apply Aff where
74− apply = ap
75−
76−instance applicativeAff :: Applicative Aff where
77− pure = _pure
78−
79−instance bindAff :: Bind Aff where
80− bind = _bind
81−
82−instance monadAff :: Monad Aff
83−
84−instance semigroupAff :: Semigroup a => Semigroup (Aff a) where
85− append = lift2 append
86−
87−instance monoidAff :: Monoid a => Monoid (Aff a) where
88− mempty = pure mempty
89−
90−instance altAff :: Alt Aff where
91− alt a1 a2 = catchError a1 (const a2)
92−
93−instance plusAff :: Plus Aff where
94− empty = throwError (error "Always fails")
95−
96−-- | This instance is provided for compatibility. `Aff` is always stack-safe
97−-- | within a given fiber. This instance will just result in unnecessary
98−-- | bind overhead.
99−instance monadRecAff :: MonadRec Aff where
100− tailRecM k = go
101− where
102− go a = do
103− res <- k a
104− case res of
105− Done r -> pure r
106− Loop b -> go b
107−
108−instance monadThrowAff :: MonadThrow Error Aff where
109− throwError = _throwError
110−
111−instance monadErrorAff :: MonadError Error Aff where
112− catchError = _catchError
113−
114−instance monadEffectAff :: MonadEffect Aff where
115− liftEffect = _liftEffect
116−
117−instance lazyAff :: Lazy (Aff a) where
118− defer f = pure unit >>= f
119−
120−instance monadSTAff :: MonadST Global Aff where
121− liftST = liftST >>> liftEffect
122−
123−-- | Applicative for running parallel effects. Any `Aff` can be coerced to a
124−-- | `ParAff` and back using the `Parallel` class.
125−foreign import data ParAff :: Type -> Type
126−
127−type role ParAff representational
128−
129−instance functorParAff :: Functor ParAff where
130− map = _parAffMap
131−
132−-- | Runs effects in parallel, combining their results.
133−instance applyParAff :: Apply ParAff where
134− apply = _parAffApply
135−
136−instance applicativeParAff :: Applicative ParAff where
137− pure = parallel <<< pure
138−
139−instance semigroupParAff :: Semigroup a => Semigroup (ParAff a) where
140− append = lift2 append
141−
142−instance monoidParAff :: Monoid a => Monoid (ParAff a) where
143− mempty = pure mempty
144−
145−-- | Races effects in parallel. Returns the first successful result or the
146−-- | first error if all fail with an exception. Losing branches will be
147−-- | cancelled.
148−instance altParAff :: Alt ParAff where
149− alt = _parAffAlt
150−
151−instance plusParAff :: Plus ParAff where
152− empty = parallel empty
153−
154−instance alternativeParAff :: Alternative ParAff
155−
156−instance parallelAff :: Parallel ParAff Aff where
157− parallel = (unsafeCoerce :: forall a. Aff a -> ParAff a)
158− sequential = _sequential
159−
160−type OnComplete a =
161− { rethrow :: Boolean
162− , handler :: (Either Error a -> Effect Unit) -> Effect Unit
163− }
164−
165−-- | Represents a forked computation by way of `forkAff`. `Fiber`s are
166−-- | memoized, so their results are only computed once.
167−newtype Fiber a = Fiber
168− { run :: Effect Unit
169− , kill :: Fn.Fn2 Error (Either Error Unit -> Effect Unit) (Effect (Effect Unit))
170− , join :: (Either Error a -> Effect Unit) -> Effect (Effect Unit)
171− , onComplete :: OnComplete a -> Effect (Effect Unit)
172− , isSuspended :: Effect Boolean
173− }
174−
175−instance functorFiber :: Functor Fiber where
176− map f t = unsafePerformEffect (makeFiber (f <$> joinFiber t))
177−
178−instance applyFiber :: Apply Fiber where
179− apply t1 t2 = unsafePerformEffect (makeFiber (joinFiber t1 <*> joinFiber t2))
180−
181−instance applicativeFiber :: Applicative Fiber where
182− pure a = unsafePerformEffect (makeFiber (pure a))
183−
184−-- | Invokes pending cancelers in a fiber and runs cleanup effects. Blocks
185−-- | until the fiber has fully exited.
186−killFiber :: forall a. Error -> Fiber a -> Aff Unit
187−killFiber e (Fiber t) = do
188− suspended <- liftEffect t.isSuspended
189− if suspended then
190− liftEffect $ void $ Fn.runFn2 t.kill e (const (pure unit))
191− else
192− makeAff \k -> effectCanceler <$> Fn.runFn2 t.kill e k
193−
194−-- | Blocks until the fiber completes, yielding the result. If the fiber
195−-- | throws an exception, it is rethrown in the current fiber.
196−joinFiber :: Fiber ~> Aff
197−joinFiber (Fiber t) = makeAff \k -> effectCanceler <$> t.join k
198−
199−-- | A cancellation effect for actions run via `makeAff`. If a `Fiber` is
200−-- | killed, and an async action is pending, the canceler will be called to
201−-- | clean it up.
202−newtype Canceler = Canceler (Error -> Aff Unit)
203−
204−derive instance newtypeCanceler :: Newtype Canceler _
205−
206−instance semigroupCanceler :: Semigroup Canceler where
207− append (Canceler c1) (Canceler c2) =
208− Canceler \err -> parSequence_ [ c1 err, c2 err ]
209−
210−-- | A no-op `Canceler` can be constructed with `mempty`.
211−instance monoidCanceler :: Monoid Canceler where
212− mempty = nonCanceler
213−
214−-- | A canceler which does not cancel anything.
215−nonCanceler :: Canceler
216−nonCanceler = Canceler (const (pure unit))
217−
218−-- | A canceler from an Effect action.
219−effectCanceler :: Effect Unit -> Canceler
220−effectCanceler = Canceler <<< const <<< liftEffect
221−
222−-- | A canceler from a Fiber.
223−fiberCanceler :: forall a. Fiber a -> Canceler
224−fiberCanceler = Canceler <<< flip killFiber
225−
226−-- | Forks an `Aff` from an `Effect` context, returning the `Fiber`.
227−launchAff :: forall a. Aff a -> Effect (Fiber a)
228−launchAff aff = do
229− fiber <- makeFiber aff
230− case fiber of Fiber f -> f.run
231− pure fiber
232−
233−-- | Forks an `Aff` from an `Effect` context, discarding the `Fiber`.
234−launchAff_ :: Aff Unit -> Effect Unit
235−launchAff_ = void <<< launchAff
236−
237−-- | Suspends an `Aff` from an `Effect` context, returning the `Fiber`.
238−launchSuspendedAff :: forall a. Aff a -> Effect (Fiber a)
239−launchSuspendedAff = makeFiber
240−
241−-- | Forks an `Aff` from an `Effect` context and also takes a callback to run when
242−-- | it completes. Returns the pending `Fiber`.
243−runAff :: forall a. (Either Error a -> Effect Unit) -> Aff a -> Effect (Fiber Unit)
244−runAff k aff = launchAff $ liftEffect <<< k =<< try aff
245−
246−-- | Forks an `Aff` from an `Effect` context and also takes a callback to run when
247−-- | it completes, discarding the `Fiber`.
248−runAff_ :: forall a. (Either Error a -> Effect Unit) -> Aff a -> Effect Unit
249−runAff_ k aff = void $ runAff k aff
250−
251−-- | Suspends an `Aff` from an `Effect` context and also takes a callback to run
252−-- | when it completes. Returns the suspended `Fiber`.
253−runSuspendedAff :: forall a. (Either Error a -> Effect Unit) -> Aff a -> Effect (Fiber Unit)
254−runSuspendedAff k aff = launchSuspendedAff $ liftEffect <<< k =<< try aff
255−
256−-- | Forks an `Aff` from within a parent `Aff` context, returning the `Fiber`.
257−forkAff :: forall a. Aff a -> Aff (Fiber a)
258−forkAff = _fork true
259−
260−-- | Suspends an `Aff` from within a parent `Aff` context, returning the `Fiber`.
261−-- | A suspended `Aff` is not executed until a consumer observes the result
262−-- | with `joinFiber`.
263−suspendAff :: forall a. Aff a -> Aff (Fiber a)
264−suspendAff = _fork false
265−
266−-- | Pauses the running fiber.
267−delay :: Milliseconds -> Aff Unit
268−delay (Milliseconds n) = Fn.runFn2 _delay Right n
269−
270−-- | An async computation which does not resolve.
271−never :: forall a. Aff a
272−never = makeAff \_ -> pure mempty
273−
274−-- | A monomorphic version of `try`. Catches thrown errors and lifts them
275−-- | into an `Either`.
276−attempt :: forall a. Aff a -> Aff (Either Error a)
277−attempt = try
278−
279−-- | Ignores any errors.
280−apathize :: forall a. Aff a -> Aff Unit
281−apathize = attempt >>> map (const unit)
282−
283−-- | Runs the first effect after the second, regardless of whether it completed
284−-- | successfully or the fiber was cancelled.
285−finally :: forall a. Aff Unit -> Aff a -> Aff a
286−finally fin a = bracket (pure unit) (const fin) (const a)
287−
288−-- | Runs an effect such that it cannot be killed.
289−invincible :: forall a. Aff a -> Aff a
290−invincible a = bracket a (const (pure unit)) pure
291−
292−-- | Attaches a custom `Canceler` to an action. If the computation is canceled,
293−-- | then the custom `Canceler` will be run afterwards.
294−cancelWith :: forall a. Aff a -> Canceler -> Aff a
295−cancelWith aff (Canceler cancel) =
296− generalBracket (pure unit)
297− { killed: \e _ -> cancel e
298− , failed: const pure
299− , completed: const pure
300− }
301− (const aff)
302−
303−-- | Guarantees resource acquisition and cleanup. The first effect may acquire
304−-- | some resource, while the second will dispose of it. The third effect makes
305−-- | use of the resource. Disposal is always run last, regardless. Neither
306−-- | acquisition nor disposal may be cancelled and are guaranteed to run until
307−-- | they complete.
308−bracket :: forall a b. Aff a -> (a -> Aff Unit) -> (a -> Aff b) -> Aff b
309−bracket acquire completed =
310− generalBracket acquire
311− { killed: const completed
312− , failed: const completed
313− , completed: const completed
314− }
315−
316−type Supervised a =
317− { fiber :: Fiber a
318− , supervisor :: Supervisor
319− }
320−
321−-- | Creates a new supervision context for some `Aff`, guaranteeing fiber
322−-- | cleanup when the parent completes. Any pending fibers forked within
323−-- | the context will be killed and have their cancelers run.
324−supervise :: forall a. Aff a -> Aff a
325−supervise aff =
326− generalBracket (liftEffect acquire)
327− { killed: \err sup -> parSequence_ [ killFiber err sup.fiber, killAll err sup ]
328− , failed: const (killAll killError)
329− , completed: const (killAll killError)
330− }
331− (joinFiber <<< _.fiber)
332− where
333− killError :: Error
334− killError =
335− error "[Aff] Child fiber outlived parent"
336−
337− killAll :: Error -> Supervised a -> Aff Unit
338− killAll err sup = makeAff \k ->
339− Fn.runFn3 _killAll err sup.supervisor (k (pure unit))
340−
341− acquire :: Effect (Supervised a)
342− acquire = do
343− sup <- Fn.runFn2 _makeSupervisedFiber ffiUtil aff
344− case sup.fiber of Fiber f -> f.run
345− pure sup
346−
347−foreign import data Supervisor :: Type
348−foreign import _pure :: forall a. a -> Aff a
349−foreign import _throwError :: forall a. Error -> Aff a
350−foreign import _catchError :: forall a. Aff a -> (Error -> Aff a) -> Aff a
351−foreign import _fork :: forall a. Boolean -> Aff a -> Aff (Fiber a)
352−foreign import _map :: forall a b. (a -> b) -> Aff a -> Aff b
353−foreign import _bind :: forall a b. Aff a -> (a -> Aff b) -> Aff b
354−foreign import _delay :: forall a. Fn.Fn2 (Unit -> Either a Unit) Number (Aff Unit)
355−foreign import _liftEffect :: forall a. Effect a -> Aff a
356−foreign import _parAffMap :: forall a b. (a -> b) -> ParAff a -> ParAff b
357−foreign import _parAffApply :: forall a b. ParAff (a -> b) -> ParAff a -> ParAff b
358−foreign import _parAffAlt :: forall a. ParAff a -> ParAff a -> ParAff a
359−foreign import _makeFiber :: forall a. Fn.Fn2 FFIUtil (Aff a) (Effect (Fiber a))
360−foreign import _makeSupervisedFiber :: forall a. Fn.Fn2 FFIUtil (Aff a) (Effect (Supervised a))
361−foreign import _killAll :: Fn.Fn3 Error Supervisor (Effect Unit) (Effect Canceler)
362−foreign import _sequential :: ParAff ~> Aff
363−
364−type BracketConditions a b =
365− { killed :: Error -> a -> Aff Unit
366− , failed :: Error -> a -> Aff Unit
367− , completed :: b -> a -> Aff Unit
368− }
369−
370−-- | A general purpose bracket which lets you observe the status of the
371−-- | bracketed action. The bracketed action may have been killed with an
372−-- | exception, thrown an exception, or completed successfully.
373−foreign import generalBracket :: forall a b. Aff a -> BracketConditions a b -> (a -> Aff b) -> Aff b
374−
375−-- | Constructs an `Aff` from low-level `Effect` effects using a callback. A
376−-- | `Canceler` effect should be returned to cancel the pending action. The
377−-- | supplied callback may be invoked only once. Subsequent invocation are
378−-- | ignored.
379−foreign import makeAff :: forall a. ((Either Error a -> Effect Unit) -> Effect Canceler) -> Aff a
380−
381−makeFiber :: forall a. Aff a -> Effect (Fiber a)
382−makeFiber aff = Fn.runFn2 _makeFiber ffiUtil aff
383−
384−newtype FFIUtil = FFIUtil
385− { isLeft :: forall a b. Either a b -> Boolean
386− , fromLeft :: forall a b. Either a b -> a
387− , fromRight :: forall a b. Either a b -> b
388− , left :: forall a b. a -> Either a b
389− , right :: forall a b. b -> Either a b
390− }
391−
392−ffiUtil :: FFIUtil
393−ffiUtil = FFIUtil
394− { isLeft
395− , fromLeft: unsafeFromLeft
396− , fromRight: unsafeFromRight
397− , left: Left
398− , right: Right
399− }
400− where
401− isLeft :: forall a b. Either a b -> Boolean
402− isLeft = case _ of
403− Left _ -> true
404− Right _ -> false
405−
406− unsafeFromLeft :: forall a b. Either a b -> a
407− unsafeFromLeft = case _ of
408− Left a -> a
409− Right _ -> unsafeCrashWith "unsafeFromLeft: Right"
410−
411− unsafeFromRight :: forall a b. Either a b -> b
412− unsafeFromRight = case _ of
413− Right a -> a
414− Left _ -> unsafeCrashWith "unsafeFromRight: Left"
.spago/p/aff-8.0.0/src/Effect/Aff/Class.pursdeleted−44
@@ -1,44 +0,0 @@
1−module Effect.Aff.Class where
2−
3−import Prelude
4−import Control.Monad.Cont.Trans (ContT)
5−import Control.Monad.Except.Trans (ExceptT)
6−import Control.Monad.List.Trans (ListT)
7−import Control.Monad.Maybe.Trans (MaybeT)
8−import Control.Monad.Reader.Trans (ReaderT)
9−import Control.Monad.RWS.Trans (RWST)
10−import Control.Monad.State.Trans (StateT)
11−import Control.Monad.Trans.Class (lift)
12−import Control.Monad.Writer.Trans (WriterT)
13−import Effect.Aff (Aff)
14−import Effect.Class (class MonadEffect)
15−
16−class MonadEffect m <= MonadAff m where
17− liftAff :: Aff ~> m
18−
19−instance monadAffAff :: MonadAff Aff where
20− liftAff = identity
21−
22−instance monadAffContT :: MonadAff m => MonadAff (ContT r m) where
23− liftAff = lift <<< liftAff
24−
25−instance monadAffExceptT :: MonadAff m => MonadAff (ExceptT e m) where
26− liftAff = lift <<< liftAff
27−
28−instance monadAffListT :: MonadAff m => MonadAff (ListT m) where
29− liftAff = lift <<< liftAff
30−
31−instance monadAffMaybe :: MonadAff m => MonadAff (MaybeT m) where
32− liftAff = lift <<< liftAff
33−
34−instance monadAffReader :: MonadAff m => MonadAff (ReaderT r m) where
35− liftAff = lift <<< liftAff
36−
37−instance monadAffRWS :: (MonadAff m, Monoid w) => MonadAff (RWST r w s m) where
38− liftAff = lift <<< liftAff
39−
40−instance monadAffState :: MonadAff m => MonadAff (StateT s m) where
41− liftAff = lift <<< liftAff
42−
43−instance monadAffWriter :: (MonadAff m, Monoid w) => MonadAff (WriterT w m) where
44− liftAff = lift <<< liftAff
.spago/p/aff-8.0.0/src/Effect/Aff/Compat.pursdeleted−53
@@ -1,53 +0,0 @@
1−-- | This module provides compatability functions for constructing `Aff`s which
2−-- | are defined via the FFI.
3−module Effect.Aff.Compat
4− ( EffectFnAff(..)
5− , EffectFnCanceler(..)
6− , EffectFnCb
7− , fromEffectFnAff
8− , module Effect.Uncurried
9− ) where
10−
11−import Prelude
12−import Data.Either (Either(..))
13−import Effect.Aff (Aff, Canceler(..), makeAff, nonCanceler)
14−import Effect.Exception (Error)
15−import Effect.Uncurried (EffectFn1, EffectFn2, EffectFn3, mkEffectFn1, mkEffectFn2, mkEffectFn3, runEffectFn1, runEffectFn2, runEffectFn3)
16−
17−type EffectFnCb a = EffectFn1 a Unit
18−
19−newtype EffectFnAff a = EffectFnAff (EffectFn2 (EffectFnCb Error) (EffectFnCb a) EffectFnCanceler)
20−
21−newtype EffectFnCanceler = EffectFnCanceler (EffectFn3 Error (EffectFnCb Error) (EffectFnCb Unit) Unit)
22−
23−-- | Lift a FFI definition into an `Aff`. `EffectFnAff` makes use of `EffectFn` so
24−-- | `Effect` thunks are unnecessary. A definition might follow this example:
25−-- |
26−-- | ```javascript
27−-- | exports._myAff = function (onError, onSuccess) {
28−-- | var cancel = doSomethingAsync(function (err, res) {
29−-- | if (err) {
30−-- | onError(err);
31−-- | } else {
32−-- | onSuccess(res);
33−-- | }
34−-- | });
35−-- | return function (cancelError, onCancelerError, onCancelerSuccess) {
36−-- | cancel();
37−-- | onCancelerSuccess();
38−-- | };
39−-- | };
40−-- | ```
41−-- |
42−-- | ```purescript
43−-- | foreign import _myAff :: EffectFnAff String
44−-- |
45−-- | myAff :: Aff String
46−-- | myAff = fromEffectFnAff _myAff
47−-- | ````
48−fromEffectFnAff :: EffectFnAff ~> Aff
49−fromEffectFnAff (EffectFnAff eff) = makeAff \k -> do
50− EffectFnCanceler canceler <- runEffectFn2 eff (mkEffectFn1 (k <<< Left)) (mkEffectFn1 (k <<< Right))
51− pure $ Canceler \e -> makeAff \k2 -> do
52− runEffectFn3 canceler e (mkEffectFn1 (k2 <<< Left)) (mkEffectFn1 (k2 <<< Right))
53− pure nonCanceler
.spago/p/aff-promise-4.0.0/LICENSEdeleted−21
@@ -1,21 +0,0 @@
1−MIT License
2−
3−Copyright (c) 2016 Nicholas Wolverson
4−
5−Permission is hereby granted, free of charge, to any person obtaining a copy
6−of this software and associated documentation files (the "Software"), to deal
7−in the Software without restriction, including without limitation the rights
8−to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9−copies of the Software, and to permit persons to whom the Software is
10−furnished to do so, subject to the following conditions:
11−
12−The above copyright notice and this permission notice shall be included in all
13−copies or substantial portions of the Software.
14−
15−THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16−IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17−FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18−AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19−LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20−OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21−SOFTWARE.
.spago/p/aff-promise-4.0.0/README.mddeleted−70
@@ -1,70 +0,0 @@
1−# purescript-aff-promise
2−
3−Simple library for interop between Aff and JavaScript promises.
4−
5−No typeclass instances etc are provided to use Promises directly - the intention is that your PureScript code uses Aff
6−internally, and is only wrapped as a Promise to present an API for consumption in JavaScript code (and vice versa).
7−
8−## Exposing promises: Aff to Promise
9−
10−The origin of this library was to solve the following problem: I want to write asynchronous code in `Aff`, but I need
11−to expose this as an API to JavaScript in the form of a `Promise`.
12−
13−Therefore the majority of code can be written to return an `Aff`, in this example using `readTextFile` from
14−[purescript-node-fs-aff](https://pursuit.purescript.org/packages/purescript-node-fs-aff):
15−
16−```purescript
17−getLinesAff :: Aff (Array String)
18−getLinesAff = do
19− text <- readTextFile Encoding.UTF8 "data.txt"
20− pure $ split (Pattern "\n") text
21−```
22−
23−and this can be exposed as a function returning a promise:
24−
25−```purescript
26−import Control.Promise as Promise
27−
28−getLines :: Effect (Promise (Array String))
29−getLines = Promise.fromAff getLinesAff
30−```
31−
32−This function returns an `Effect` beause a promise is "already running". A JavaScript function consuming this API
33−would just call `getLines().then(...)`.
34−
35−## Consuming promises: Promise to Aff
36−
37−The reverse problem occurs when wrapping a JS library that uses promises for asynchronous behaviour (`Aff` comes
38−with a perfectly good function to deal with consuming libraries that use callbacks).
39−
40−Consider the case of consuming the `fetch` API.
41−
42−```javascript
43−exports.fetchImpl = function (url) {
44− return function() {
45− return fetch(url);
46− };
47−}
48−```
49−
50−```purescript
51−foreign import data Response :: Type
52−foreign import fetchImpl :: String -> Effect (Promise Response)
53−```
54−
55−Notice that the `fetch(url)` call is wrapped in a thunk and imported as an `Effect`, because otherwise the `fetch`
56−operation would be initiated as a side-effect of a pure function - while `fetch` returns a promise, at the point
57−the function returns the network request has already been initated.
58−
59−The response can then be converted to an `Aff` and consumed easily:
60−
61−```purescript
62−import Control.Promise as Promise
63−
64−fetch :: String -> Aff String
65−fetch = fetchImpl >>> Promise.toAffE
66−```
67−
68−# Documentation
69−
70−API documentation is available [on Pursuit](https://pursuit.purescript.org/packages/purescript-aff-promise).
.spago/p/aff-promise-4.0.0/bower.jsondeleted−25
@@ -1,25 +0,0 @@
1−{
2− "name": "purescript-aff-promise",
3− "moduleType": [
4− "node"
5− ],
6− "license": "MIT",
7− "repository": {
8− "type": "git",
9− "url": "https://github.com/nwolverson/purescript-aff-promise.git"
10− },
11− "ignore": [
12− "**/.*",
13− "node_modules",
14− "bower_components",
15− "output"
16− ],
17− "dependencies": {
18− "purescript-aff": "^7.0.0",
19− "purescript-foreign": "^7.0.0"
20− },
21− "devDependencies": {
22− "purescript-assert": "^6.0.0",
23− "purescript-datetime": "^6.0.0"
24− }
25−}
.spago/p/aff-promise-4.0.0/package.jsondeleted−23
@@ -1,23 +0,0 @@
1−{
2− "name": "purescript-aff-promise",
3− "private": true,
4− "description": "Simple library for interop between Aff and JavaScript promises.",
5− "scripts": {
6− "build": "pulp build -- --censor-lib --strict",
7− "test": "pulp test"
8− },
9− "repository": {
10− "type": "git",
11− "url": "git+https://github.com/nwolverson/purescript-aff-promise.git"
12− },
13− "author": "Nicholas Wolverson",
14− "license": "MIT",
15− "bugs": {
16− "url": "https://github.com/nwolverson/purescript-aff-promise/issues"
17− },
18− "homepage": "https://github.com/nwolverson/purescript-aff-promise#readme",
19− "devDependencies": {
20− "pulp": "^16.0.0-0",
21− "purescript-psa": "^0.8.2"
22− }
23−}
.spago/p/aff-promise-4.0.0/packages.dhalldeleted−107
@@ -1,107 +0,0 @@
1−{-
2−Welcome to your new Dhall package-set!
3−
4−Below are instructions for how to edit this file for most use
5−cases, so that you don't need to know Dhall to use it.
6−
7−## Use Cases
8−
9−Most will want to do one or both of these options:
10−1. Override/Patch a package's dependency
11−2. Add a package not already in the default package set
12−
13−This file will continue to work whether you use one or both options.
14−Instructions for each option are explained below.
15−
16−### Overriding/Patching a package
17−
18−Purpose:
19−- Change a package's dependency to a newer/older release than the
20− default package set's release
21−- Use your own modified version of some dependency that may
22− include new API, changed API, removed API by
23− using your custom git repo of the library rather than
24− the package set's repo
25−
26−Syntax:
27−where `entityName` is one of the following:
28−- dependencies
29−- repo
30−- version
31−-------------------------------
32−let upstream = --
33−in upstream
34− with packageName.entityName = "new value"
35−-------------------------------
36−
37−Example:
38−-------------------------------
39−let upstream = --
40−in upstream
41− with halogen.version = "master"
42− with halogen.repo = "https://example.com/path/to/git/repo.git"
43−
44− with halogen-vdom.version = "v4.0.0"
45− with halogen-vdom.dependencies = [ "extra-dependency" ] # halogen-vdom.dependencies
46−-------------------------------
47−
48−### Additions
49−
50−Purpose:
51−- Add packages that aren't already included in the default package set
52−
53−Syntax:
54−where `<version>` is:
55−- a tag (i.e. "v4.0.0")
56−- a branch (i.e. "master")
57−- commit hash (i.e. "701f3e44aafb1a6459281714858fadf2c4c2a977")
58−-------------------------------
59−let upstream = --
60−in upstream
61− with new-package-name =
62− { dependencies =
63− [ "dependency1"
64− , "dependency2"
65− ]
66− , repo =
67− "https://example.com/path/to/git/repo.git"
68− , version =
69− "<version>"
70− }
71−-------------------------------
72−
73−Example:
74−-------------------------------
75−let upstream = --
76−in upstream
77− with benchotron =
78− { dependencies =
79− [ "arrays"
80− , "exists"
81− , "profunctor"
82− , "strings"
83− , "quickcheck"
84− , "lcg"
85− , "transformers"
86− , "foldable-traversable"
87− , "exceptions"
88− , "node-fs"
89− , "node-buffer"
90− , "node-readline"
91− , "datetime"
92− , "now"
93− ]
94− , repo =
95− "https://github.com/hdgarrood/purescript-benchotron.git"
96− , version =
97− "v7.0.0"
98− }
99−-------------------------------
100−-}
101−let upstream =
102− https://github.com/working-group-purescript-es/package-sets/releases/download/0.1.0/package-set.dhall
103− sha256:642a07499270b2a0425accb35a043b72297bcd957965c2b50f0b34b558c59bc4
104−
105−in upstream
106− with `assert`.repo = "https://github.com/megamaddu/purescript-assert"
107− with `assert`.version = "purs-0.15-updates"
.spago/p/aff-promise-4.0.0/purs.jsondeleted−13
@@ -1,13 +0,0 @@
1−{
2− "name": "aff-promise",
3− "version": "4.0.0",
4− "license": "MIT",
5− "location": {
6− "githubOwner": "nwolverson",
7− "githubRepo": "purescript-aff-promise"
8− },
9− "dependencies": {
10− "aff": ">=7.0.0 <8.0.0",
11− "foreign": ">=7.0.0 <8.0.0"
12− }
13−}
.spago/p/aff-promise-4.0.0/spago.dhalldeleted−30
@@ -1,30 +0,0 @@
1−{-
2−Welcome to a Spago project!
3−You can edit this file as you like.
4−
5−Need help? See the following resources:
6−- Spago documentation: https://github.com/purescript/spago
7−- Dhall language tour: https://docs.dhall-lang.org/tutorials/Language-Tour.html
8−
9−When creating a new Spago project, you can use
10−`spago init --no-comments` or `spago init -C`
11−to generate this file without the comments in this block.
12−-}
13−{ name = "aff-promise"
14−, dependencies =
15− [ "aff"
16− , "assert"
17− , "console"
18− , "control"
19− , "datetime"
20− , "effect"
21− , "either"
22− , "exceptions"
23− , "foreign"
24− , "integers"
25− , "prelude"
26− , "transformers"
27− ]
28−, packages = ./packages.dhall
29−, sources = [ "src/**/*.purs", "test/**/*.purs" ]
30−}
.spago/p/aff-promise-4.0.0/src/Control/Promise.jsdeleted−24
@@ -1,24 +0,0 @@
1−export function promise(f) {
2− return function () {
3− return new Promise(function (success, error) {
4− var succF = function (s) { return function() { return success(s); } };
5− var failF = function (s) { return function() { return error(s); } };
6−
7− // This indicates the aff was wrong?
8− try { f(succF)(failF)(); }
9− catch (e) {
10− error(e);
11− }
12− });
13− };
14−}
15−
16−export function thenImpl(promise) {
17− return function(errCB) {
18− return function(succCB) {
19− return function() {
20− promise.then(succCB, errCB);
21− };
22− };
23− };
24−}
.spago/p/aff-promise-4.0.0/src/Control/Promise.pursdeleted−56
@@ -1,56 +0,0 @@
1−module Control.Promise (fromAff, toAff, toAff', toAffE, Promise()) where
2−
3−import Prelude
4−
5−import Control.Alt ((<|>))
6−import Control.Monad.Except (runExcept)
7−import Data.Either (Either(..), either)
8−import Effect (Effect)
9−import Effect.Aff (Aff, makeAff, runAff_)
10−import Effect.Class (liftEffect)
11−import Effect.Exception (Error, error)
12−import Effect.Uncurried (EffectFn1, mkEffectFn1)
13−import Foreign (Foreign, readString, unsafeReadTagged)
14−
15−-- | Type of JavaScript Promises (with particular return type)
16−-- | Effects are not traced in the Promise type, as they form part of the Effect that
17−-- | results in the promise.
18−foreign import data Promise :: Type -> Type
19−
20−type role Promise representational
21−
22−foreign import promise :: forall a b.
23− ((a -> Effect Unit) -> (b -> Effect Unit) -> Effect Unit) -> Effect (Promise a)
24−foreign import thenImpl :: forall a b.
25− Promise a -> (EffectFn1 Foreign b) -> (EffectFn1 a b) -> Effect Unit
26−
27−-- | Convert an Aff into a Promise.
28−fromAff :: forall a. Aff a -> Effect (Promise a)
29−fromAff aff = promise (\succ err -> runAff_ (either err succ) aff)
30−
31−coerce :: Foreign -> Error
32−coerce fn =
33− either (\_ -> error "Promise failed, couldn't extract JS Error or String")
34− identity
35− (runExcept ((unsafeReadTagged "Error" fn) <|> (error <$> readString fn)))
36−
37−-- | Convert a Promise into an Aff.
38−-- | When the promise rejects, we attempt to
39−-- | coerce the error value into an actual JavaScript Error object. We can do this
40−-- | with Error objects or Strings. Anything else gets a "dummy" Error object.
41−toAff :: forall a. Promise a -> Aff a
42−toAff = toAff' coerce
43−
44−-- | Convert a Promise into an Aff with custom Error coercion.
45−-- | When the promise rejects, we attempt to coerce the error value into an
46−-- | actual JavaScript Error object using the provided function.
47−toAff' :: forall a. (Foreign -> Error) -> Promise a -> Aff a
48−toAff' customCoerce p = makeAff
49− (\cb -> mempty <$ thenImpl
50− p
51− (mkEffectFn1 $ cb <<< Left <<< customCoerce)
52− (mkEffectFn1 $ cb <<< Right))
53−
54−-- | Utility to convert an Effect returning a Promise into an Aff (i.e. the inverse of fromAff)
55−toAffE :: forall a. Effect (Promise a) -> Aff a
56−toAffE f = liftEffect f >>= toAff
.spago/p/aff-retry-2.0.0/LICENSEdeleted−21
@@ -1,21 +0,0 @@
1−MIT License
2−
3−Copyright (c) 2018 Yuriy Lazarev
4−
5−Permission is hereby granted, free of charge, to any person obtaining a copy
6−of this software and associated documentation files (the "Software"), to deal
7−in the Software without restriction, including without limitation the rights
8−to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9−copies of the Software, and to permit persons to whom the Software is
10−furnished to do so, subject to the following conditions:
11−
12−The above copyright notice and this permission notice shall be included in all
13−copies or substantial portions of the Software.
14−
15−THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16−IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17−FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18−AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19−LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20−OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21−SOFTWARE.
.spago/p/aff-retry-2.0.0/README.mddeleted−42
@@ -1,42 +0,0 @@
1−# purescript-aff-retry
2−
3−(Purescript port of Haskell's [retry](https://github.com/Soostone/retry) package)
4−
5−[![Build Status](https://travis-ci.org/Unisay/purescript-aff-retry.svg?branch=master)](https://travis-ci.org/Unisay/purescript-aff-retry)
6−
7−[API docs on Pursuit](https://pursuit.purescript.org/packages/purescript-aff-retry/)
8−
9−Monadic action combinators that add delayed-retry functionality, potentially with exponential-backoff, to arbitrary actions.
10−
11−The main purpose of this package is to make it easy to work reliably with `MonadAff` actions that often fail. Common examples are database queries and large file uploads.
12−
13−### Example usage
14−
15−```purescript
16−
17−import Prelude
18−
19−import Effect.Aff (Aff, Milliseconds(..))
20−import Effect.Console (log)
21−import Effect.Class (liftEffect)
22−import Effect.Aff.Retry ( RetryPolicyM
23− , constantDelay
24− , defaultRetryStatus
25− , limitRetries
26− , recovering
27− )
28−
29−
30−someAction :: Aff Unit
31−someAction = liftEffect $ log "Potentially failing action"
32−
33−recoveredAction :: Aff Unit
34−recoveredAction = recovering myRetryPolicy checks someAction
35− where
36− myRetryPolicy :: RetryPolicyM Aff
37− myRetryPolicy = constantDelay (Milliseconds 200.0) <> limitRetries 10
38−
39− checks :: Array (RetryStatus -> Error -> Aff Boolean)
40− checks = [\(RetryStatus { iterNumber: n }) -> error -> pure true ]
41−
42−```
.spago/p/aff-retry-2.0.0/bower.jsondeleted−37
@@ -1,37 +0,0 @@
1−{
2− "name": "purescript-aff-retry",
3− "license": [
4− "MIT"
5− ],
6− "repository": {
7− "type": "git",
8− "url": "https://github.com/Unisay/purescript-aff-retry"
9− },
10− "ignore": [
11− "**/.*",
12− "node_modules",
13− "bower_components",
14− "output"
15− ],
16− "dependencies": {
17− "purescript-aff": "^v7.0.0",
18− "purescript-arrays": "^v7.0.0",
19− "purescript-avar": "^v5.0.0",
20− "purescript-console": "^v6.0.0",
21− "purescript-datetime": "^v6.0.0",
22− "purescript-effect": "^v4.0.0",
23− "purescript-either": "^v6.0.0",
24− "purescript-exceptions": "^v6.0.0",
25− "purescript-foldable-traversable": "^v6.0.0",
26− "purescript-integers": "^v6.0.0",
27− "purescript-maybe": "^v6.0.0",
28− "purescript-newtype": "^v5.0.0",
29− "purescript-numbers": "^v9.0.0",
30− "purescript-prelude": "^v6.0.0",
31− "purescript-psci-support": "^v6.0.0",
32− "purescript-random": "^v6.0.0",
33− "purescript-test-unit": "^v17.0.0",
34− "purescript-transformers": "^v6.0.0",
35− "purescript-tuples": "^v7.0.0"
36− }
37−}
.spago/p/aff-retry-2.0.0/packages.dhalldeleted−105
@@ -1,105 +0,0 @@
1−{-
2−Welcome to your new Dhall package-set!
3−
4−Below are instructions for how to edit this file for most use
5−cases, so that you don't need to know Dhall to use it.
6−
7−## Use Cases
8−
9−Most will want to do one or both of these options:
10−1. Override/Patch a package's dependency
11−2. Add a package not already in the default package set
12−
13−This file will continue to work whether you use one or both options.
14−Instructions for each option are explained below.
15−
16−### Overriding/Patching a package
17−
18−Purpose:
19−- Change a package's dependency to a newer/older release than the
20− default package set's release
21−- Use your own modified version of some dependency that may
22− include new API, changed API, removed API by
23− using your custom git repo of the library rather than
24− the package set's repo
25−
26−Syntax:
27−where `entityName` is one of the following:
28−- dependencies
29−- repo
30−- version
31−-------------------------------
32−let upstream = --
33−in upstream
34− with packageName.entityName = "new value"
35−-------------------------------
36−
37−Example:
38−-------------------------------
39−let upstream = --
40−in upstream
41− with halogen.version = "master"
42− with halogen.repo = "https://example.com/path/to/git/repo.git"
43−
44− with halogen-vdom.version = "v4.0.0"
45− with halogen-vdom.dependencies = [ "extra-dependency" ] # halogen-vdom.dependencies
46−-------------------------------
47−
48−### Additions
49−
50−Purpose:
51−- Add packages that aren't already included in the default package set
52−
53−Syntax:
54−where `<version>` is:
55−- a tag (i.e. "v4.0.0")
56−- a branch (i.e. "master")
57−- commit hash (i.e. "701f3e44aafb1a6459281714858fadf2c4c2a977")
58−-------------------------------
59−let upstream = --
60−in upstream
61− with new-package-name =
62− { dependencies =
63− [ "dependency1"
64− , "dependency2"
65− ]
66− , repo =
67− "https://example.com/path/to/git/repo.git"
68− , version =
69− "<version>"
70− }
71−-------------------------------
72−
73−Example:
74−-------------------------------
75−let upstream = --
76−in upstream
77− with benchotron =
78− { dependencies =
79− [ "arrays"
80− , "exists"
81− , "profunctor"
82− , "strings"
83− , "quickcheck"
84− , "lcg"
85− , "transformers"
86− , "foldable-traversable"
87− , "exceptions"
88− , "node-fs"
89− , "node-buffer"
90− , "node-readline"
91− , "datetime"
92− , "now"
93− ]
94− , repo =
95− "https://github.com/hdgarrood/purescript-benchotron.git"
96− , version =
97− "v7.0.0"
98− }
99−-------------------------------
100−-}
101−let upstream =
102− https://github.com/purescript/package-sets/releases/download/psc-0.15.0-20220516/packages.dhall
103− sha256:b0bf932de16a10b7d69c6bbbb31ec9ca575237c43a999fa32e59e35eb8c024a1
104−
105−in upstream
.spago/p/aff-retry-2.0.0/purs.jsondeleted−25
@@ -1,25 +0,0 @@
1−{
2− "name": "aff-retry",
3− "version": "2.0.0",
4− "license": "MIT",
5− "location": {
6− "githubOwner": "Unisay",
7− "githubRepo": "purescript-aff-retry"
8− },
9− "ref": "v2.0.0",
10− "dependencies": {
11− "aff": ">=7.0.0 <9.0.0",
12− "arrays": ">=7.0.0 <8.0.0",
13− "datetime": ">=6.0.0 <7.0.0",
14− "effect": ">=4.0.0 <5.0.0",
15− "either": ">=6.0.0 <7.0.0",
16− "exceptions": ">=6.0.0 <7.0.0",
17− "integers": ">=6.0.0 <7.0.0",
18− "maybe": ">=6.0.0 <7.0.0",
19− "newtype": ">=5.0.0 <6.0.0",
20− "numbers": ">=9.0.0 <10.0.0",
21− "prelude": ">=6.0.0 <7.0.0",
22− "random": ">=6.0.0 <7.0.0",
23− "transformers": ">=6.0.0 <7.0.0"
24− }
25−}
.spago/p/aff-retry-2.0.0/spago.dhalldeleted−39
@@ -1,39 +0,0 @@
1−{-
2−Welcome to a Spago project!
3−You can edit this file as you like.
4−
5−Need help? See the following resources:
6−- Spago documentation: https://github.com/purescript/spago
7−- Dhall language tour: https://docs.dhall-lang.org/tutorials/Language-Tour.html
8−
9−When creating a new Spago project, you can use
10−`spago init --no-comments` or `spago init -C`
11−to generate this file without the comments in this block.
12−-}
13−{ name = "aff-retry"
14−, license = "MIT"
15−, repository = "https://github.com/Unisay/purescript-aff-retry"
16−, dependencies =
17− [ "aff"
18− , "arrays"
19− , "avar"
20− , "console"
21− , "datetime"
22− , "effect"
23− , "either"
24− , "exceptions"
25− , "foldable-traversable"
26− , "integers"
27− , "maybe"
28− , "newtype"
29− , "numbers"
30− , "prelude"
31− , "psci-support"
32− , "random"
33− , "test-unit"
34− , "transformers"
35− , "tuples"
36− ]
37−, packages = ./packages.dhall
38−, sources = [ "src/**/*.purs", "test/**/*.purs" ]
39−}
.spago/p/aff-retry-2.0.0/src/Effect/Aff/Retry.pursdeleted−258
@@ -1,258 +0,0 @@
1−module Effect.Aff.Retry
2− ( RetryStatus(..)
3− , RetryPolicyM(..)
4− , RetryPolicy
5− , constantDelay
6− , exponentialBackoff
7− , fibonacciBackoff
8− , fullJitterBackoff
9− , capDelay
10− , defaultRetryStatus
11− , applyAndDelay
12− , applyPolicy
13− , retryPolicy
14− , limitRetries
15− , limitRetriesByDelay
16− , limitRetriesByCumulativeDelay
17− , retrying
18− , recovering
19− ) where
20−
21−import Prelude
22−
23−import Control.Bind (bindFlipped)
24−import Control.Monad.Error.Class (class MonadError)
25−import Control.Monad.Maybe.Trans (MaybeT(..), runMaybeT)
26−import Data.Array (uncons)
27−import Data.Either (either)
28−import Data.Int (toNumber)
29−import Data.Maybe (Maybe(Nothing, Just), maybe)
30−import Data.Newtype (class Newtype, unwrap)
31−import Data.Time.Duration (class Duration, Milliseconds(..), fromDuration)
32−import Effect.Aff (delay, throwError, try)
33−import Effect.Aff.Class (class MonadAff, liftAff)
34−import Effect.Class (liftEffect)
35−import Effect.Exception (Error)
36−import Effect.Random (randomRange)
37−import Data.Number (pow)
38−
39−-- | Datatype with stats about retries made thus far
40−newtype RetryStatus =
41− RetryStatus
42− { iterNumber :: Int
43− -- ^ Iteration number, where 0 is the first try
44− , cumulativeDelay :: Milliseconds
45− -- ^ Delay incurred so far from retries
46− , previousDelay :: Maybe Milliseconds
47− -- ^ Latest attempt's delay. Will always be Nothing on first run.
48− }
49−
50−instance showRetryStatus :: Show RetryStatus where
51− show (RetryStatus s) =
52− "RetryStatus { "
53− <> "iterNumber: " <> show s.iterNumber <> ", "
54− <> "cumulativeDelay: " <> show s.cumulativeDelay <> ", "
55− <> "previousDelay: " <> show s.previousDelay <> "}"
56−
57−derive instance eqRetryStatus :: Eq RetryStatus
58−derive instance newtypeRetryStatus :: Newtype RetryStatus _
59−
60−-- | A 'RetryPolicyM' is a function that takes an 'RetryStatus' and
61−-- | possibly returns a delay in milliseconds. Iteration numbers start
62−-- | at zero and increase by one on each retry. A *Nothing* return value from
63−-- | the function implies we have reached the retry limit.
64−-- |
65−-- | Please note that 'RetryPolicyM' is a 'Monoid'. You can collapse
66−-- | multiple strategies into one using 'mappend' or '<>'. The semantics
67−-- | of this combination are as follows:
68−-- |
69−-- | 1. If either policy returns 'Nothing', the combined policy returns
70−-- | 'Nothing'. This can be used to @inhibit@ after a number of retries,
71−-- | for example.
72−-- |
73−-- | 2. If both policies return a delay, the larger delay will be used.
74−-- | This is quite natural when combining multiple policies to achieve a
75−-- | certain effect.
76−-- |
77−-- | Example:
78−-- |
79−-- | One can easily define an exponential backoff policy with a limited
80−-- | number of retries:
81−-- |
82−-- >> limitedBackoff = exponentialBackoff 50 <> limitRetries 5
83−-- |
84−-- | Naturally, 'mempty' will retry immediately (delay 0) for an
85−-- | unlimited number of retries, forming the identity for the 'Monoid'.
86−
87−newtype RetryPolicyM m
88− = RetryPolicyM (RetryStatus -> m (Maybe Milliseconds))
89−
90−type RetryPolicy = ∀ m . MonadAff m => RetryPolicyM m
91−
92−instance retryPolicySemigroup :: Monad m => Semigroup (RetryPolicyM m) where
93− append (RetryPolicyM a) (RetryPolicyM b) =
94− RetryPolicyM $ \n -> runMaybeT $ max <$> MaybeT (a n) <*> MaybeT (b n)
95−
96−instance retryPolicyMonoid :: MonadAff m => Monoid (RetryPolicyM m) where
97− mempty = retryPolicy $ const $ Just $ Milliseconds zero
98−
99−-- | Helper for making simplified policies that don't use the monadic context.
100−retryPolicy :: (RetryStatus -> Maybe Milliseconds) -> RetryPolicy
101−retryPolicy f = RetryPolicyM (pure <<< f)
102−
103−-- | Retry immediately, but only up to @n@ times.
104−limitRetries
105− :: Int -- Maximum number of retries.
106− -> RetryPolicy
107−limitRetries i = retryPolicy $ \(RetryStatus { iterNumber: n }) ->
108− if n >= i then Nothing else Just mempty
109−
110−-- | Add an upperbound to a policy such that once the given time-delay
111−-- | amount *per try* has been reached or exceeded, the policy will stop
112−-- | retrying and fail. If you need to stop retrying once *cumulative*
113−-- | delay reaches a time-delay amount, use 'limitRetriesByCumulativeDelay'
114−limitRetriesByDelay
115− :: ∀ d m . Monad m => Duration d => d -> RetryPolicyM m -> RetryPolicyM m
116−limitRetriesByDelay d (RetryPolicyM policy) =
117− RetryPolicyM \status -> bindFlipped limit <$> policy status
118− where limit delay = if delay >= fromDuration d
119− then Nothing
120− else Just delay
121−
122−-- | Add an upperbound to a policy such that once the cumulative delay
123−-- | over all retries has reached or exceeded the given limit, the
124−-- | policy will stop retrying and fail.
125−limitRetriesByCumulativeDelay
126− :: ∀ d m . Monad m => Duration d => d -> RetryPolicyM m -> RetryPolicyM m
127−limitRetriesByCumulativeDelay d (RetryPolicyM policy) =
128− RetryPolicyM \status -> bindFlipped (limit status) <$> policy status
129− where
130− limit (RetryStatus rs) curDelay
131− | (rs.cumulativeDelay <> curDelay) > cumulativeDelay = Nothing
132− | otherwise = Just curDelay
133− cumulativeDelay = fromDuration d
134−
135−-- | Cconstant delay with unlimited retries
136−constantDelay :: ∀ d . Duration d => d -> RetryPolicy
137−constantDelay d = retryPolicy <<< const <<< pure <<< fromDuration $ d
138−
139−-- | Set a time-upperbound for any delays that may be directed by the
140−-- | given policy. This function does not terminate the retrying. The policy
141−-- | `capDelay maxDelay (exponentialBackoff n)` will never stop retrying. It
142−-- | will reach a state where it retries forever with a delay of `maxDelay`
143−-- | between each one. To get termination you need to use one of the
144−-- | 'limitRetries' function variants.
145−capDelay
146− :: ∀ d m . Monad m => Duration d => d -> RetryPolicyM m -> RetryPolicyM m
147−capDelay limit (RetryPolicyM policy) =
148− RetryPolicyM \status -> map (min (fromDuration limit)) <$> policy status
149−
150−-- | Grow delay exponentially each iteration.
151−-- | Each delay will increase by a factor of two.
152−exponentialBackoff :: ∀ d . Duration d => d -> RetryPolicy
153−exponentialBackoff base = retryPolicy \(RetryStatus { iterNumber: n }) ->
154− Just $ Milliseconds $ unwrap (fromDuration base) * pow 2.0 (toNumber n)
155−
156−fibonacciBackoff :: ∀ d . Duration d => d -> RetryPolicy
157−fibonacciBackoff duration = retryPolicy \(RetryStatus { iterNumber: n }) ->
158− Just $ Milliseconds $ fib ((toNumber n) + one) { a: zero, b: base }
159− where
160− (Milliseconds base) = fromDuration duration
161− fib 0.0 { a, b } = a
162− fib m { a, b } = fib (m - one) { a: b, b: a + b }
163−
164−-- | FullJitter exponential backoff as explained in AWS Architecture Blog article.
165−-- | @http:\/\/www.awsarchitectureblog.com\/2015\/03\/backoff.html@
166−-- | temp = min(cap, base * 2 ** attempt)
167−-- | sleep = temp \/ 2 + random_between(0, temp \/ 2)
168−fullJitterBackoff
169− :: ∀ m d
170− . MonadAff m
171− => Duration d
172− => d
173− -> RetryPolicyM m
174−fullJitterBackoff duration = RetryPolicyM \(RetryStatus { iterNumber: n }) -> do
175− let (Milliseconds ms) = fromDuration duration
176− d = (ms * pow 2.0 (toNumber n)) `div` 2.0
177− rand <- liftEffect $ randomRange zero d
178− pure $ Just $ Milliseconds $ d + rand
179−
180−-- | Initial, default retry status. Exported mostly to allow user code
181−-- | to test their handlers and retry policies. Use fields or lenses to update.
182−defaultRetryStatus :: RetryStatus
183−defaultRetryStatus = RetryStatus
184− { iterNumber: zero
185− , cumulativeDelay: Milliseconds zero
186− , previousDelay: Nothing
187− }
188−
189−-- | Apply policy on status to see what the decision would be.
190−-- | 'Nothing' implies no retry, 'Just' returns updated status.
191−applyPolicy
192− :: ∀ m . MonadAff m
193− => RetryPolicyM m
194− -> RetryStatus
195− -> m (Maybe RetryStatus)
196−applyPolicy (RetryPolicyM policy) retryStatus@(RetryStatus rs) = do
197− res <- policy retryStatus
198− case res of
199− Just delay -> pure $ Just $ RetryStatus
200− { iterNumber: rs.iterNumber + one
201− , cumulativeDelay: rs.cumulativeDelay <> delay -- boundedPlus? no
202− , previousDelay: Just delay
203− }
204− Nothing -> pure Nothing
205−
206−-- | Apply policy and delay by its amount if it results in a retry.
207−-- | Returns updated status.
208−applyAndDelay :: ∀ m . MonadAff m
209− => RetryPolicyM m
210− -> RetryStatus
211− -> m (Maybe RetryStatus)
212−applyAndDelay policy retryStatus = do
213− res <- applyPolicy policy retryStatus
214− case res of
215− Just nextRetryStatus@(RetryStatus { previousDelay: pd }) ->
216− maybe (pure unit) (delay >>> liftAff) pd
217− $> Just nextRetryStatus
218− Nothing -> pure Nothing
219−
220−
221−-- | Retry combinator for actions that don't raise exceptions, but
222−-- | signal in their type the outcome has failed. Examples are the
223−-- | 'Maybe', 'Either' and 'EitherT' monads.
224−retrying :: ∀ m b . MonadAff m
225− => RetryPolicyM m
226− -> (RetryStatus -> b -> m Boolean) -- An action to check whether the result should be retried.
227− -- If True, we delay and retry the operation.
228− -> (RetryStatus -> m b) -- Action to run
229− -> m b
230−retrying policy check action = go defaultRetryStatus
231− where
232− go status = do
233− res <- action status
234− ifM (check status res)
235− (applyAndDelay policy status >>= maybe (pure res) go)
236− (pure res)
237−
238−-- | Run an action and recover from a raised exception by potentially
239−-- | retrying the action a number of times.
240−recovering :: ∀ m a . MonadAff m
241− => MonadError Error m
242− => RetryPolicyM m
243− -> Array (RetryStatus -> Error -> m Boolean)
244− -- ^ Should a given exception be retried? Action will be
245− -- retried if this returns True *and* the policy allows it.
246− -- This action will be consulted first even if the policy
247− -- later blocks it.
248− -> (RetryStatus -> m a) -- Action to perform
249− -> m a
250−recovering policy checks f = go defaultRetryStatus
251− where
252− go status = try (f status) >>= either (recover checks) pure
253− where
254− recover chks e = uncons chks # maybe (throwError e) (handle e)
255− handle e hs =
256− ifM (hs.head status e)
257− (applyAndDelay policy status >>= maybe (throwError e) go)
258− (recover hs.tail e)
.spago/p/ansi-7.0.0/LICENSEdeleted−21
@@ -1,21 +0,0 @@
1−The MIT License (MIT)
2−
3−Copyright (c) 2015-2016 Harry Garrood
4−
5−Permission is hereby granted, free of charge, to any person obtaining a copy
6−of this software and associated documentation files (the "Software"), to deal
7−in the Software without restriction, including without limitation the rights
8−to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9−copies of the Software, and to permit persons to whom the Software is
10−furnished to do so, subject to the following conditions:
11−
12−The above copyright notice and this permission notice shall be included in all
13−copies or substantial portions of the Software.
14−
15−THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16−IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17−FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18−AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19−LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20−OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21−SOFTWARE.
.spago/p/ansi-7.0.0/README.mddeleted−7
@@ -1,7 +0,0 @@
1−[![build](https://github.com/hdgarrood/purescript-ansi/actions/workflows/build.yml/badge.svg?branch=master)](https://github.com/hdgarrood/purescript-ansi/actions/workflows/build.yml)
2−
3−# purescript-ansi
4−
5−A small PureScript library for dealing with ANSI escape codes.
6−
7−Documentation is [on Pursuit](http://pursuit.purescript.org/packages/purescript-ansi).
.spago/p/ansi-7.0.0/bower.jsondeleted−26
@@ -1,26 +0,0 @@
1−{
2− "name": "purescript-ansi",
3− "moduleType": [
4− "node"
5− ],
6− "license": "MIT",
7− "repository": {
8− "type": "git",
9− "url": "https://github.com/hdgarrood/purescript-ansi.git"
10− },
11− "ignore": [
12− "**/.*",
13− "node_modules",
14− "bower_components",
15− "output"
16− ],
17− "dependencies": {
18− "purescript-strings": "^6.0.0",
19− "purescript-lists": "^7.0.0",
20− "purescript-foldable-traversable": "^6.0.0"
21− },
22− "devDependencies": {
23− "purescript-console": "^6.0.0",
24− "purescript-psci-support": "^6.0.0"
25− }
26−}
.spago/p/ansi-7.0.0/package.jsondeleted−11
@@ -1,11 +0,0 @@
1−{
2− "scripts": {
3− "install": "bower install",
4− "build": "pulp build"
5− },
6− "devDependencies": {
7− "bower": "1.8.12",
8− "pulp": "^16.0.0-0",
9− "purescript": "^0.15.0-0"
10− }
11−}
.spago/p/ansi-7.0.0/purs.jsondeleted−14
@@ -1,14 +0,0 @@
1−{
2− "name": "ansi",
3− "version": "7.0.0",
4− "license": "MIT",
5− "location": {
6− "githubOwner": "hdgarrood",
7− "githubRepo": "purescript-ansi"
8− },
9− "dependencies": {
10− "foldable-traversable": ">=6.0.0 <7.0.0",
11− "lists": ">=7.0.0 <8.0.0",
12− "strings": ">=6.0.0 <7.0.0"
13− }
14−}
.spago/p/ansi-7.0.0/src/Ansi/Codes.pursdeleted−189
@@ -1,189 +0,0 @@
1−-- | This module defines a data type representing ANSI escape codes, as well as
2−-- | functions for serialising them as Strings.
3−module Ansi.Codes where
4−
5−import Prelude
6−
7−import Data.Foldable (intercalate)
8−import Data.Generic.Rep (class Generic)
9−import Data.List.NonEmpty (NonEmptyList)
10−import Data.Show.Generic (genericShow)
11−
12−-- | The prefix for all escape codes.
13−prefix :: String
14−prefix = "\x1b["
15−
16−-- | The suffix for escape codes; note that this is only required for colors.
17−colorSuffix :: String
18−colorSuffix = "m"
19−
20−-- | An ANSI escape code. Not all sequences are implemented.
21−-- | See: <https://en.wikipedia.org/wiki/ANSI_escape_code>.
22−data EscapeCode
23− = Up Int
24− | Down Int
25− | Forward Int
26− | Back Int
27− | NextLine Int
28− | PreviousLine Int
29− | HorizontalAbsolute Int
30− | Position Int Int
31− | EraseData EraseParam
32− | EraseLine EraseParam
33− | ScrollUp Int
34− | ScrollDown Int
35− | Graphics (NonEmptyList GraphicsParam)
36− | SavePosition
37− | RestorePosition
38− | QueryPosition
39− | HideCursor
40− | ShowCursor
41−
42−derive instance genericEscapeCode :: Generic EscapeCode _
43−derive instance eqEscapeCode :: Eq EscapeCode
44−derive instance ordEscapeCode :: Ord EscapeCode
45−instance showEscapeCode :: Show EscapeCode where
46− show = genericShow
47−
48−-- | Convert an escape code to the form recognised by terminals.
49−escapeCodeToString :: EscapeCode -> String
50−escapeCodeToString = (prefix <> _) <<< go
51− where
52− go c =
53− case c of
54− Up n -> show n <> "A"
55− Down n -> show n <> "B"
56− Forward n -> show n <> "C"
57− Back n -> show n <> "D"
58− NextLine n -> show n <> "E"
59− PreviousLine n -> show n <> "F"
60− HorizontalAbsolute n -> show n <> "G"
61− Position x y -> show x <> ";" <> show y <> "H"
62− EraseData p -> ep p <> "J"
63− EraseLine p -> ep p <> "K"
64− ScrollUp n -> show n <> "S"
65− ScrollDown n -> show n <> "T"
66− Graphics ps -> intercalate ";" (map gp ps) <> colorSuffix
67− SavePosition -> "s"
68− RestorePosition -> "u"
69− QueryPosition -> "6n"
70− HideCursor -> "?25l"
71− ShowCursor -> "?25h"
72−
73− ep = eraseParamToString
74− gp = graphicsParamToString
75−
76−-- | Specifies how much text to erase.
77−-- |
78−-- | * ToEnd: erase from the cursor to the end of the line or screen.
79−-- | * FromBeginning: erase to the cursor from the beginning of the line or
80−-- | screen.
81−-- | * Entire: erase the entire line or screen.
82−data EraseParam
83− = ToEnd
84− | FromBeginning
85− | Entire
86−
87−derive instance genericEraseParam :: Generic EraseParam _
88−derive instance eqEraseParam :: Eq EraseParam
89−derive instance ordEraseParam :: Ord EraseParam
90−instance showEraseParam :: Show EraseParam where
91− show = genericShow
92−
93−eraseParamToString :: EraseParam -> String
94−eraseParamToString ep =
95− case ep of
96− ToEnd -> "0"
97− FromBeginning -> "1"
98− Entire -> "2"
99−
100−-- | A graphics parameter, controls how text appears; for example, bold,
101−-- | underlined, foreground color, background color.
102−data GraphicsParam
103− = Reset
104− | PMode RenderingMode
105− | PForeground Color
106− | PBackground Color
107−
108−derive instance genericGraphicsParam :: Generic GraphicsParam _
109−derive instance eqGraphicsParam :: Eq GraphicsParam
110−derive instance ordGraphicsParam :: Ord GraphicsParam
111−instance showGraphicsParam :: Show GraphicsParam where
112− show = genericShow
113−
114−graphicsParamToString :: GraphicsParam -> String
115−graphicsParamToString gp =
116− case gp of
117− Reset -> "0"
118− PMode m -> show (codeForRenderingMode m)
119− PForeground c -> show (colorCode c)
120− PBackground c -> show (colorCode c + 10)
121−
122−data RenderingMode
123− = Bold
124− | Dim
125− | Italic
126− | Underline
127− | Inverse
128− | Strikethrough
129−
130−derive instance genericRenderingMode :: Generic RenderingMode _
131−derive instance eqRenderingMode :: Eq RenderingMode
132−derive instance ordRenderingMode :: Ord RenderingMode
133−instance showRenderingMode :: Show RenderingMode where
134− show = genericShow
135−
136−codeForRenderingMode :: RenderingMode -> Int
137−codeForRenderingMode m =
138− case m of
139− Bold -> 1
140− Dim -> 2
141− Italic -> 3
142− Underline -> 4
143− Inverse -> 7
144− Strikethrough -> 9
145−
146−-- | The standard set of 16 ANSI colors.
147−data Color
148− = Black
149− | Red
150− | Green
151− | Yellow
152− | Blue
153− | Magenta
154− | Cyan
155− | White
156− | BrightBlack
157− | BrightRed
158− | BrightGreen
159− | BrightYellow
160− | BrightBlue
161− | BrightMagenta
162− | BrightCyan
163− | BrightWhite
164−
165−derive instance genericColor :: Generic Color _
166−derive instance eqColor :: Eq Color
167−derive instance ordColor :: Ord Color
168−instance showColor :: Show Color where
169− show = genericShow
170−
171−colorCode :: Color -> Int
172−colorCode c =
173− case c of
174− Black -> 30
175− Red -> 31
176− Green -> 32
177− Yellow -> 33
178− Blue -> 34
179− Magenta -> 35
180− Cyan -> 36
181− White -> 37
182− BrightBlack -> 90
183− BrightRed -> 91
184− BrightGreen -> 92
185− BrightYellow -> 93
186− BrightBlue -> 94
187− BrightMagenta -> 95
188− BrightCyan -> 96
189− BrightWhite -> 97
.spago/p/ansi-7.0.0/src/Ansi/Output.pursdeleted−52
@@ -1,52 +0,0 @@
1−-- | Convenience functions to simplify outputting ANSI escape codes to
2−-- | terminals.
3−module Ansi.Output where
4−
5−import Prelude
6−
7−import Data.List.NonEmpty (NonEmptyList)
8−import Ansi.Codes (Color, EscapeCode(..), GraphicsParam(..), RenderingMode(..), escapeCodeToString)
9−
10−-- | Wrap the given text in escape codes corresponding to the given parameters.
11−-- | For example:
12−-- |
13−-- | ```purescript
14−-- | Console.log $ withGraphics (bold <> underline <> foreground BrightRed) "hello world"
15−-- | ```
16−-- |
17−-- | would print "hello world" to the terminal, bold, underlined, and in bright
18−-- | red, and then reset (so that further logging to the console uses the
19−-- | normal color and style).
20−-- |
21−-- | This function simply wraps the given text in an escape code and a reset
22−-- | code, so that it is a little more comfortable to use than the functions
23−-- | in `Ansi.Codes`.
24−withGraphics :: NonEmptyList GraphicsParam -> String -> String
25−withGraphics params text =
26− escapeCodeToString (Graphics params) <>
27− text <>
28− escapeCodeToString (Graphics (pure Reset))
29−
30−bold :: NonEmptyList GraphicsParam
31−bold = pure (PMode Bold)
32−
33−dim :: NonEmptyList GraphicsParam
34−dim = pure (PMode Dim)
35−
36−italic :: NonEmptyList GraphicsParam
37−italic = pure (PMode Italic)
38−
39−underline :: NonEmptyList GraphicsParam
40−underline = pure (PMode Underline)
41−
42−inverse :: NonEmptyList GraphicsParam
43−inverse = pure (PMode Inverse)
44−
45−strikethrough :: NonEmptyList GraphicsParam
46−strikethrough = pure (PMode Strikethrough)
47−
48−foreground :: Color -> NonEmptyList GraphicsParam
49−foreground c = pure (PForeground c)
50−
51−background :: Color -> NonEmptyList GraphicsParam
52−background c = pure (PBackground c)
.spago/p/argonaut-codecs-9.1.0/LICENSEdeleted−22
@@ -1,22 +0,0 @@
1−The MIT License (MIT)
2−
3−Copyright (c) 2020 PureScript Contrib
4−
5−Permission is hereby granted, free of charge, to any person obtaining a copy
6−of this software and associated documentation files (the "Software"), to deal
7−in the Software without restriction, including without limitation the rights
8−to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9−copies of the Software, and to permit persons to whom the Software is
10−furnished to do so, subject to the following conditions:
11−
12−The above copyright notice and this permission notice shall be included in all
13−copies or substantial portions of the Software.
14−
15−THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16−IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17−FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18−AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19−LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20−OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21−SOFTWARE.
22−
.spago/p/argonaut-codecs-9.1.0/README.mddeleted−91
@@ -1,91 +0,0 @@
1−# Argonaut Codecs
2−
3−[![CI](https://github.com/purescript-contrib/purescript-argonaut-codecs/workflows/CI/badge.svg?branch=main)](https://github.com/purescript-contrib/purescript-argonaut-codecs/actions?query=workflow%3ACI+branch%3Amain)
4−[![Release](http://img.shields.io/github/release/purescript-contrib/purescript-argonaut-codecs.svg)](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases)
5−[![Pursuit](http://pursuit.purescript.org/packages/purescript-argonaut-codecs/badge)](http://pursuit.purescript.org/packages/purescript-argonaut-codecs)
6−
7−[Argonaut](https://github.com/purescript-contrib/purescript-argonaut) is a collection of libraries for working with JSON in PureScript. `argonaut-codecs` provides codecs based on the `EncodeJson` and `DecodeJson` type classes, along with instances for common data types and combinators for encoding and decoding `Json` values.
8−
9−You may also be interested in these other libraries from the Argonaut ecosystem:
10−
11−- [purescript-argonaut-core](https://github.com/purescript-contrib/purescript-argonaut-core) defines the `Json` type, along with basic parsing, printing, and folding functions
12−- [purescript-argonaut-traversals](https://github.com/purescript-contrib/purescript-argonaut-traversals) defines prisms, traversals, and zippers for the `Json` type.
13−- [purescript-argonaut-generic](https://github.com/purescript-contrib/purescript-argonaut-generic) supports generic encoding and decoding for any type with a `Generic` instance
14−- [purescript-codec-argonaut](https://github.com/garyb/purescript-codec-argonaut) supports an alternative approach for codecs, which are based on profunctors instead of type classes
15−
16−The quick start will get you up and running with the basics of `argonaut-codecs`. For a deeper dive, please see [the full documentation for this library](./docs), which includes an in-depth tutorial.
17−
18−## Installation
19−
20−Install `argonaut-codecs` with [Spago](https://github.com/purescript/spago):
21−
22−```sh
23−spago install argonaut-codecs
24−```
25−
26−or install it as part of the [Argonaut](https://github.com/purescript-contrib/purescript-argonaut) bundle:
27−
28−```sh
29−spago install argonaut
30−```
31−
32−## Quick start
33−
34−Use `encodeJson` to encode PureScript data types as `Json` and `decodeJson` to decode `Json` into PureScript types, with helpful error messages if decoding fails.
35−
36−```purs
37−type User = { name :: String, age :: Maybe Int }
38−
39−-- We get encoding and decoding for free because of the `EncodeJson` instances
40−-- for records, strings, integers, and `Maybe`, along with many other common
41−-- PureScript types.
42−
43−userToJson :: User -> Json
44−userToJson = encodeJson
45−
46−userFromJson :: Json -> Either JsonDecodeError User
47−userFromJson = decodeJson
48−```
49−
50−In a REPL we can see these functions in action:
51−
52−```text
53−> type User = { name :: String, age :: Maybe Int }
54−> user = { name: "Tom", age: Just 25 }
55−> stringify (encodeJson user)
56−"{\"name\":\"Tom\",\"age\":25}"
57−
58−> (decodeJson =<< parseJson """{ "name": "Tom", "age": 25 }""") :: Either JsonDecodeError User
59−Right { name: "Tom", age: Just 25 }
60−
61−> res = (decodeJson =<< parseJson """{ "name": "Tom" }""") :: Either JsonDecodeError User
62−> res
63−Left (AtKey "age" MissingValue)
64−
65−# You can print errors
66−> lmap printJsonDecodeError res
67−Left "An error occurred while decoding a JSON value:\n At object key 'age':\n No value was found."
68−```
69−
70−## Documentation
71−
72−`argonaut-codecs` documentation is stored in a few places:
73−
74−1. Module documentation is [published on Pursuit](https://pursuit.purescript.org/packages/purescript-argonaut-codecs).
75−2. Written documentation is kept in [the docs directory](./docs).
76−3. Usage examples can be found in [the test suite](./test).
77−
78−If you get stuck, there are several ways to get help:
79−
80−- [Open an issue](https://github.com/purescript-contrib/purescript-argonaut-codecs/issues) if you have encountered a bug or problem.
81−- Ask general questions on the [PureScript Discourse](https://discourse.purescript.org) forum or the [PureScript Discord](https://purescript.org/chat) chat.
82−
83−## Contributing
84−
85−You can contribute to `argonaut-codecs` in several ways:
86−
87−1. If you encounter a problem or have a question, please [open an issue](https://github.com/purescript-contrib/purescript-argonaut-codecs/issues). We'll do our best to work with you to resolve or answer it.
88−
89−2. If you would like to contribute code, tests, or documentation, please [read the contributor guide](./CONTRIBUTING.md). It's a short, helpful introduction to contributing to this library, including development instructions.
90−
91−3. If you have written a library, tutorial, guide, or other resource based on this package, please share it on the [PureScript Discourse](https://discourse.purescript.org)! Writing libraries and learning resources are a great way to help this library succeed.
.spago/p/argonaut-codecs-9.1.0/bower.jsondeleted−43
@@ -1,43 +0,0 @@
1−{
2− "name": "purescript-argonaut-codecs",
3− "license": [
4− "MIT"
5− ],
6− "repository": {
7− "type": "git",
8− "url": "https://github.com/purescript-contrib/purescript-argonaut-codecs.git"
9− },
10− "ignore": [
11− "**/.*",
12− "node_modules",
13− "bower_components",
14− "output"
15− ],
16− "dependencies": {
17− "purescript-argonaut-core": "^7.0.0",
18− "purescript-arrays": "^7.0.0",
19− "purescript-bifunctors": "^6.0.0",
20− "purescript-effect": "^4.0.0",
21− "purescript-either": "^6.0.0",
22− "purescript-foldable-traversable": "^6.0.0",
23− "purescript-foreign-object": "^4.0.0",
24− "purescript-identity": "^6.0.0",
25− "purescript-integers": "^6.0.0",
26− "purescript-lists": "^7.0.0",
27− "purescript-maybe": "^6.0.0",
28− "purescript-nonempty": "^7.0.0",
29− "purescript-ordered-collections": "^3.0.0",
30− "purescript-prelude": "^6.0.0",
31− "purescript-record": "^4.0.0",
32− "purescript-strings": "^6.0.0",
33− "purescript-tuples": "^7.0.0"
34− },
35− "devDependencies": {
36− "purescript-assert": "^6.0.0",
37− "purescript-console": "^6.0.0",
38− "purescript-exceptions": "^6.0.0",
39− "purescript-gen": "^4.0.0",
40− "purescript-quickcheck": "^8.0.1",
41− "purescript-transformers": "^6.0.0"
42− }
43−}
.spago/p/argonaut-codecs-9.1.0/packages.dhalldeleted−5
@@ -1,5 +0,0 @@
1−let upstream =
2− https://github.com/purescript/package-sets/releases/download/psc-0.15.2-20220612/packages.dhall
3− sha256:9876aee1362a5dac10061768c68a7ecc4a59ca9267c3760f7d43ea9d3812ec11
4−
5−in upstream
.spago/p/argonaut-codecs-9.1.0/purs.jsondeleted−22
@@ -1,22 +0,0 @@
1−{
2− "name": "argonaut-codecs",
3− "version": "9.1.0",
4− "license": "MIT",
5− "location": {
6− "githubOwner": "purescript-contrib",
7− "githubRepo": "purescript-argonaut-codecs"
8− },
9− "dependencies": {
10− "argonaut-core": ">=7.0.0 <8.0.0",
11− "arrays": ">=7.0.0 <8.0.0",
12− "effect": ">=4.0.0 <5.0.0",
13− "foreign-object": ">=4.0.0 <5.0.0",
14− "identity": ">=6.0.0 <7.0.0",
15− "integers": ">=6.0.0 <7.0.0",
16− "maybe": ">=6.0.0 <7.0.0",
17− "nonempty": ">=7.0.0 <8.0.0",
18− "ordered-collections": ">=3.0.0 <4.0.0",
19− "prelude": ">=6.0.0 <7.0.0",
20− "record": ">=4.0.0 <5.0.0"
21− }
22−}
.spago/p/argonaut-codecs-9.1.0/spago.dhalldeleted−32
@@ -1,32 +0,0 @@
1−{ name = "argonaut-codecs"
2−, license = "MIT"
3−, repository =
4− "https://github.com/purescript-contrib/purescript-argonaut-codecs"
5−, dependencies =
6− [ "argonaut-core"
7− , "arrays"
8− , "assert"
9− , "bifunctors"
10− , "console"
11− , "effect"
12− , "either"
13− , "exceptions"
14− , "foldable-traversable"
15− , "foreign-object"
16− , "gen"
17− , "identity"
18− , "integers"
19− , "lists"
20− , "maybe"
21− , "nonempty"
22− , "ordered-collections"
23− , "prelude"
24− , "quickcheck"
25− , "record"
26− , "strings"
27− , "transformers"
28− , "tuples"
29− ]
30−, packages = ./packages.dhall
31−, sources = [ "src/**/*.purs", "test/**/*.purs" ]
32−}
.spago/p/argonaut-codecs-9.1.0/src/Data/Argonaut/Decode.pursdeleted−19
@@ -1,19 +0,0 @@
1−module Data.Argonaut.Decode
2− ( fromJsonString
3− , module Data.Argonaut.Decode.Class
4− , module Data.Argonaut.Decode.Combinators
5− , module Data.Argonaut.Decode.Error
6− , module Data.Argonaut.Decode.Parser
7− ) where
8−
9−import Prelude
10−
11−import Data.Argonaut.Decode.Class (class DecodeJson, decodeJson)
12−import Data.Argonaut.Decode.Combinators (getField, getFieldOptional, getFieldOptional', defaultField, (.:), (.:!), (.:?), (.!=))
13−import Data.Argonaut.Decode.Error (JsonDecodeError(..), printJsonDecodeError)
14−import Data.Argonaut.Decode.Parser (parseJson)
15−import Data.Either (Either)
16−
17−-- | Parse and decode a json in one step.
18−fromJsonString :: forall json. DecodeJson json => String -> Either JsonDecodeError json
19−fromJsonString = parseJson >=> decodeJson
.spago/p/argonaut-codecs-9.1.0/src/Data/Argonaut/Decode/Class.pursdeleted−148
@@ -1,148 +0,0 @@
1−module Data.Argonaut.Decode.Class where
2−
3−import Data.Argonaut.Decode.Decoders
4−
5−import Data.Argonaut.Core (Json, toObject)
6−import Data.Argonaut.Decode.Error (JsonDecodeError(..))
7−import Data.Array.NonEmpty (NonEmptyArray)
8−import Data.Bifunctor (lmap)
9−import Data.Either (Either(..))
10−import Data.Identity (Identity)
11−import Data.List (List)
12−import Data.List.NonEmpty (NonEmptyList)
13−import Data.String.NonEmpty (NonEmptyString)
14−import Data.Map as M
15−import Data.Maybe (Maybe(..))
16−import Data.NonEmpty (NonEmpty)
17−import Data.Set as S
18−import Data.String (CodePoint)
19−import Data.Symbol (class IsSymbol, reflectSymbol)
20−import Data.Tuple (Tuple)
21−import Foreign.Object as FO
22−import Prelude (class Ord, Unit, Void, bind, ($), (<$>))
23−import Prim.Row as Row
24−import Prim.RowList as RL
25−import Record as Record
26−import Type.Proxy (Proxy(..))
27−
28−class DecodeJson a where
29− decodeJson :: Json -> Either JsonDecodeError a
30−
31−instance decodeIdentity :: DecodeJson a => DecodeJson (Identity a) where
32− decodeJson = decodeIdentity decodeJson
33−
34−instance decodeJsonMaybe :: DecodeJson a => DecodeJson (Maybe a) where
35− decodeJson = decodeMaybe decodeJson
36−
37−instance decodeJsonTuple :: (DecodeJson a, DecodeJson b) => DecodeJson (Tuple a b) where
38− decodeJson = decodeTuple decodeJson decodeJson
39−
40−instance decodeJsonEither :: (DecodeJson a, DecodeJson b) => DecodeJson (Either a b) where
41− decodeJson = decodeEither decodeJson decodeJson
42−
43−instance decodeJsonNull :: DecodeJson Unit where
44− decodeJson = decodeNull
45−
46−instance decodeJsonBoolean :: DecodeJson Boolean where
47− decodeJson = decodeBoolean
48−
49−instance decodeJsonNumber :: DecodeJson Number where
50− decodeJson = decodeNumber
51−
52−instance decodeJsonInt :: DecodeJson Int where
53− decodeJson = decodeInt
54−
55−instance decodeJsonString :: DecodeJson String where
56− decodeJson = decodeString
57−
58−instance decodeJsonNonEmptyString :: DecodeJson NonEmptyString where
59− decodeJson = decodeNonEmptyString
60−
61−instance decodeJsonJson :: DecodeJson Json where
62− decodeJson = Right
63−
64−instance decodeJsonNonEmpty_Array :: (DecodeJson a) => DecodeJson (NonEmpty Array a) where
65− decodeJson = decodeNonEmpty_Array decodeJson
66−
67−instance decodeJsonNonEmptyArray :: (DecodeJson a) => DecodeJson (NonEmptyArray a) where
68− decodeJson = decodeNonEmptyArray decodeJson
69−
70−instance decodeJsonNonEmpty_List :: (DecodeJson a) => DecodeJson (NonEmpty List a) where
71− decodeJson = decodeNonEmpty_List decodeJson
72−
73−instance decodeJsonNonEmptyList :: (DecodeJson a) => DecodeJson (NonEmptyList a) where
74− decodeJson = decodeNonEmptyList decodeJson
75−
76−instance decodeJsonCodePoint :: DecodeJson CodePoint where
77− decodeJson = decodeCodePoint
78−
79−instance decodeForeignObject :: DecodeJson a => DecodeJson (FO.Object a) where
80− decodeJson = decodeForeignObject decodeJson
81−
82−instance decodeArray :: DecodeJson a => DecodeJson (Array a) where
83− decodeJson = decodeArray decodeJson
84−
85−instance decodeList :: DecodeJson a => DecodeJson (List a) where
86− decodeJson = decodeList decodeJson
87−
88−instance decodeSet :: (Ord a, DecodeJson a) => DecodeJson (S.Set a) where
89− decodeJson = decodeSet decodeJson
90−
91−instance decodeMap :: (Ord a, DecodeJson a, DecodeJson b) => DecodeJson (M.Map a b) where
92− decodeJson = decodeMap decodeJson decodeJson
93−
94−instance decodeVoid :: DecodeJson Void where
95− decodeJson = decodeVoid
96−
97−instance decodeRecord ::
98− ( GDecodeJson row list
99− , RL.RowToList row list
100− ) =>
101− DecodeJson (Record row) where
102− decodeJson json =
103− case toObject json of
104− Just object -> gDecodeJson object (Proxy :: Proxy list)
105− Nothing -> Left $ TypeMismatch "Object"
106−
107−class GDecodeJson (row :: Row Type) (list :: RL.RowList Type) | list -> row where
108− gDecodeJson :: forall proxy. FO.Object Json -> proxy list -> Either JsonDecodeError (Record row)
109−
110−instance gDecodeJsonNil :: GDecodeJson () RL.Nil where
111− gDecodeJson _ _ = Right {}
112−
113−instance gDecodeJsonCons ::
114− ( DecodeJsonField value
115− , GDecodeJson rowTail tail
116− , IsSymbol field
117− , Row.Cons field value rowTail row
118− , Row.Lacks field rowTail
119− ) =>
120− GDecodeJson row (RL.Cons field value tail) where
121− gDecodeJson object _ = do
122− let
123− _field = Proxy :: Proxy field
124− fieldName = reflectSymbol _field
125− fieldValue = FO.lookup fieldName object
126−
127− case decodeJsonField fieldValue of
128− Just fieldVal -> do
129− val <- lmap (AtKey fieldName) fieldVal
130− rest <- gDecodeJson object (Proxy :: Proxy tail)
131− Right $ Record.insert _field val rest
132−
133− Nothing ->
134− Left $ AtKey fieldName MissingValue
135−
136−class DecodeJsonField a where
137− decodeJsonField :: Maybe Json -> Maybe (Either JsonDecodeError a)
138−
139−instance decodeFieldMaybe ::
140− DecodeJson a =>
141− DecodeJsonField (Maybe a) where
142− decodeJsonField Nothing = Just $ Right Nothing
143− decodeJsonField (Just j) = Just $ decodeJson j
144−
145−else instance decodeFieldId ::
146− DecodeJson a =>
147− DecodeJsonField a where
148− decodeJsonField j = decodeJson <$> j
.spago/p/argonaut-codecs-9.1.0/src/Data/Argonaut/Decode/Combinators.pursdeleted−78
@@ -1,78 +0,0 @@
1−module Data.Argonaut.Decode.Combinators
2− ( getField
3− , getFieldOptional
4− , getFieldOptional'
5− , defaultField
6− , (.:)
7− , (.:!)
8− , (.:?)
9− , (.!=)
10− ) where
11−
12−import Prelude
13−
14−import Data.Argonaut.Core (Json)
15−import Data.Argonaut.Decode.Error (JsonDecodeError)
16−import Data.Argonaut.Decode.Class (class DecodeJson, decodeJson)
17−import Data.Either (Either)
18−import Data.Maybe (Maybe, fromMaybe)
19−import Foreign.Object as FO
20−import Data.Argonaut.Decode.Decoders as Decoders
21−
22−-- | Attempt to get the value for a given key on an `Object Json`.
23−-- |
24−-- | Use this accessor if the key and value *must* be present in your object.
25−-- | If the key and value are optional, use `getFieldOptional'` (`.:?`) instead.
26−getField :: forall a. DecodeJson a => FO.Object Json -> String -> Either JsonDecodeError a
27−getField = Decoders.getField decodeJson
28−
29−infix 7 getField as .:
30−
31−-- | Attempt to get the value for a given key on an `Object Json`.
32−-- |
33−-- | The result will be `Right Nothing` if the key and value are not present,
34−-- | or if the key is present and the value is `null`.
35−-- |
36−-- | Use this accessor if the key and value are optional in your object.
37−-- | If the key and value are mandatory, use `getField` (`.:`) instead.
38−getFieldOptional' :: forall a. DecodeJson a => FO.Object Json -> String -> Either JsonDecodeError (Maybe a)
39−getFieldOptional' = Decoders.getFieldOptional' decodeJson
40−
41−infix 7 getFieldOptional' as .:?
42−
43−-- | Attempt to get the value for a given key on an `Object Json`.
44−-- |
45−-- | The result will be `Right Nothing` if the key and value are not present,
46−-- | but will fail if the key is present but the value cannot be converted to the right type.
47−-- |
48−-- | This function will treat `null` as a value and attempt to decode it into your desired type.
49−-- | If you would like to treat `null` values the same as absent values, use
50−-- | `getFieldOptional'` (`.:?`) instead.
51−getFieldOptional :: forall a. DecodeJson a => FO.Object Json -> String -> Either JsonDecodeError (Maybe a)
52−getFieldOptional = Decoders.getFieldOptional decodeJson
53−
54−infix 7 getFieldOptional as .:!
55−
56−-- | Helper for use in combination with `.:?` to provide default values for optional
57−-- | `Object Json` fields.
58−-- |
59−-- | Example usage:
60−-- | ```purs
61−-- | newtype MyType = MyType
62−-- | { foo :: String
63−-- | , bar :: Maybe Int
64−-- | , baz :: Boolean
65−-- | }
66−-- |
67−-- | instance decodeJsonMyType :: DecodeJson MyType where
68−-- | decodeJson json = do
69−-- | x <- decodeJson json
70−-- | foo <- x .: "foo" -- mandatory field
71−-- | bar <- x .:? "bar" -- optional field
72−-- | baz <- x .:? "baz" .!= false -- optional field with default value of `false`
73−-- | pure $ MyType { foo, bar, baz }
74−-- | ```
75−defaultField :: forall a. Either JsonDecodeError (Maybe a) -> a -> Either JsonDecodeError a
76−defaultField parser default = fromMaybe default <$> parser
77−
78−infix 6 defaultField as .!=
.spago/p/argonaut-codecs-9.1.0/src/Data/Argonaut/Decode/Decoders.pursdeleted−246
@@ -1,246 +0,0 @@
1−module Data.Argonaut.Decode.Decoders where
2−
3−import Prelude
4−
5−import Data.Argonaut.Core (Json, caseJsonBoolean, caseJsonNull, caseJsonNumber, caseJsonString, isNull, toArray, toObject, toString, fromString)
6−import Data.Argonaut.Decode.Error (JsonDecodeError(..))
7−import Data.Array as Arr
8−import Data.Array.NonEmpty (NonEmptyArray)
9−import Data.Array.NonEmpty as NEA
10−import Data.Bifunctor (lmap)
11−import Data.Either (Either(..), note)
12−import Data.Identity (Identity(..))
13−import Data.Int (fromNumber)
14−import Data.List (List, fromFoldable)
15−import Data.List as L
16−import Data.List.NonEmpty (NonEmptyList)
17−import Data.List.NonEmpty as NEL
18−import Data.String.NonEmpty (NonEmptyString)
19−import Data.String.NonEmpty as NonEmptyString
20−import Data.Map as M
21−import Data.Maybe (maybe, Maybe(..))
22−import Data.NonEmpty (NonEmpty, (:|))
23−import Data.Set as S
24−import Data.String (CodePoint, codePointAt)
25−import Data.Traversable (traverse)
26−import Data.TraversableWithIndex (traverseWithIndex)
27−import Data.Tuple (Tuple(..))
28−import Foreign.Object as FO
29−
30−decodeIdentity
31− :: forall a
32− . (Json -> Either JsonDecodeError a)
33− -> Json
34− -> Either JsonDecodeError (Identity a)
35−decodeIdentity decoder json = Identity <$> decoder json
36−
37−decodeMaybe
38− :: forall a
39− . (Json -> Either JsonDecodeError a)
40− -> Json
41− -> Either JsonDecodeError (Maybe a)
42−decodeMaybe decoder json
43− | isNull json = pure Nothing
44− | otherwise = Just <$> decoder json
45−
46−decodeTuple
47− :: forall a b
48− . (Json -> Either JsonDecodeError a)
49− -> (Json -> Either JsonDecodeError b)
50− -> Json
51− -> Either JsonDecodeError (Tuple a b)
52−decodeTuple decoderA decoderB json = decodeArray Right json >>= f
53− where
54− f :: Array Json -> Either JsonDecodeError (Tuple a b)
55− f = case _ of
56− [ a, b ] -> Tuple <$> decoderA a <*> decoderB b
57− _ -> Left $ TypeMismatch "Tuple"
58−
59−decodeEither
60− :: forall a b
61− . (Json -> Either JsonDecodeError a)
62− -> (Json -> Either JsonDecodeError b)
63− -> Json
64− -> Either JsonDecodeError (Either a b)
65−decodeEither decoderA decoderB json =
66− lmap (Named "Either") $ decodeJObject json >>= \obj -> do
67− tag <- note (AtKey "tag" MissingValue) $ FO.lookup "tag" obj
68− val <- note (AtKey "value" MissingValue) $ FO.lookup "value" obj
69− case toString tag of
70− Just "Right" -> Right <$> decoderB val
71− Just "Left" -> Left <$> decoderA val
72− _ -> Left $ AtKey "tag" (UnexpectedValue tag)
73−
74−decodeNull :: Json -> Either JsonDecodeError Unit
75−decodeNull = caseJsonNull (Left $ TypeMismatch "null") (const $ Right unit)
76−
77−decodeBoolean :: Json -> Either JsonDecodeError Boolean
78−decodeBoolean = caseJsonBoolean (Left $ TypeMismatch "Boolean") Right
79−
80−decodeNumber :: Json -> Either JsonDecodeError Number
81−decodeNumber = caseJsonNumber (Left $ TypeMismatch "Number") Right
82−
83−decodeInt :: Json -> Either JsonDecodeError Int
84−decodeInt = note (TypeMismatch "Integer") <<< fromNumber <=< decodeNumber
85−
86−decodeString :: Json -> Either JsonDecodeError String
87−decodeString = caseJsonString (Left $ TypeMismatch "String") Right
88−
89−decodeNonEmptyString :: Json -> Either JsonDecodeError NonEmptyString
90−decodeNonEmptyString json =
91− note (Named "NonEmptyString" $ UnexpectedValue json)
92− =<< map (NonEmptyString.fromString) (decodeString json)
93−
94−decodeNonEmpty_Array
95− :: forall a
96− . (Json -> Either JsonDecodeError a)
97− -> Json
98− -> Either JsonDecodeError (NonEmpty Array a)
99−decodeNonEmpty_Array decoder =
100− lmap (Named "NonEmpty Array")
101− <<< traverse decoder
102− <=< map (\x -> x.head :| x.tail)
103− <<< note (TypeMismatch "NonEmpty Array")
104− <<< Arr.uncons
105− <=< decodeJArray
106−
107−decodeNonEmptyArray
108− :: forall a
109− . (Json -> Either JsonDecodeError a)
110− -> Json
111− -> Either JsonDecodeError (NonEmptyArray a)
112−decodeNonEmptyArray decoder =
113− lmap (Named "NonEmptyArray")
114− <<< traverse decoder
115− <=< map (\x -> NEA.cons' x.head x.tail)
116− <<< note (TypeMismatch "NonEmptyArray")
117− <<< Arr.uncons
118− <=< decodeJArray
119−
120−decodeNonEmpty_List
121− :: forall a
122− . (Json -> Either JsonDecodeError a)
123− -> Json
124− -> Either JsonDecodeError (NonEmpty List a)
125−decodeNonEmpty_List decoder =
126− lmap (Named "NonEmpty List")
127− <<< traverse decoder
128− <=< map (\x -> x.head :| x.tail)
129− <<< note (TypeMismatch "NonEmpty List")
130− <<< L.uncons
131− <=< map (map fromFoldable) decodeJArray
132−
133−decodeNonEmptyList
134− :: forall a
135− . (Json -> Either JsonDecodeError a)
136− -> Json
137− -> Either JsonDecodeError (NonEmptyList a)
138−decodeNonEmptyList decoder =
139− lmap (Named "NonEmptyList")
140− <<< traverse decoder
141− <=< map (\x -> NEL.cons' x.head x.tail)
142− <<< note (TypeMismatch "NonEmptyList")
143− <<< L.uncons
144− <=< map (map fromFoldable) decodeJArray
145−
146−decodeCodePoint :: Json -> Either JsonDecodeError CodePoint
147−decodeCodePoint json =
148− note (Named "CodePoint" $ UnexpectedValue json)
149− =<< map (codePointAt 0) (decodeString json)
150−
151−decodeForeignObject
152− :: forall a
153− . (Json -> Either JsonDecodeError a)
154− -> Json
155− -> Either JsonDecodeError (FO.Object a)
156−decodeForeignObject decoder =
157− lmap (Named "ForeignObject")
158− <<< traverse decoder
159− <=< decodeJObject
160−
161−decodeArray
162− :: forall a
163− . (Json -> Either JsonDecodeError a)
164− -> Json
165− -> Either JsonDecodeError (Array a)
166−decodeArray decoder =
167− lmap (Named "Array")
168− <<< traverseWithIndex (\i -> lmap (AtIndex i) <<< decoder)
169− <=< decodeJArray
170−
171−decodeList
172− :: forall a
173− . (Json -> Either JsonDecodeError a)
174− -> Json
175− -> Either JsonDecodeError (List a)
176−decodeList decoder =
177− lmap (Named "List")
178− <<< traverse decoder
179− <=< map (map fromFoldable) decodeJArray
180−
181−decodeSet
182− :: forall a
183− . Ord a
184− => (Json -> Either JsonDecodeError a)
185− -> Json
186− -> Either JsonDecodeError (S.Set a)
187−decodeSet decoder =
188− map (S.fromFoldable :: List a -> S.Set a) <<< decodeList decoder
189−
190−decodeMap
191− :: forall a b
192− . Ord a
193− => (Json -> Either JsonDecodeError a)
194− -> (Json -> Either JsonDecodeError b)
195− -> Json
196− -> Either JsonDecodeError (M.Map a b)
197−decodeMap decoderA decoderB =
198− map (M.fromFoldable :: List (Tuple a b) -> M.Map a b)
199− <<< decodeList (decodeTuple decoderA decoderB)
200−
201−decodeVoid :: Json -> Either JsonDecodeError Void
202−decodeVoid _ = Left $ UnexpectedValue $ fromString "Value cannot be Void"
203−
204−decodeJArray :: Json -> Either JsonDecodeError (Array Json)
205−decodeJArray = note (TypeMismatch "Array") <<< toArray
206−
207−decodeJObject :: Json -> Either JsonDecodeError (FO.Object Json)
208−decodeJObject = note (TypeMismatch "Object") <<< toObject
209−
210−getField
211− :: forall a
212− . (Json -> Either JsonDecodeError a)
213− -> FO.Object Json
214− -> String
215− -> Either JsonDecodeError a
216−getField decoder obj str =
217− maybe
218− (Left $ AtKey str MissingValue)
219− (lmap (AtKey str) <<< decoder)
220− (FO.lookup str obj)
221−
222−getFieldOptional
223− :: forall a
224− . (Json -> Either JsonDecodeError a)
225− -> FO.Object Json
226− -> String
227− -> Either JsonDecodeError (Maybe a)
228−getFieldOptional decoder obj str =
229− maybe (pure Nothing) (map Just <<< decode) (FO.lookup str obj)
230− where
231− decode = lmap (AtKey str) <<< decoder
232−
233−getFieldOptional'
234− :: forall a
235− . (Json -> Either JsonDecodeError a)
236− -> FO.Object Json
237− -> String
238− -> Either JsonDecodeError (Maybe a)
239−getFieldOptional' decoder obj str =
240− maybe (pure Nothing) decode (FO.lookup str obj)
241− where
242− decode json =
243− if isNull json then
244− pure Nothing
245− else
246− Just <$> (lmap (AtKey str) <<< decoder) json
.spago/p/argonaut-codecs-9.1.0/src/Data/Argonaut/Decode/Error.pursdeleted−43
@@ -1,43 +0,0 @@
1−-- | Originally implemented in:
2−-- | https://github.com/garyb/purescript-codec-argonaut
3−module Data.Argonaut.Decode.Error where
4−
5−import Prelude
6−
7−import Data.Argonaut.Core (Json, stringify)
8−import Data.Generic.Rep (class Generic)
9−
10−-- | Error type for failures while decoding.
11−data JsonDecodeError
12− = TypeMismatch String
13− | UnexpectedValue Json
14− | AtIndex Int JsonDecodeError
15− | AtKey String JsonDecodeError
16− | Named String JsonDecodeError
17− | MissingValue
18−
19−derive instance eqJsonDecodeError :: Eq JsonDecodeError
20−derive instance ordJsonDecodeError :: Ord JsonDecodeError
21−derive instance genericJsonDecodeError :: Generic JsonDecodeError _
22−
23−instance showJsonDecodeError :: Show JsonDecodeError where
24− show = case _ of
25− TypeMismatch s -> "(TypeMismatch " <> show s <> ")"
26− UnexpectedValue j -> "(UnexpectedValue " <> stringify j <> ")"
27− AtIndex i e -> "(AtIndex " <> show i <> " " <> show e <> ")"
28− AtKey k e -> "(AtKey " <> show k <> " " <> show e <> ")"
29− Named s e -> "(Named " <> show s <> " " <> show e <> ")"
30− MissingValue -> "MissingValue"
31−
32−-- | Prints a `JsonDecodeError` as a readable error message.
33−printJsonDecodeError :: JsonDecodeError -> String
34−printJsonDecodeError err =
35− "An error occurred while decoding a JSON value:\n" <> go err
36− where
37− go = case _ of
38− TypeMismatch ty -> " Expected value of type '" <> ty <> "'."
39− UnexpectedValue val -> " Unexpected value " <> stringify val <> "."
40− AtIndex ix inner -> " At array index " <> show ix <> ":\n" <> go inner
41− AtKey key inner -> " At object key \'" <> key <> "\':\n" <> go inner
42− Named name inner -> " Under '" <> name <> "':\n" <> go inner
43− MissingValue -> " No value was found."
.spago/p/argonaut-codecs-9.1.0/src/Data/Argonaut/Decode/Parser.pursdeleted−14
@@ -1,14 +0,0 @@
1−module Data.Argonaut.Decode.Parser where
2−
3−import Prelude
4−
5−import Data.Argonaut.Core (Json)
6−import Data.Argonaut.Decode.Error (JsonDecodeError(..))
7−import Data.Argonaut.Parser (jsonParser)
8−import Data.Bifunctor (lmap)
9−import Data.Either (Either)
10−
11−-- | Attempt to parse a string as `Json`, failing with a typed error if the
12−-- | JSON string is malformed.
13−parseJson :: String -> Either JsonDecodeError Json
14−parseJson = lmap (\_ -> TypeMismatch "JSON") <<< jsonParser
.spago/p/argonaut-codecs-9.1.0/src/Data/Argonaut/Encode.pursdeleted−15
@@ -1,15 +0,0 @@
1−module Data.Argonaut.Encode
2− ( module Data.Argonaut.Encode.Class
3− , module Data.Argonaut.Encode.Combinators
4− , toJsonString
5− ) where
6−
7−import Prelude
8−
9−import Data.Argonaut.Core (stringify)
10−import Data.Argonaut.Encode.Class (class EncodeJson, encodeJson)
11−import Data.Argonaut.Encode.Combinators (assoc, assocOptional, extend, extendOptional, (:=), (:=?), (~>), (~>?))
12−
13−-- | Encode and stringify a type in one step.
14−toJsonString :: forall t. EncodeJson t => t -> String
15−toJsonString = encodeJson >>> stringify
.spago/p/argonaut-codecs-9.1.0/src/Data/Argonaut/Encode/Class.pursdeleted−123
@@ -1,123 +0,0 @@
1−module Data.Argonaut.Encode.Class where
2−
3−import Data.Argonaut.Encode.Encoders
4−
5−import Data.Argonaut.Core (Json, fromObject)
6−import Data.Array.NonEmpty (NonEmptyArray)
7−import Data.String.NonEmpty (NonEmptyString)
8−import Data.Either (Either)
9−import Data.Identity (Identity)
10−import Data.List (List)
11−import Data.List.Types (NonEmptyList)
12−import Data.Map as M
13−import Data.Maybe (Maybe)
14−import Data.NonEmpty (NonEmpty)
15−import Data.Set as S
16−import Data.String (CodePoint)
17−import Data.Symbol (class IsSymbol, reflectSymbol)
18−import Data.Tuple (Tuple)
19−import Foreign.Object as FO
20−import Prelude (class Ord, Unit, Void, identity, ($))
21−import Prim.Row as Row
22−import Prim.RowList as RL
23−import Record as Record
24−import Type.Proxy (Proxy(..))
25−
26−class EncodeJson a where
27− encodeJson :: a -> Json
28−
29−instance encodeIdentity :: EncodeJson a => EncodeJson (Identity a) where
30− encodeJson = encodeIdentity encodeJson
31−
32−instance encodeJsonMaybe :: EncodeJson a => EncodeJson (Maybe a) where
33− encodeJson = encodeMaybe encodeJson
34−
35−instance encodeJsonTuple :: (EncodeJson a, EncodeJson b) => EncodeJson (Tuple a b) where
36− encodeJson = encodeTuple encodeJson encodeJson
37−
38−instance encodeJsonEither :: (EncodeJson a, EncodeJson b) => EncodeJson (Either a b) where
39− encodeJson = encodeEither encodeJson encodeJson
40−
41−instance encodeJsonUnit :: EncodeJson Unit where
42− encodeJson = encodeUnit
43−
44−instance encodeJsonJBoolean :: EncodeJson Boolean where
45− encodeJson = encodeBoolean
46−
47−instance encodeJsonJNumber :: EncodeJson Number where
48− encodeJson = encodeNumber
49−
50−instance encodeJsonInt :: EncodeJson Int where
51− encodeJson = encodeInt
52−
53−instance encodeJsonJString :: EncodeJson String where
54− encodeJson = encodeString
55−
56−instance encodeJsonJson :: EncodeJson Json where
57− encodeJson = identity
58−
59−instance encodeJsonCodePoint :: EncodeJson CodePoint where
60− encodeJson = encodeCodePoint
61−
62−instance encodeNonEmptyString :: EncodeJson NonEmptyString where
63− encodeJson = encodeNonEmptyString
64−
65−instance encodeJsonNonEmpty_Array :: (EncodeJson a) => EncodeJson (NonEmpty Array a) where
66− encodeJson = encodeNonEmpty_Array encodeJson
67−
68−instance encodeJsonNonEmptyArray :: (EncodeJson a) => EncodeJson (NonEmptyArray a) where
69− encodeJson = encodeNonEmptyArray encodeJson
70−
71−instance encodeJsonNonEmpty_List :: (EncodeJson a) => EncodeJson (NonEmpty List a) where
72− encodeJson = encodeNonEmpty_List encodeJson
73−
74−instance encodeJsonNonEmptyList :: (EncodeJson a) => EncodeJson (NonEmptyList a) where
75− encodeJson = encodeNonEmptyList encodeJson
76−
77−instance encodeJsonChar :: EncodeJson Char where
78− encodeJson = encodeChar
79−
80−instance encodeJsonArray :: EncodeJson a => EncodeJson (Array a) where
81− encodeJson = encodeArray encodeJson
82−
83−instance encodeJsonList :: EncodeJson a => EncodeJson (List a) where
84− encodeJson = encodeList encodeJson
85−
86−instance encodeForeignObject :: EncodeJson a => EncodeJson (FO.Object a) where
87− encodeJson = encodeForeignObject encodeJson
88−
89−instance encodeSet :: (Ord a, EncodeJson a) => EncodeJson (S.Set a) where
90− encodeJson = encodeSet encodeJson
91−
92−instance encodeMap :: (Ord a, EncodeJson a, EncodeJson b) => EncodeJson (M.Map a b) where
93− encodeJson = encodeMap encodeJson encodeJson
94−
95−instance encodeVoid :: EncodeJson Void where
96− encodeJson = encodeVoid
97−
98−instance encodeRecord ::
99− ( GEncodeJson row list
100− , RL.RowToList row list
101− ) =>
102− EncodeJson (Record row) where
103− encodeJson rec = fromObject $ gEncodeJson rec (Proxy :: Proxy list)
104−
105−class GEncodeJson (row :: Row Type) (list :: RL.RowList Type) where
106− gEncodeJson :: forall proxy. Record row -> proxy list -> FO.Object Json
107−
108−instance gEncodeJsonNil :: GEncodeJson row RL.Nil where
109− gEncodeJson _ _ = FO.empty
110−
111−instance gEncodeJsonCons ::
112− ( EncodeJson value
113− , GEncodeJson row tail
114− , IsSymbol field
115− , Row.Cons field value tail' row
116− ) =>
117− GEncodeJson row (RL.Cons field value tail) where
118− gEncodeJson row _ = do
119− let _field = Proxy :: Proxy field
120− FO.insert
121− (reflectSymbol _field)
122− (encodeJson $ Record.get _field row)
123− (gEncodeJson row (Proxy :: Proxy tail))
.spago/p/argonaut-codecs-9.1.0/src/Data/Argonaut/Encode/Combinators.pursdeleted−51
@@ -1,51 +0,0 @@
1−-- | Provides operators for a DSL to construct `Json` values:
2−-- |
3−-- | ```purs
4−-- | myJson =
5−-- | "key1" := value1
6−-- | ~> "key2" :=? value2
7−-- | ~>? "key3" := value3
8−-- | ~> jsonEmptyObject
9−-- | ```
10−module Data.Argonaut.Encode.Combinators where
11−
12−import Data.Argonaut.Core (Json)
13−import Data.Argonaut.Encode.Class (class EncodeJson, encodeJson)
14−import Data.Maybe (Maybe)
15−import Data.Tuple (Tuple)
16−import Data.Argonaut.Encode.Encoders as Encoders
17−
18−-- | Creates a `Tuple String Json` entry, representing a key/value pair for
19−-- | an object.
20−infix 7 assoc as :=
21−
22−-- | The named Encoders of the `(:=)` operator.
23−assoc :: forall a. EncodeJson a => String -> a -> Tuple String Json
24−assoc = Encoders.assoc encodeJson
25−
26−-- | Creates an optional `Tuple String Json` entry, representing an optional
27−-- | key/value pair for an object.
28−infix 7 assocOptional as :=?
29−
30−-- | The named Encoders of the `(:=?)` operator.
31−assocOptional
32− :: forall a
33− . EncodeJson a
34− => String
35− -> Maybe a
36− -> Maybe (Tuple String Json)
37−assocOptional = Encoders.assocOptional encodeJson
38−
39−-- | Extends a Json object with a `Tuple String Json` property.
40−infixr 6 extend as ~>
41−
42−-- | The named Encoders of the `(~>)` operator.
43−extend :: forall a. EncodeJson a => Tuple String Json -> a -> Json
44−extend = Encoders.extend encodeJson
45−
46−-- | Optionally extends a Json object with an optional `Tuple String Json` property.
47−infixr 6 extendOptional as ~>?
48−
49−-- | The named Encoders of the `(~>?)` operator.
50−extendOptional :: forall a. EncodeJson a => Maybe (Tuple String Json) -> a -> Json
51−extendOptional = Encoders.extendOptional encodeJson
.spago/p/argonaut-codecs-9.1.0/src/Data/Argonaut/Encode/Encoders.pursdeleted−123
@@ -1,123 +0,0 @@
1−module Data.Argonaut.Encode.Encoders where
2−
3−import Prelude
4−
5−import Data.Argonaut.Core (Json, fromArray, fromBoolean, fromNumber, fromObject, fromString, jsonNull, caseJsonObject, jsonSingletonObject)
6−import Data.Array as Arr
7−import Data.Array.NonEmpty (NonEmptyArray)
8−import Data.Array.NonEmpty as NEA
9−import Data.Either (Either, either)
10−import Data.Identity (Identity(..))
11−import Data.Int (toNumber)
12−import Data.List (List(..), (:), toUnfoldable)
13−import Data.List.NonEmpty as NEL
14−import Data.List.Types (NonEmptyList)
15−import Data.String.NonEmpty (NonEmptyString)
16−import Data.String.NonEmpty as NonEmptyString
17−import Data.Map as M
18−import Data.Maybe (Maybe(..))
19−import Data.NonEmpty (NonEmpty(..))
20−import Data.Set as S
21−import Data.String (CodePoint)
22−import Data.String.CodePoints as CP
23−import Data.String.CodeUnits as CU
24−import Data.Tuple (Tuple(..))
25−import Foreign.Object as FO
26−
27−encodeIdentity :: forall a. (a -> Json) -> Identity a -> Json
28−encodeIdentity encoder (Identity a) = encoder a
29−
30−encodeMaybe :: forall a. (a -> Json) -> Maybe a -> Json
31−encodeMaybe encoder = case _ of
32− Nothing -> jsonNull
33− Just a -> encoder a
34−
35−encodeTuple :: forall a b. (a -> Json) -> (b -> Json) -> Tuple a b -> Json
36−encodeTuple encoderA encoderB (Tuple a b) = fromArray [ encoderA a, encoderB b ]
37−
38−encodeEither :: forall a b. (a -> Json) -> (b -> Json) -> Either a b -> Json
39−encodeEither encoderA encoderB = either (obj encoderA "Left") (obj encoderB "Right")
40− where
41− obj :: forall c. (c -> Json) -> String -> c -> Json
42− obj encoder tag x =
43− fromObject
44− $ FO.fromFoldable
45− $ Tuple "tag" (fromString tag) : Tuple "value" (encoder x) : Nil
46−
47−encodeUnit :: Unit -> Json
48−encodeUnit = const jsonNull
49−
50−encodeBoolean :: Boolean -> Json
51−encodeBoolean = fromBoolean
52−
53−encodeNumber :: Number -> Json
54−encodeNumber = fromNumber
55−
56−encodeInt :: Int -> Json
57−encodeInt = fromNumber <<< toNumber
58−
59−encodeString :: String -> Json
60−encodeString = fromString
61−
62−encodeCodePoint :: CodePoint -> Json
63−encodeCodePoint = encodeString <<< CP.singleton
64−
65−encodeNonEmptyString :: NonEmptyString -> Json
66−encodeNonEmptyString = fromString <<< NonEmptyString.toString
67−
68−encodeNonEmpty_Array :: forall a. (a -> Json) -> NonEmpty Array a -> Json
69−encodeNonEmpty_Array encoder (NonEmpty h t) = encodeArray encoder (Arr.cons h t)
70−
71−encodeNonEmptyArray :: forall a. (a -> Json) -> NonEmptyArray a -> Json
72−encodeNonEmptyArray encoder = encodeArray encoder <<< NEA.toArray
73−
74−encodeNonEmpty_List :: forall a. (a -> Json) -> NonEmpty List a -> Json
75−encodeNonEmpty_List encoder (NonEmpty h t) = encodeList encoder (h : t)
76−
77−encodeNonEmptyList :: forall a. (a -> Json) -> NonEmptyList a -> Json
78−encodeNonEmptyList encoder = encodeList encoder <<< NEL.toList
79−
80−encodeChar :: Char -> Json
81−encodeChar = encodeString <<< CU.singleton
82−
83−encodeArray :: forall a. (a -> Json) -> Array a -> Json
84−encodeArray encoder = fromArray <<< map encoder
85−
86−encodeList :: forall a. (a -> Json) -> List a -> Json
87−encodeList encoder = fromArray <<< map encoder <<< toUnfoldable
88−
89−encodeForeignObject :: forall a. (a -> Json) -> FO.Object a -> Json
90−encodeForeignObject encoder = fromObject <<< map encoder
91−
92−encodeSet :: forall a. Ord a => (a -> Json) -> S.Set a -> Json
93−encodeSet encoder = encodeList encoder <<< (S.toUnfoldable :: S.Set a -> List a)
94−
95−encodeMap :: forall a b. Ord a => (a -> Json) -> (b -> Json) -> M.Map a b -> Json
96−encodeMap encoderA encoderB =
97− encodeList (encodeTuple encoderA encoderB)
98− <<< (M.toUnfoldable :: M.Map a b -> List (Tuple a b))
99−
100−encodeVoid :: Void -> Json
101−encodeVoid = absurd
102−
103−assoc :: forall a. (a -> Json) -> String -> a -> Tuple String Json
104−assoc encoder k = Tuple k <<< encoder
105−
106−assocOptional
107− :: forall a
108− . (a -> Json)
109− -> String
110− -> Maybe a
111− -> Maybe (Tuple String Json)
112−assocOptional encoder k = map (Tuple k <<< encoder)
113−
114−extend :: forall a. (a -> Json) -> Tuple String Json -> a -> Json
115−extend encoder (Tuple k v) =
116− caseJsonObject (jsonSingletonObject k v) (fromObject <<< FO.insert k v)
117− <<< encoder
118−
119−-- | The named Encoders of the `(~>?)` operator.
120−extendOptional :: forall a. (a -> Json) -> Maybe (Tuple String Json) -> a -> Json
121−extendOptional encoder = case _ of
122− Just kv -> extend encoder kv
123− Nothing -> encoder
.spago/p/argonaut-core-7.0.0/LICENSEdeleted−22
@@ -1,22 +0,0 @@
1−The MIT License (MIT)
2−
3−Copyright (c) 2015 PureScript Contrib
4−
5−Permission is hereby granted, free of charge, to any person obtaining a copy
6−of this software and associated documentation files (the "Software"), to deal
7−in the Software without restriction, including without limitation the rights
8−to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9−copies of the Software, and to permit persons to whom the Software is
10−furnished to do so, subject to the following conditions:
11−
12−The above copyright notice and this permission notice shall be included in all
13−copies or substantial portions of the Software.
14−
15−THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16−IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17−FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18−AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19−LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20−OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21−SOFTWARE.
22−
.spago/p/argonaut-core-7.0.0/README.mddeleted−108
@@ -1,108 +0,0 @@
1−# Argonaut Core
2−
3−[![CI](https://github.com/purescript-contrib/purescript-argonaut-core/workflows/CI/badge.svg?branch=main)](https://github.com/purescript-contrib/purescript-argonaut-core/actions?query=workflow%3ACI+branch%3Amain)
4−[![Release](http://img.shields.io/github/release/purescript-contrib/purescript-argonaut-core.svg)](https://github.com/purescript-contrib/purescript-argonaut-core/releases)
5−[![Pursuit](http://pursuit.purescript.org/packages/purescript-argonaut-core/badge)](http://pursuit.purescript.org/packages/purescript-argonaut-core)
6−[![Maintainer: garyb](https://img.shields.io/badge/maintainer-garyb-teal.svg)](http://github.com/garyb)
7−
8−The core `Json` type for the [Argonaut](https://github.com/purescript-contrib/purescript-argonaut) libraries, along with basic parsing, printing, and folding functions which operate on it.
9−
10−## Installation
11−
12−Install `argonaut-core` with [Spago](https://github.com/purescript/spago):
13−
14−```sh
15−spago install argonaut-core
16−```
17−
18−or install it as part of the [Argonaut](https://github.com/purescript-contrib/purescript-argonaut) bundle:
19−
20−```sh
21−spago install argonaut
22−```
23−
24−## Quick start
25−
26−Use the `Json` type to represent JSON data in PureScript. You can produce a value of `Json` via the FFI or by functions from `Data.Argonaut.Core`.
27−
28−For example, via the FFI:
29−
30−```js
31−// In an FFI module
32−exports.someNumber = 23.6;
33−exports.someObject = { people: [{ name: "John" }, { name: "Jane" }] };
34−```
35−
36−```purs
37−foreign import someNumber :: Json
38−foreign import someObject :: Json
39−```
40−
41−In general, if a JavaScript value could be returned from a call to `JSON.parse` then you can import it via the FFI as `Json`. That includes objects, booleans, numbers, strings, and arrays (but not things like functions).
42−
43−You can also use the construction functions which follow the naming convention `fromX` or `jsonX`:
44−
45−```purs
46−import Data.Tuple (Tuple(..))
47−import Foreign.Object as Object
48−import Data.Argonaut.Core as A
49−
50−someNumber :: Json
51−someNumber = A.fromNumber 23.6
52−
53−someObject :: Json
54−someObject =
55− A.fromObject
56− ( Object.fromFoldable
57− [ Tuple "people"
58− ( A.fromArray
59− [ A.jsonSingletonObject "name" (A.fromString "John")
60− , A.jsonSingletonObject "name" (A.fromString "Jane")
61− ]
62− )
63− ]
64− )
65−```
66−
67−Finally, you can parse JSON from a string using the `jsonParser` function. However, this isn't guaranteed to produce a correct value, so it returns an `Either` value, where a parsing error is represented with `Left` containing an error message.
68−
69−```purs
70−import Data.Argonaut.Parser (jsonParser)
71−import Data.Maybe (Maybe(..))
72−
73−someObject :: Either String Json
74−someObject = jsonParser
75− """
76− { people: [{ name: "John" }, { name: "Jane" }] };
77− """
78−```
79−
80−See the [docs](./docs) for an in-depth overview of the rest of the Argonaut Core library. You may also be interested in other libraries in the Argonaut ecosystem:
81−
82−- [purescript-argonaut-codecs](https://github.com/purescript-contrib/purescript-argonaut-codecs) provides codecs based on `EncodeJson` and `DecodeJson` type classes, along with instances for common data types and combinators for encoding and decoding `Json` values.
83−- [purescript-codec-argonaut](https://github.com/garyb/purescript-codec-argonaut) supports an alternative approach for codecs, which are based on profunctors instead of type classes.
84−- [purescript-argonaut-traversals](https://github.com/purescript-contrib/purescript-argonaut-traversals) defines prisms, traversals, and zippers for the `Json` type.
85−- [purescript-argonaut-generic](https://github.com/purescript-contrib/purescript-argonaut-generic) supports generic encoding and decoding for any type with a `Generic` instance.
86−
87−## Documentation
88−
89−`argonaut-core` documentation is stored in a few places:
90−
91−1. Module documentation is [published on Pursuit](https://pursuit.purescript.org/packages/purescript-argonaut-core).
92−2. Written documentation is kept in [the docs directory](./docs).
93−3. Usage examples can be found in [the test suite](./test).
94−
95−If you get stuck, there are several ways to get help:
96−
97−- [Open an issue](https://github.com/purescript-contrib/purescript-argonaut-core/issues) if you have encountered a bug or problem.
98−- Ask general questions on the [PureScript Discourse](https://discourse.purescript.org) forum or the [PureScript Discord](https://purescript.org/chat) chat.
99−
100−## Contributing
101−
102−You can contribute to `argonaut-core` in several ways:
103−
104−1. If you encounter a problem or have a question, please [open an issue](https://github.com/purescript-contrib/purescript-argonaut-core/issues). We'll do our best to work with you to resolve or answer it.
105−
106−2. If you would like to contribute code, tests, or documentation, please [read the contributor guide](./CONTRIBUTING.md). It's a short, helpful introduction to contributing to this library, including development instructions.
107−
108−3. If you have written a library, tutorial, guide, or other resource based on this package, please share it on the [PureScript Discourse](https://discourse.purescript.org)! Writing libraries and learning resources are a great way to help this library succeed.
.spago/p/argonaut-core-7.0.0/bower.jsondeleted−45
@@ -1,45 +0,0 @@
1−{
2− "name": "purescript-argonaut-core",
3− "homepage": "https://github.com/purescript-contrib/purescript-argonaut-core",
4− "description": "Core of the purescript-argonaut library, providing basic types, folds, and combinators for `Json`",
5− "license": "MIT",
6− "authors": [
7− "Maxim Zimaliev <zimaliev@yandex.ru>",
8− "Hardy Jones <>",
9− "John A. De Goes <john@degoes.net>"
10− ],
11− "keywords": [
12− "purescript",
13− "argonaut",
14− "json"
15− ],
16− "repository": {
17− "type": "git",
18− "url": "https://github.com/purescript-contrib/purescript-argonaut-core.git"
19− },
20− "ignore": [
21− "**/.*",
22− "bower_components",
23− "node_modules",
24− "output",
25− "test",
26− "bower.json",
27− "package.json"
28− ],
29− "dependencies": {
30− "purescript-arrays": "^7.0.0",
31− "purescript-control": "^6.0.0",
32− "purescript-either": "^6.0.0",
33− "purescript-foreign-object": "^4.0.0",
34− "purescript-functions": "^6.0.0",
35− "purescript-gen": "^4.0.0",
36− "purescript-maybe": "^6.0.0",
37− "purescript-nonempty": "^7.0.0",
38− "purescript-prelude": "^6.0.0",
39− "purescript-strings": "^6.0.0",
40− "purescript-tailrec": "^6.0.0"
41− },
42− "devDependencies": {
43− "purescript-quickcheck": "^8.0.1"
44− }
45−}
.spago/p/argonaut-core-7.0.0/package.jsondeleted−10
@@ -1,10 +0,0 @@
1−{
2− "private": true,
3− "scripts": {
4− "build": "eslint src && spago build --purs-args '--censor-lib --strict'",
5− "test": "spago test --no-install"
6− },
7− "devDependencies": {
8− "eslint": "^7.6.0"
9− }
10−}
.spago/p/argonaut-core-7.0.0/packages.dhalldeleted−4
@@ -1,4 +0,0 @@
1−let upstream =
2− https://raw.githubusercontent.com/purescript/package-sets/prepare-0.15/src/packages.dhall
3−
4−in upstream
.spago/p/argonaut-core-7.0.0/purs.jsondeleted−23
@@ -1,23 +0,0 @@
1−{
2− "name": "argonaut-core",
3− "version": "7.0.0",
4− "license": "MIT",
5− "description": "Core of the purescript-argonaut library, providing basic types, folds, and combinators for `Json`",
6− "location": {
7− "githubOwner": "purescript-contrib",
8− "githubRepo": "purescript-argonaut-core"
9− },
10− "dependencies": {
11− "arrays": ">=7.0.0 <8.0.0",
12− "control": ">=6.0.0 <7.0.0",
13− "either": ">=6.0.0 <7.0.0",
14− "foreign-object": ">=4.0.0 <5.0.0",
15− "functions": ">=6.0.0 <7.0.0",
16− "gen": ">=4.0.0 <5.0.0",
17− "maybe": ">=6.0.0 <7.0.0",
18− "nonempty": ">=7.0.0 <8.0.0",
19− "prelude": ">=6.0.0 <7.0.0",
20− "strings": ">=6.0.0 <7.0.0",
21− "tailrec": ">=6.0.0 <7.0.0"
22− }
23−}
.spago/p/argonaut-core-7.0.0/spago.dhalldeleted−22
@@ -1,22 +0,0 @@
1−{ name = "argonaut-core"
2−, dependencies =
3− [ "arrays"
4− , "console"
5− , "control"
6− , "effect"
7− , "either"
8− , "foreign-object"
9− , "functions"
10− , "gen"
11− , "maybe"
12− , "nonempty"
13− , "partial"
14− , "prelude"
15− , "quickcheck"
16− , "strings"
17− , "tailrec"
18− , "tuples"
19− ]
20−, packages = ./packages.dhall
21−, sources = [ "src/**/*.purs", "test/**/*.purs" ]
22−}
.spago/p/argonaut-core-7.0.0/src/Data/Argonaut/Core.jsdeleted−102
@@ -1,102 +0,0 @@
1−/* eslint-disable no-eq-null, eqeqeq */
2−function id(x) {
3− return x;
4−}
5−
6−export {id as fromBoolean};
7−export {id as fromNumber};
8−export {id as fromString};
9−export {id as fromArray};
10−export {id as fromObject};
11−export const jsonNull = null;
12−
13−export function stringify(j) {
14− return JSON.stringify(j);
15−}
16−
17−export function stringifyWithIndent(i) {
18− return function (j) {
19− return JSON.stringify(j, null, i);
20− };
21−}
22−
23−function isArray(a) {
24− return Object.prototype.toString.call(a) === "[object Array]";
25−}
26−
27−export function _caseJson(isNull, isBool, isNum, isStr, isArr, isObj, j) {
28− if (j == null) return isNull();
29− else if (typeof j === "boolean") return isBool(j);
30− else if (typeof j === "number") return isNum(j);
31− else if (typeof j === "string") return isStr(j);
32− else if (Object.prototype.toString.call(j) === "[object Array]")
33− return isArr(j);
34− else return isObj(j);
35−}
36−
37−export function _compare(EQ, GT, LT, a, b) {
38− if (a == null) {
39− if (b == null) return EQ;
40− else return LT;
41− } else if (typeof a === "boolean") {
42− if (typeof b === "boolean") {
43− // boolean / boolean
44− if (a === b) return EQ;
45− else if (a === false) return LT;
46− else return GT;
47− } else if (b == null) return GT;
48− else return LT;
49− } else if (typeof a === "number") {
50− if (typeof b === "number") {
51− if (a === b) return EQ;
52− else if (a < b) return LT;
53− else return GT;
54− } else if (b == null) return GT;
55− else if (typeof b === "boolean") return GT;
56− else return LT;
57− } else if (typeof a === "string") {
58− if (typeof b === "string") {
59− if (a === b) return EQ;
60− else if (a < b) return LT;
61− else return GT;
62− } else if (b == null) return GT;
63− else if (typeof b === "boolean") return GT;
64− else if (typeof b === "number") return GT;
65− else return LT;
66− } else if (isArray(a)) {
67− if (isArray(b)) {
68− for (var i = 0; i < Math.min(a.length, b.length); i++) {
69− var ca = _compare(EQ, GT, LT, a[i], b[i]);
70− if (ca !== EQ) return ca;
71− }
72− if (a.length === b.length) return EQ;
73− else if (a.length < b.length) return LT;
74− else return GT;
75− } else if (b == null) return GT;
76− else if (typeof b === "boolean") return GT;
77− else if (typeof b === "number") return GT;
78− else if (typeof b === "string") return GT;
79− else return LT;
80− } else {
81− if (b == null) return GT;
82− else if (typeof b === "boolean") return GT;
83− else if (typeof b === "number") return GT;
84− else if (typeof b === "string") return GT;
85− else if (isArray(b)) return GT;
86− else {
87− var akeys = Object.keys(a);
88− var bkeys = Object.keys(b);
89− if (akeys.length < bkeys.length) return LT;
90− else if (akeys.length > bkeys.length) return GT;
91− var keys = akeys.concat(bkeys).sort();
92− for (var j = 0; j < keys.length; j++) {
93− var k = keys[j];
94− if (a[k] === undefined) return LT;
95− else if (b[k] === undefined) return GT;
96− var ck = _compare(EQ, GT, LT, a[k], b[k]);
97− if (ck !== EQ) return ck;
98− }
99− return EQ;
100− }
101− }
102−}
.spago/p/argonaut-core-7.0.0/src/Data/Argonaut/Core.pursdeleted−260
@@ -1,260 +0,0 @@
1−-- | This module defines a data type and various functions for creating and
2−-- | manipulating JSON values. The README contains additional documentation
3−-- | for this module.
4−module Data.Argonaut.Core
5− ( Json
6− , caseJson
7− , caseJsonNull
8− , caseJsonBoolean
9− , caseJsonNumber
10− , caseJsonString
11− , caseJsonArray
12− , caseJsonObject
13− , isNull
14− , isBoolean
15− , isNumber
16− , isString
17− , isArray
18− , isObject
19− , fromBoolean
20− , fromNumber
21− , fromString
22− , fromArray
23− , fromObject
24− , toNull
25− , toBoolean
26− , toNumber
27− , toString
28− , toArray
29− , toObject
30− , jsonNull
31− , jsonTrue
32− , jsonFalse
33− , jsonZero
34− , jsonEmptyString
35− , jsonEmptyArray
36− , jsonSingletonArray
37− , jsonEmptyObject
38− , jsonSingletonObject
39− , stringify
40− , stringifyWithIndent
41− ) where
42−
43−import Prelude
44−
45−import Data.Function.Uncurried (Fn5, runFn5, Fn7, runFn7)
46−import Data.Maybe (Maybe(..))
47−import Foreign.Object (Object)
48−import Foreign.Object as Obj
49−
50−-- | The type of JSON data. The underlying representation is the same as what
51−-- | would be returned from JavaScript's `JSON.parse` function; that is,
52−-- | ordinary JavaScript booleans, strings, arrays, objects, etc.
53−foreign import data Json :: Type
54−
55−instance eqJson :: Eq Json where
56− eq j1 j2 = compare j1 j2 == EQ
57−
58−instance ordJson :: Ord Json where
59− compare a b = runFn5 _compare EQ GT LT a b
60−
61−-- | The type of null values inside JSON data. There is exactly one value of
62−-- | this type: in JavaScript, it is written `null`. This module exports this
63−-- | value as `jsonNull`.
64−foreign import data JNull :: Type
65−
66−instance eqJNull :: Eq JNull where
67− eq _ _ = true
68−
69−instance ordJNull :: Ord JNull where
70− compare _ _ = EQ
71−
72−-- | Case analysis for `Json` values. See the README for more information.
73−caseJson
74− :: forall a
75− . (Unit -> a)
76− -> (Boolean -> a)
77− -> (Number -> a)
78− -> (String -> a)
79− -> (Array Json -> a)
80− -> (Object Json -> a)
81− -> Json
82− -> a
83−caseJson a b c d e f json = runFn7 _caseJson a b c d e f json
84−
85−-- | A simpler version of `caseJson` which accepts a callback for when the
86−-- | `Json` argument was null, and a default value for all other cases.
87−caseJsonNull :: forall a. a -> (Unit -> a) -> Json -> a
88−caseJsonNull d f j = runFn7 _caseJson f (const d) (const d) (const d) (const d) (const d) j
89−
90−-- | A simpler version of `caseJson` which accepts a callback for when the
91−-- | `Json` argument was a `Boolean`, and a default value for all other cases.
92−caseJsonBoolean :: forall a. a -> (Boolean -> a) -> Json -> a
93−caseJsonBoolean d f j = runFn7 _caseJson (const d) f (const d) (const d) (const d) (const d) j
94−
95−-- | A simpler version of `caseJson` which accepts a callback for when the
96−-- | `Json` argument was a `Number`, and a default value for all other cases.
97−caseJsonNumber :: forall a. a -> (Number -> a) -> Json -> a
98−caseJsonNumber d f j = runFn7 _caseJson (const d) (const d) f (const d) (const d) (const d) j
99−
100−-- | A simpler version of `caseJson` which accepts a callback for when the
101−-- | `Json` argument was a `String`, and a default value for all other cases.
102−caseJsonString :: forall a. a -> (String -> a) -> Json -> a
103−caseJsonString d f j = runFn7 _caseJson (const d) (const d) (const d) f (const d) (const d) j
104−
105−-- | A simpler version of `caseJson` which accepts a callback for when the
106−-- | `Json` argument was a `Array Json`, and a default value for all other cases.
107−caseJsonArray :: forall a. a -> (Array Json -> a) -> Json -> a
108−caseJsonArray d f j = runFn7 _caseJson (const d) (const d) (const d) (const d) f (const d) j
109−
110−-- | A simpler version of `caseJson` which accepts a callback for when the
111−-- | `Json` argument was an `Object`, and a default value for all other cases.
112−caseJsonObject :: forall a. a -> (Object Json -> a) -> Json -> a
113−caseJsonObject d f j = runFn7 _caseJson (const d) (const d) (const d) (const d) (const d) f j
114−
115−verbJsonType :: forall a b. b -> (a -> b) -> (b -> (a -> b) -> Json -> b) -> Json -> b
116−verbJsonType def f g = g def f
117−
118−-- Tests
119−
120−isJsonType :: forall a. (Boolean -> (a -> Boolean) -> Json -> Boolean) -> Json -> Boolean
121−isJsonType = verbJsonType false (const true)
122−
123−-- | Check if the provided `Json` is the `null` value
124−isNull :: Json -> Boolean
125−isNull = isJsonType caseJsonNull
126−
127−-- | Check if the provided `Json` is a `Boolean`
128−isBoolean :: Json -> Boolean
129−isBoolean = isJsonType caseJsonBoolean
130−
131−-- | Check if the provided `Json` is a `Number`
132−isNumber :: Json -> Boolean
133−isNumber = isJsonType caseJsonNumber
134−
135−-- | Check if the provided `Json` is a `String`
136−isString :: Json -> Boolean
137−isString = isJsonType caseJsonString
138−
139−-- | Check if the provided `Json` is an `Array`
140−isArray :: Json -> Boolean
141−isArray = isJsonType caseJsonArray
142−
143−-- | Check if the provided `Json` is an `Object`
144−isObject :: Json -> Boolean
145−isObject = isJsonType caseJsonObject
146−
147−-- Decoding
148−
149−toJsonType
150− :: forall a
151− . (Maybe a -> (a -> Maybe a) -> Json -> Maybe a)
152− -> Json
153− -> Maybe a
154−toJsonType = verbJsonType Nothing Just
155−
156−-- | Convert `Json` to the `Unit` value if the `Json` is the null value
157−toNull :: Json -> Maybe Unit
158−toNull = toJsonType caseJsonNull
159−
160−-- | Convert `Json` to a `Boolean` value, if the `Json` is a boolean.
161−toBoolean :: Json -> Maybe Boolean
162−toBoolean = toJsonType caseJsonBoolean
163−
164−-- | Convert `Json` to a `Number` value, if the `Json` is a number.
165−toNumber :: Json -> Maybe Number
166−toNumber = toJsonType caseJsonNumber
167−
168−-- | Convert `Json` to a `String` value, if the `Json` is a string. To write a
169−-- | `Json` value to a JSON string, see `stringify`.
170−toString :: Json -> Maybe String
171−toString = toJsonType caseJsonString
172−
173−-- | Convert `Json` to an `Array` of `Json` values, if the `Json` is an array.
174−toArray :: Json -> Maybe (Array Json)
175−toArray = toJsonType caseJsonArray
176−
177−-- | Convert `Json` to an `Object` of `Json` values, if the `Json` is an object.
178−toObject :: Json -> Maybe (Object Json)
179−toObject = toJsonType caseJsonObject
180−
181−-- Encoding
182−
183−-- | Construct `Json` from a `Boolean` value
184−foreign import fromBoolean :: Boolean -> Json
185−
186−-- | Construct `Json` from a `Number` value
187−foreign import fromNumber :: Number -> Json
188−
189−-- | Construct the `Json` representation of a `String` value.
190−-- | Note that this function only produces `Json` containing a single piece of `String`
191−-- | data (similar to `fromBoolean`, `fromNumber`, etc.).
192−-- | This function does NOT convert the `String` encoding of a JSON value to `Json` - For that
193−-- | purpose, you'll need to use `jsonParser`.
194−foreign import fromString :: String -> Json
195−
196−-- | Construct `Json` from an array of `Json` values
197−foreign import fromArray :: Array Json -> Json
198−
199−-- | Construct `Json` from an object with `Json` values
200−foreign import fromObject :: Object Json -> Json
201−
202−-- Defaults
203−
204−-- | The JSON null value represented as `Json`
205−foreign import jsonNull :: Json
206−
207−-- | The true boolean value represented as `Json`
208−jsonTrue :: Json
209−jsonTrue = fromBoolean true
210−
211−-- | The false boolean value represented as `Json`
212−jsonFalse :: Json
213−jsonFalse = fromBoolean false
214−
215−-- | The number zero represented as `Json`
216−jsonZero :: Json
217−jsonZero = fromNumber 0.0
218−
219−-- | An empty string represented as `Json`
220−jsonEmptyString :: Json
221−jsonEmptyString = fromString ""
222−
223−-- | An empty array represented as `Json`
224−jsonEmptyArray :: Json
225−jsonEmptyArray = fromArray []
226−
227−-- | An empty object represented as `Json`
228−jsonEmptyObject :: Json
229−jsonEmptyObject = fromObject Obj.empty
230−
231−-- | Constructs a `Json` array value containing only the provided value
232−jsonSingletonArray :: Json -> Json
233−jsonSingletonArray j = fromArray [ j ]
234−
235−-- | Constructs a `Json` object value containing only the provided key and value
236−jsonSingletonObject :: String -> Json -> Json
237−jsonSingletonObject key val = fromObject (Obj.singleton key val)
238−
239−-- | Converts a `Json` value to a JSON string. To retrieve a string from a `Json`
240−-- | string value, see `fromString`.
241−foreign import stringify :: Json -> String
242−
243−-- | Converts a `Json` value to a JSON string.
244−-- | The first `Int` argument specifies the amount of white space characters to use as indentation.
245−-- | This number is capped at 10 (if it is greater, the value is just 10). Values less than 1 indicate that no space should be used.
246−foreign import stringifyWithIndent :: Int -> Json -> String
247−
248−foreign import _caseJson
249− :: forall z
250− . Fn7
251− (Unit -> z)
252− (Boolean -> z)
253− (Number -> z)
254− (String -> z)
255− (Array Json -> z)
256− (Object Json -> z)
257− Json
258− z
259−
260−foreign import _compare :: Fn5 Ordering Ordering Ordering Json Json Ordering
.spago/p/argonaut-core-7.0.0/src/Data/Argonaut/Gen.pursdeleted−50
@@ -1,50 +0,0 @@
1−module Data.Argonaut.Gen where
2−
3−import Prelude
4−
5−import Control.Lazy (class Lazy, defer)
6−import Control.Monad.Gen (class MonadGen)
7−import Control.Monad.Gen as Gen
8−import Control.Monad.Rec.Class (class MonadRec)
9−import Data.Argonaut.Core as J
10−import Data.Array as A
11−import Data.NonEmpty ((:|))
12−import Data.String.Gen (genUnicodeString)
13−import Foreign.Object as Obj
14−
15−-- | A generator for `Json` values. Especially useful for writing property-based
16−-- | tests.
17−genJson :: forall m. MonadGen m => MonadRec m => Lazy (m J.Json) => m J.Json
18−genJson = Gen.resize (min 5) $ Gen.sized genJson'
19− where
20− genJson' :: Int -> m J.Json
21− genJson' size
22− | size > 1 = Gen.resize (_ - 1) (Gen.choose genJArray genJObject)
23− | otherwise = genLeaf
24−
25− genLeaf :: m J.Json
26− genLeaf = Gen.oneOf $ pure J.jsonNull :| [ genJBoolean, genJNumber, genJString ]
27−
28− genJArray :: m J.Json
29− genJArray = J.fromArray <$> Gen.unfoldable (defer \_ -> genJson)
30−
31− genJObject :: m J.Json
32− genJObject = A.foldM extendJObj J.jsonEmptyObject =<< Gen.unfoldable genUnicodeString
33−
34− extendJObj :: J.Json -> String -> m J.Json
35− extendJObj obj k = do
36− v <- genJson
37− pure $
38− J.caseJsonObject
39− (J.jsonSingletonObject k v)
40− (J.fromObject <<< Obj.insert k v)
41− obj
42−
43− genJBoolean :: m J.Json
44− genJBoolean = J.fromBoolean <$> Gen.chooseBool
45−
46− genJNumber :: m J.Json
47− genJNumber = J.fromNumber <$> Gen.chooseFloat (-1000000.0) 1000000.0
48−
49− genJString :: m J.Json
50− genJString = J.fromString <$> genUnicodeString
.spago/p/argonaut-core-7.0.0/src/Data/Argonaut/Parser.jsdeleted−8
@@ -1,8 +0,0 @@
1−export function _jsonParser(fail, succ, s) {
2− try {
3− return succ(JSON.parse(s));
4− }
5− catch (e) {
6− return fail(e.message);
7− }
8−}
.spago/p/argonaut-core-7.0.0/src/Data/Argonaut/Parser.pursdeleted−12
@@ -1,12 +0,0 @@
1−module Data.Argonaut.Parser (jsonParser) where
2−
3−import Data.Argonaut.Core (Json)
4−import Data.Either (Either(..))
5−import Data.Function.Uncurried (Fn3, runFn3)
6−
7−foreign import _jsonParser :: forall a. Fn3 (String -> a) (Json -> a) String a
8−
9−-- | Parse a JSON string, constructing the `Json` value described by the string.
10−-- | To convert a string into a `Json` string, see `fromString`.
11−jsonParser :: String -> Either String Json
12−jsonParser j = runFn3 _jsonParser Left Right j
.spago/p/arraybuffer-types-3.0.2/LICENSEdeleted−20
@@ -1,20 +0,0 @@
1−The MIT License (MIT)
2−
3−Copyright (c) 2014 PureScript
4−
5−Permission is hereby granted, free of charge, to any person obtaining a copy of
6−this software and associated documentation files (the "Software"), to deal in
7−the Software without restriction, including without limitation the rights to
8−use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9−the Software, and to permit persons to whom the Software is furnished to do so,
10−subject to the following conditions:
11−
12−The above copyright notice and this permission notice shall be included in all
13−copies or substantial portions of the Software.
14−
15−THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16−IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17−FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18−COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19−IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20−CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
.spago/p/arraybuffer-types-3.0.2/README.mddeleted−39
@@ -1,39 +0,0 @@
1−# ArrayBuffer Types
2−
3−[![CI](https://github.com/purescript-contrib/purescript-arraybuffer-types/workflows/CI/badge.svg?branch=main)](https://github.com/purescript-contrib/purescript-arraybuffer-types/actions?query=workflow%3ACI+branch%3Amain)
4−[![Release](https://img.shields.io/github/release/purescript-contrib/purescript-arraybuffer-types.svg)](https://github.com/purescript-contrib/purescript-arraybuffer-types/releases)
5−[![Pursuit](https://pursuit.purescript.org/packages/purescript-arraybuffer-types/badge)](https://pursuit.purescript.org/packages/purescript-arraybuffer-types)
6−[![Maintainer: garyb](https://img.shields.io/badge/maintainer-garyb-teal.svg)](https://github.com/garyb)
7−
8−Type definitions for JavaScript `ArrayBuffer`s.
9−
10−## Installation
11−
12−Install `arraybuffer-types` with [Spago](https://github.com/purescript/spago):
13−
14−```sh
15−spago install arraybuffer-types
16−```
17−
18−## Quick start
19−
20−The quick start hasn't been written yet (contributions are welcome!). The quick start covers a common, minimal use case for the library.
21−
22−## Documentation
23−
24−`arraybuffer-types` documentation is [published on Pursuit](https://pursuit.purescript.org/packages/purescript-arraybuffer-types).
25−
26−If you get stuck, there are several ways to get help:
27−
28−- [Open an issue](https://github.com/purescript-contrib/purescript-arraybuffer-types/issues) if you have encountered a bug or problem.
29−- Ask general questions on the [PureScript Discourse](https://discourse.purescript.org) forum or the [PureScript Discord](https://purescript.org/chat) chat.
30−
31−## Contributing
32−
33−You can contribute to `arraybuffer-types` in several ways:
34−
35−1. If you encounter a problem or have a question, please [open an issue](https://github.com/purescript-contrib/purescript-arraybuffer-types/issues). We'll do our best to work with you to resolve or answer it.
36−
37−2. If you would like to contribute code, tests, or documentation, please [read the contributor guide](./CONTRIBUTING.md). It's a short, helpful introduction to contributing to this library, including development instructions.
38−
39−3. If you have written a library, tutorial, guide, or other resource based on this package, please share it on the [PureScript Discourse](https://discourse.purescript.org)! Writing libraries and learning resources are a great way to help this library succeed.
.spago/p/arraybuffer-types-3.0.2/bower.jsondeleted−19
@@ -1,19 +0,0 @@
1−{
2− "name": "purescript-arraybuffer-types",
3− "license": [
4− "MIT"
5− ],
6− "repository": {
7− "type": "git",
8− "url": "https://github.com/purescript-contrib/purescript-arraybuffer-types"
9− },
10− "ignore": [
11− "**/.*",
12− "node_modules",
13− "bower_components",
14− "output"
15− ],
16− "devDependencies": {
17− "purescript-psci-support": "^6.0.0"
18− }
19−}
.spago/p/arraybuffer-types-3.0.2/packages.dhalldeleted−4
@@ -1,4 +0,0 @@
1−let upstream =
2− https://raw.githubusercontent.com/purescript/package-sets/prepare-0.15/src/packages.dhall
3−
4−in upstream
.spago/p/arraybuffer-types-3.0.2/purs.jsondeleted−10
@@ -1,10 +0,0 @@
1−{
2− "name": "arraybuffer-types",
3− "version": "3.0.2",
4− "license": "MIT",
5− "location": {
6− "githubOwner": "purescript-contrib",
7− "githubRepo": "purescript-arraybuffer-types"
8− },
9− "dependencies": {}
10−}
.spago/p/arraybuffer-types-3.0.2/spago.dhalldeleted−7
@@ -1,7 +0,0 @@
1−{ name = "arraybuffer-types"
2−, dependencies = [ ] : List Text
3−, packages = ./packages.dhall
4−, sources = [ "src/**/*.purs" ]
5−, license = "MIT"
6−, repository = "https://github.com/purescript-contrib/purescript-arraybuffer-types"
7−}
.spago/p/arraybuffer-types-3.0.2/src/Data/ArrayBuffer/Types.pursdeleted−38
@@ -1,38 +0,0 @@
1−module Data.ArrayBuffer.Types where
2−
3−-- | Represents a JS ArrayBuffer object
4−foreign import data ArrayBuffer :: Type
5−
6−-- | Represents a JS DataView on an ArrayBuffer (a slice into the ArrayBuffer)
7−foreign import data DataView :: Type
8−
9−-- | The unifying representation for the different typed arrays
10−foreign import data ArrayView :: ArrayViewType -> Type
11−
12−-- | Offset in bytes into a DataView or ArrayBufer
13−type ByteOffset = Int
14−
15−-- | Length in bytes of a DataView or ArrayBuffer
16−type ByteLength = Int
17−
18−data ArrayViewType
19−
20−foreign import data Int8 :: ArrayViewType
21−foreign import data Int16 :: ArrayViewType
22−foreign import data Int32 :: ArrayViewType
23−foreign import data Uint8 :: ArrayViewType
24−foreign import data Uint16 :: ArrayViewType
25−foreign import data Uint32 :: ArrayViewType
26−foreign import data Uint8Clamped :: ArrayViewType
27−foreign import data Float32 :: ArrayViewType
28−foreign import data Float64 :: ArrayViewType
29−
30−type Int8Array = ArrayView Int8
31−type Int16Array = ArrayView Int16
32−type Int32Array = ArrayView Int32
33−type Uint8Array = ArrayView Uint8
34−type Uint16Array = ArrayView Uint16
35−type Uint32Array = ArrayView Uint32
36−type Uint8ClampedArray = ArrayView Uint8Clamped
37−type Float32Array = ArrayView Float32
38−type Float64Array = ArrayView Float64
.spago/p/arrays-7.3.0/LICENSEdeleted−26
@@ -1,26 +0,0 @@
1−Copyright 2018 PureScript
2−
3−Redistribution and use in source and binary forms, with or without modification,
4−are permitted provided that the following conditions are met:
5−
6−1. Redistributions of source code must retain the above copyright notice, this
7−list of conditions and the following disclaimer.
8−
9−2. Redistributions in binary form must reproduce the above copyright notice,
10−this list of conditions and the following disclaimer in the documentation and/or
11−other materials provided with the distribution.
12−
13−3. Neither the name of the copyright holder nor the names of its contributors
14−may be used to endorse or promote products derived from this software without
15−specific prior written permission.
16−
17−THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18−ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19−WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20−DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
21−ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22−(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23−LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24−ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25−(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26−SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.spago/p/arrays-7.3.0/README.mddeleted−17
@@ -1,17 +0,0 @@
1−# purescript-arrays
2−
3−[![Latest release](http://img.shields.io/github/release/purescript/purescript-arrays.svg)](https://github.com/purescript/purescript-arrays/releases)
4−[![Build status](https://github.com/purescript/purescript-arrays/workflows/CI/badge.svg?branch=master)](https://github.com/purescript/purescript-arrays/actions?query=workflow%3ACI+branch%3Amaster)
5−[![Pursuit](https://pursuit.purescript.org/packages/purescript-arrays/badge)](https://pursuit.purescript.org/packages/purescript-arrays)
6−
7−Utility functions for the `Array` type - JavaScript's native arrays.
8−
9−## Installation
10−
11−```
12−spago install arrays
13−```
14−
15−## Documentation
16−
17−Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-arrays).
.spago/p/arrays-7.3.0/bower.jsondeleted−39
@@ -1,39 +0,0 @@
1−{
2− "name": "purescript-arrays",
3− "homepage": "https://github.com/purescript/purescript-arrays",
4− "license": "BSD-3-Clause",
5− "repository": {
6− "type": "git",
7− "url": "https://github.com/purescript/purescript-arrays.git"
8− },
9− "ignore": [
10− "**/.*",
11− "bower_components",
12− "node_modules",
13− "output",
14− "bower.json",
15− "package.json"
16− ],
17− "dependencies": {
18− "purescript-bifunctors": "^6.0.0",
19− "purescript-control": "^6.0.0",
20− "purescript-foldable-traversable": "^6.0.0",
21− "purescript-functions": "^6.0.0",
22− "purescript-maybe": "^6.0.0",
23− "purescript-nonempty": "^7.0.0",
24− "purescript-partial": "^4.0.0",
25− "purescript-prelude": "^6.0.0",
26− "purescript-safe-coerce": "^2.0.0",
27− "purescript-st": "^6.2.0",
28− "purescript-tailrec": "^6.0.0",
29− "purescript-tuples": "^7.0.0",
30− "purescript-unfoldable": "^6.0.0",
31− "purescript-unsafe-coerce": "^6.0.0"
32− },
33− "devDependencies": {
34− "purescript-assert": "^6.0.0",
35− "purescript-console": "^6.0.0",
36− "purescript-const": "^6.0.0",
37− "purescript-minibench": "^4.0.0"
38− }
39−}
.spago/p/arrays-7.3.0/package.jsondeleted−17
@@ -1,17 +0,0 @@
1−{
2− "private": true,
3− "scripts": {
4− "clean": "rimraf output && rimraf .pulp-cache",
5− "build": "eslint src && pulp build -- --censor-lib --strict",
6− "test": "pulp test",
7− "bench:build": "pulp build --include bench -- --censor-lib --strict",
8− "bench:run": "node --expose-gc -e \"require('./output/Bench.Main/index.js').main()\"",
9− "bench": "npm run bench:build && npm run bench:run"
10− },
11− "devDependencies": {
12− "eslint": "^7.15.0",
13− "pulp": "16.0.0-0",
14− "purescript-psa": "^0.8.2",
15− "rimraf": "^3.0.2"
16− }
17−}
.spago/p/arrays-7.3.0/purs.jsondeleted−25
@@ -1,25 +0,0 @@
1−{
2− "name": "arrays",
3− "version": "7.3.0",
4− "license": "BSD-3-Clause",
5− "location": {
6− "githubOwner": "purescript",
7− "githubRepo": "purescript-arrays"
8− },
9− "dependencies": {
10− "bifunctors": ">=6.0.0 <7.0.0",
11− "control": ">=6.0.0 <7.0.0",
12− "foldable-traversable": ">=6.0.0 <7.0.0",
13− "functions": ">=6.0.0 <7.0.0",
14− "maybe": ">=6.0.0 <7.0.0",
15− "nonempty": ">=7.0.0 <8.0.0",
16− "partial": ">=4.0.0 <5.0.0",
17− "prelude": ">=6.0.0 <7.0.0",
18− "safe-coerce": ">=2.0.0 <3.0.0",
19− "st": ">=6.2.0 <7.0.0",
20− "tailrec": ">=6.0.0 <7.0.0",
21− "tuples": ">=7.0.0 <8.0.0",
22− "unfoldable": ">=6.0.0 <7.0.0",
23− "unsafe-coerce": ">=6.0.0 <7.0.0"
24− }
25−}
.spago/p/arrays-7.3.0/src/Data/Array.jsdeleted−298
@@ -1,298 +0,0 @@
1−//------------------------------------------------------------------------------
2−// Array creation --------------------------------------------------------------
3−//------------------------------------------------------------------------------
4−
5−export const rangeImpl = function (start, end) {
6− var step = start > end ? -1 : 1;
7− var result = new Array(step * (end - start) + 1);
8− var i = start, n = 0;
9− while (i !== end) {
10− result[n++] = i;
11− i += step;
12− }
13− result[n] = i;
14− return result;
15−};
16−
17−var replicateFill = function (count, value) {
18− if (count < 1) {
19− return [];
20− }
21− var result = new Array(count);
22− return result.fill(value);
23−};
24−
25−var replicatePolyfill = function (count, value) {
26− var result = [];
27− var n = 0;
28− for (var i = 0; i < count; i++) {
29− result[n++] = value;
30− }
31− return result;
32−};
33−
34−// In browsers that have Array.prototype.fill we use it, as it's faster.
35−export const replicateImpl = typeof Array.prototype.fill === "function" ? replicateFill : replicatePolyfill;
36−
37−export const fromFoldableImpl = (function () {
38− function Cons(head, tail) {
39− this.head = head;
40− this.tail = tail;
41− }
42− var emptyList = {};
43−
44− function curryCons(head) {
45− return function (tail) {
46− return new Cons(head, tail);
47− };
48− }
49−
50− function listToArray(list) {
51− var result = [];
52− var count = 0;
53− var xs = list;
54− while (xs !== emptyList) {
55− result[count++] = xs.head;
56− xs = xs.tail;
57− }
58− return result;
59− }
60−
61− return function (foldr, xs) {
62− return listToArray(foldr(curryCons)(emptyList)(xs));
63− };
64−})();
65−
66−//------------------------------------------------------------------------------
67−// Array size ------------------------------------------------------------------
68−//------------------------------------------------------------------------------
69−
70−export const length = function (xs) {
71− return xs.length;
72−};
73−
74−//------------------------------------------------------------------------------
75−// Non-indexed reads -----------------------------------------------------------
76−//------------------------------------------------------------------------------
77−
78−export const unconsImpl = function (empty, next, xs) {
79− return xs.length === 0 ? empty({}) : next(xs[0])(xs.slice(1));
80−};
81−
82−//------------------------------------------------------------------------------
83−// Indexed operations ----------------------------------------------------------
84−//------------------------------------------------------------------------------
85−
86−export const indexImpl = function (just, nothing, xs, i) {
87− return i < 0 || i >= xs.length ? nothing : just(xs[i]);
88−};
89−
90−export const findMapImpl = function (nothing, isJust, f, xs) {
91− for (var i = 0; i < xs.length; i++) {
92− var result = f(xs[i]);
93− if (isJust(result)) return result;
94− }
95− return nothing;
96−};
97−
98−export const findIndexImpl = function (just, nothing, f, xs) {
99− for (var i = 0, l = xs.length; i < l; i++) {
100− if (f(xs[i])) return just(i);
101− }
102− return nothing;
103−};
104−
105−export const findLastIndexImpl = function (just, nothing, f, xs) {
106− for (var i = xs.length - 1; i >= 0; i--) {
107− if (f(xs[i])) return just(i);
108− }
109− return nothing;
110−};
111−
112−export const _insertAt = function (just, nothing, i, a, l) {
113− if (i < 0 || i > l.length) return nothing;
114− var l1 = l.slice();
115− l1.splice(i, 0, a);
116− return just(l1);
117−};
118−
119−export const _deleteAt = function (just, nothing, i, l) {
120− if (i < 0 || i >= l.length) return nothing;
121− var l1 = l.slice();
122− l1.splice(i, 1);
123− return just(l1);
124−};
125−
126−export const _updateAt = function (just, nothing, i, a, l) {
127− if (i < 0 || i >= l.length) return nothing;
128− var l1 = l.slice();
129− l1[i] = a;
130− return just(l1);
131−};
132−
133−//------------------------------------------------------------------------------
134−// Transformations -------------------------------------------------------------
135−//------------------------------------------------------------------------------
136−
137−export const reverse = function (l) {
138− return l.slice().reverse();
139−};
140−
141−export const concat = function (xss) {
142− if (xss.length <= 10000) {
143− // This method is faster, but it crashes on big arrays.
144− // So we use it when can and fallback to simple variant otherwise.
145− return Array.prototype.concat.apply([], xss);
146− }
147−
148− var result = [];
149− for (var i = 0, l = xss.length; i < l; i++) {
150− var xs = xss[i];
151− for (var j = 0, m = xs.length; j < m; j++) {
152− result.push(xs[j]);
153− }
154− }
155− return result;
156−};
157−
158−export const filterImpl = function (f, xs) {
159− return xs.filter(f);
160−};
161−
162−export const partitionImpl = function (f, xs) {
163− var yes = [];
164− var no = [];
165− for (var i = 0; i < xs.length; i++) {
166− var x = xs[i];
167− if (f(x))
168− yes.push(x);
169− else
170− no.push(x);
171− }
172− return { yes: yes, no: no };
173−};
174−
175−export const scanlImpl = function (f, b, xs) {
176− var len = xs.length;
177− var acc = b;
178− var out = new Array(len);
179− for (var i = 0; i < len; i++) {
180− acc = f(acc)(xs[i]);
181− out[i] = acc;
182− }
183− return out;
184−};
185−
186−export const scanrImpl = function (f, b, xs) {
187− var len = xs.length;
188− var acc = b;
189− var out = new Array(len);
190− for (var i = len - 1; i >= 0; i--) {
191− acc = f(xs[i])(acc);
192− out[i] = acc;
193− }
194− return out;
195−};
196−
197−//------------------------------------------------------------------------------
198−// Sorting ---------------------------------------------------------------------
199−//------------------------------------------------------------------------------
200−
201−export const sortByImpl = (function () {
202− function mergeFromTo(compare, fromOrdering, xs1, xs2, from, to) {
203− var mid;
204− var i;
205− var j;
206− var k;
207− var x;
208− var y;
209− var c;
210−
211− mid = from + ((to - from) >> 1);
212− if (mid - from > 1) mergeFromTo(compare, fromOrdering, xs2, xs1, from, mid);
213− if (to - mid > 1) mergeFromTo(compare, fromOrdering, xs2, xs1, mid, to);
214−
215− i = from;
216− j = mid;
217− k = from;
218− while (i < mid && j < to) {
219− x = xs2[i];
220− y = xs2[j];
221− c = fromOrdering(compare(x)(y));
222− if (c > 0) {
223− xs1[k++] = y;
224− ++j;
225− }
226− else {
227− xs1[k++] = x;
228− ++i;
229− }
230− }
231− while (i < mid) {
232− xs1[k++] = xs2[i++];
233− }
234− while (j < to) {
235− xs1[k++] = xs2[j++];
236− }
237− }
238−
239− return function (compare, fromOrdering, xs) {
240− var out;
241−
242− if (xs.length < 2) return xs;
243−
244− out = xs.slice(0);
245− mergeFromTo(compare, fromOrdering, out, xs.slice(0), 0, xs.length);
246−
247− return out;
248− };
249−})();
250−
251−//------------------------------------------------------------------------------
252−// Subarrays -------------------------------------------------------------------
253−//------------------------------------------------------------------------------
254−
255−export const sliceImpl = function (s, e, l) {
256− return l.slice(s, e);
257−};
258−
259−//------------------------------------------------------------------------------
260−// Zipping ---------------------------------------------------------------------
261−//------------------------------------------------------------------------------
262−
263−export const zipWithImpl = function (f, xs, ys) {
264− var l = xs.length < ys.length ? xs.length : ys.length;
265− var result = new Array(l);
266− for (var i = 0; i < l; i++) {
267− result[i] = f(xs[i])(ys[i]);
268− }
269− return result;
270−};
271−
272−//------------------------------------------------------------------------------
273−// Folding ---------------------------------------------------------------------
274−//------------------------------------------------------------------------------
275−
276−export const anyImpl = function (p, xs) {
277− var len = xs.length;
278− for (var i = 0; i < len; i++) {
279− if (p(xs[i])) return true;
280− }
281− return false;
282−};
283−
284−export const allImpl = function (p, xs) {
285− var len = xs.length;
286− for (var i = 0; i < len; i++) {
287− if (!p(xs[i])) return false;
288− }
289− return true;
290−};
291−
292−//------------------------------------------------------------------------------
293−// Partial ---------------------------------------------------------------------
294−//------------------------------------------------------------------------------
295−
296−export const unsafeIndexImpl = function (xs, n) {
297− return xs[n];
298−};
.spago/p/arrays-7.3.0/src/Data/Array.pursdeleted−1371
@@ -1,1371 +0,0 @@
1−-- | Helper functions for working with immutable Javascript arrays.
2−-- |
3−-- | _Note_: Depending on your use-case, you may prefer to use `Data.List` or
4−-- | `Data.Sequence` instead, which might give better performance for certain
5−-- | use cases. This module is useful when integrating with JavaScript libraries
6−-- | which use arrays, but immutable arrays are not a practical data structure
7−-- | for many use cases due to their poor asymptotics.
8−-- |
9−-- | In addition to the functions in this module, Arrays have a number of
10−-- | useful instances:
11−-- |
12−-- | * `Functor`, which provides `map :: forall a b. (a -> b) -> Array a ->
13−-- | Array b`
14−-- | * `Apply`, which provides `(<*>) :: forall a b. Array (a -> b) -> Array a
15−-- | -> Array b`. This function works a bit like a Cartesian product; the
16−-- | result array is constructed by applying each function in the first
17−-- | array to each value in the second, so that the result array ends up with
18−-- | a length equal to the product of the two arguments' lengths.
19−-- | * `Bind`, which provides `(>>=) :: forall a b. (a -> Array b) -> Array a
20−-- | -> Array b` (this is the same as `concatMap`).
21−-- | * `Semigroup`, which provides `(<>) :: forall a. Array a -> Array a ->
22−-- | Array a`, for concatenating arrays.
23−-- | * `Foldable`, which provides a slew of functions for *folding* (also known
24−-- | as *reducing*) arrays down to one value. For example,
25−-- | `Data.Foldable.or` tests whether an array of `Boolean` values contains
26−-- | at least one `true` value.
27−-- | * `Traversable`, which provides the PureScript version of a for-loop,
28−-- | allowing you to STAI.iterate over an array and accumulate effects.
29−-- |
30−module Data.Array
31− ( fromFoldable
32− , toUnfoldable
33− , singleton
34− , (..)
35− , range
36− , replicate
37− , some
38− , many
39−
40− , null
41− , length
42−
43− , (:)
44− , cons
45− , snoc
46− , insert
47− , insertBy
48−
49− , head
50− , last
51− , tail
52− , init
53− , uncons
54− , unsnoc
55−
56− , (!!)
57− , index
58− , elem
59− , notElem
60− , elemIndex
61− , elemLastIndex
62− , find
63− , findMap
64− , findIndex
65− , findLastIndex
66− , insertAt
67− , deleteAt
68− , updateAt
69− , updateAtIndices
70− , modifyAt
71− , modifyAtIndices
72− , alterAt
73−
74− , intersperse
75− , reverse
76− , concat
77− , concatMap
78− , filter
79− , partition
80− , splitAt
81− , filterA
82− , mapMaybe
83− , catMaybes
84− , mapWithIndex
85− , foldl
86− , foldr
87− , foldMap
88− , fold
89− , intercalate
90− , transpose
91− , scanl
92− , scanr
93−
94− , sort
95− , sortBy
96− , sortWith
97− , slice
98− , take
99− , takeEnd
100− , takeWhile
101− , drop
102− , dropEnd
103− , dropWhile
104− , span
105− , group
106− , groupAll
107− , groupBy
108− , groupAllBy
109−
110− , nub
111− , nubEq
112− , nubBy
113− , nubByEq
114− , union
115− , unionBy
116− , delete
117− , deleteBy
118−
119− , (\\)
120− , difference
121− , intersect
122− , intersectBy
123−
124− , zipWith
125− , zipWithA
126− , zip
127− , unzip
128−
129− , any
130− , all
131−
132− , foldM
133− , foldRecM
134−
135− , unsafeIndex
136− ) where
137−
138−import Prelude
139−
140−import Control.Alt ((<|>))
141−import Control.Alternative (class Alternative)
142−import Control.Lazy (class Lazy, defer)
143−import Control.Monad.Rec.Class (class MonadRec, Step(..), tailRecM2)
144−import Control.Monad.ST as ST
145−import Data.Array.NonEmpty.Internal (NonEmptyArray(..))
146−import Data.Array.ST as STA
147−import Data.Array.ST.Iterator as STAI
148−import Data.Foldable (class Foldable, traverse_)
149−import Data.Foldable as F
150−import Data.Function.Uncurried (Fn2, Fn3, Fn4, Fn5, runFn2, runFn3, runFn4, runFn5)
151−import Data.FunctorWithIndex as FWI
152−import Data.Maybe (Maybe(..), maybe, isJust, fromJust, isNothing)
153−import Data.Traversable (sequence, traverse)
154−import Data.Tuple (Tuple(..), fst, snd)
155−import Data.Unfoldable (class Unfoldable, unfoldr)
156−import Partial.Unsafe (unsafePartial)
157−
158−-- | Convert an `Array` into an `Unfoldable` structure.
159−toUnfoldable :: forall f. Unfoldable f => Array ~> f
160−toUnfoldable xs = unfoldr f 0
161− where
162− len = length xs
163− f i
164− | i < len = Just (Tuple (unsafePartial (unsafeIndex xs i)) (i + 1))
165− | otherwise = Nothing
166−
167−-- | Convert a `Foldable` structure into an `Array`.
168−-- |
169−-- | ```purescript
170−-- | fromFoldable (Just 1) = [1]
171−-- | fromFoldable (Nothing) = []
172−-- | ```
173−-- |
174−fromFoldable :: forall f. Foldable f => f ~> Array
175−fromFoldable = runFn2 fromFoldableImpl F.foldr
176−
177−foreign import fromFoldableImpl
178− :: forall f a
179− . Fn2 (forall b. (a -> b -> b) -> b -> f a -> b) (f a) (Array a)
180−
181−-- | Create an array of one element
182−-- | ```purescript
183−-- | singleton 2 = [2]
184−-- | ```
185−singleton :: forall a. a -> Array a
186−singleton a = [ a ]
187−
188−-- | Create an array containing a range of integers, including both endpoints.
189−-- | ```purescript
190−-- | range 2 5 = [2, 3, 4, 5]
191−-- | ```
192−range :: Int -> Int -> Array Int
193−range = runFn2 rangeImpl
194−
195−foreign import rangeImpl :: Fn2 Int Int (Array Int)
196−
197−-- | Create an array containing a value repeated the specified number of times.
198−-- | ```purescript
199−-- | replicate 2 "Hi" = ["Hi", "Hi"]
200−-- | ```
201−replicate :: forall a. Int -> a -> Array a
202−replicate = runFn2 replicateImpl
203−
204−foreign import replicateImpl :: forall a. Fn2 Int a (Array a)
205−
206−-- | An infix synonym for `range`.
207−-- | ```purescript
208−-- | 2 .. 5 = [2, 3, 4, 5]
209−-- | ```
210−infix 8 range as ..
211−
212−-- | Attempt a computation multiple times, requiring at least one success.
213−-- |
214−-- | The `Lazy` constraint is used to generate the result lazily, to ensure
215−-- | termination.
216−some :: forall f a. Alternative f => Lazy (f (Array a)) => f a -> f (Array a)
217−some v = (:) <$> v <*> defer (\_ -> many v)
218−
219−-- | Attempt a computation multiple times, returning as many successful results
220−-- | as possible (possibly zero).
221−-- |
222−-- | The `Lazy` constraint is used to generate the result lazily, to ensure
223−-- | termination.
224−many :: forall f a. Alternative f => Lazy (f (Array a)) => f a -> f (Array a)
225−many v = some v <|> pure []
226−
227−--------------------------------------------------------------------------------
228−-- Array size ------------------------------------------------------------------
229−--------------------------------------------------------------------------------
230−
231−-- | Test whether an array is empty.
232−-- | ```purescript
233−-- | null [] = true
234−-- | null [1, 2] = false
235−-- | ```
236−null :: forall a. Array a -> Boolean
237−null xs = length xs == 0
238−
239−-- | Get the number of elements in an array.
240−-- | ```purescript
241−-- | length ["Hello", "World"] = 2
242−-- | ```
243−foreign import length :: forall a. Array a -> Int
244−
245−--------------------------------------------------------------------------------
246−-- Extending arrays ------------------------------------------------------------
247−--------------------------------------------------------------------------------
248−
249−-- | Attaches an element to the front of an array, creating a new array.
250−-- |
251−-- | ```purescript
252−-- | cons 1 [2, 3, 4] = [1, 2, 3, 4]
253−-- | ```
254−-- |
255−-- | Note, the running time of this function is `O(n)`.
256−cons :: forall a. a -> Array a -> Array a
257−cons x xs = [ x ] <> xs
258−
259−-- | An infix alias for `cons`.
260−-- |
261−-- | ```purescript
262−-- | 1 : [2, 3, 4] = [1, 2, 3, 4]
263−-- | ```
264−-- |
265−-- | Note, the running time of this function is `O(n)`.
266−infixr 6 cons as :
267−
268−-- | Append an element to the end of an array, creating a new array.
269−-- |
270−-- | ```purescript
271−-- | snoc [1, 2, 3] 4 = [1, 2, 3, 4]
272−-- | ```
273−-- |
274−snoc :: forall a. Array a -> a -> Array a
275−snoc xs x = ST.run (STA.withArray (STA.push x) xs)
276−
277−-- | Insert an element into a sorted array.
278−-- |
279−-- | ```purescript
280−-- | insert 10 [1, 2, 20, 21] = [1, 2, 10, 20, 21]
281−-- | ```
282−-- |
283−insert :: forall a. Ord a => a -> Array a -> Array a
284−insert = insertBy compare
285−
286−-- | Insert an element into a sorted array, using the specified function to
287−-- | determine the ordering of elements.
288−-- |
289−-- | ```purescript
290−-- | invertCompare a b = invert $ compare a b
291−-- |
292−-- | insertBy invertCompare 10 [21, 20, 2, 1] = [21, 20, 10, 2, 1]
293−-- | ```
294−-- |
295−insertBy :: forall a. (a -> a -> Ordering) -> a -> Array a -> Array a
296−insertBy cmp x ys =
297− let
298− i = maybe 0 (_ + 1) (findLastIndex (\y -> cmp x y == GT) ys)
299− in
300− unsafePartial (fromJust (insertAt i x ys))
301−
302−--------------------------------------------------------------------------------
303−-- Non-indexed reads -----------------------------------------------------------
304−--------------------------------------------------------------------------------
305−
306−-- | Get the first element in an array, or `Nothing` if the array is empty
307−-- |
308−-- | Running time: `O(1)`.
309−-- |
310−-- | ```purescript
311−-- | head [1, 2] = Just 1
312−-- | head [] = Nothing
313−-- | ```
314−-- |
315−head :: forall a. Array a -> Maybe a
316−head xs = xs !! 0
317−
318−-- | Get the last element in an array, or `Nothing` if the array is empty
319−-- |
320−-- | Running time: `O(1)`.
321−-- |
322−-- | ```purescript
323−-- | last [1, 2] = Just 2
324−-- | last [] = Nothing
325−-- | ```
326−-- |
327−last :: forall a. Array a -> Maybe a
328−last xs = xs !! (length xs - 1)
329−
330−-- | Get all but the first element of an array, creating a new array, or
331−-- | `Nothing` if the array is empty
332−-- |
333−-- | ```purescript
334−-- | tail [1, 2, 3, 4] = Just [2, 3, 4]
335−-- | tail [] = Nothing
336−-- | ```
337−-- |
338−-- | Running time: `O(n)` where `n` is the length of the array
339−tail :: forall a. Array a -> Maybe (Array a)
340−tail = runFn3 unconsImpl (const Nothing) (\_ xs -> Just xs)
341−
342−-- | Get all but the last element of an array, creating a new array, or
343−-- | `Nothing` if the array is empty.
344−-- |
345−-- | ```purescript
346−-- | init [1, 2, 3, 4] = Just [1, 2, 3]
347−-- | init [] = Nothing
348−-- | ```
349−-- |
350−-- | Running time: `O(n)` where `n` is the length of the array
351−init :: forall a. Array a -> Maybe (Array a)
352−init xs
353− | null xs = Nothing
354− | otherwise = Just (slice zero (length xs - one) xs)
355−
356−-- | Break an array into its first element and remaining elements.
357−-- |
358−-- | Using `uncons` provides a way of writing code that would use cons patterns
359−-- | in Haskell or pre-PureScript 0.7:
360−-- | ``` purescript
361−-- | f (x : xs) = something
362−-- | f [] = somethingElse
363−-- | ```
364−-- | Becomes:
365−-- | ``` purescript
366−-- | f arr = case uncons arr of
367−-- | Just { head: x, tail: xs } -> something
368−-- | Nothing -> somethingElse
369−-- | ```
370−uncons :: forall a. Array a -> Maybe { head :: a, tail :: Array a }
371−uncons = runFn3 unconsImpl (const Nothing) \x xs -> Just { head: x, tail: xs }
372−
373−foreign import unconsImpl
374− :: forall a b
375− . Fn3 (Unit -> b) (a -> Array a -> b) (Array a) b
376−
377−-- | Break an array into its last element and all preceding elements.
378−-- |
379−-- | ```purescript
380−-- | unsnoc [1, 2, 3] = Just {init: [1, 2], last: 3}
381−-- | unsnoc [] = Nothing
382−-- | ```
383−-- |
384−-- | Running time: `O(n)` where `n` is the length of the array
385−unsnoc :: forall a. Array a -> Maybe { init :: Array a, last :: a }
386−unsnoc xs = { init: _, last: _ } <$> init xs <*> last xs
387−
388−--------------------------------------------------------------------------------
389−-- Indexed operations ----------------------------------------------------------
390−--------------------------------------------------------------------------------
391−
392−-- | This function provides a safe way to read a value at a particular index
393−-- | from an array.
394−-- |
395−-- | ```purescript
396−-- | sentence = ["Hello", "World", "!"]
397−-- |
398−-- | index sentence 0 = Just "Hello"
399−-- | index sentence 7 = Nothing
400−-- | ```
401−-- |
402−index :: forall a. Array a -> Int -> Maybe a
403−index = runFn4 indexImpl Just Nothing
404−
405−foreign import indexImpl
406− :: forall a
407− . Fn4 (forall r. r -> Maybe r) (forall r. Maybe r) (Array a) Int (Maybe a)
408−
409−-- | An infix version of `index`.
410−-- |
411−-- | ```purescript
412−-- | sentence = ["Hello", "World", "!"]
413−-- |
414−-- | sentence !! 0 = Just "Hello"
415−-- | sentence !! 7 = Nothing
416−-- | ```
417−-- |
418−infixl 8 index as !!
419−
420−-- | Returns true if the array has the given element.
421−elem :: forall a. Eq a => a -> Array a -> Boolean
422−elem a arr = isJust $ elemIndex a arr
423−
424−-- | Returns true if the array does not have the given element.
425−notElem :: forall a. Eq a => a -> Array a -> Boolean
426−notElem a arr = isNothing $ elemIndex a arr
427−
428−-- | Find the index of the first element equal to the specified element.
429−-- |
430−-- | ```purescript
431−-- | elemIndex "a" ["a", "b", "a", "c"] = Just 0
432−-- | elemIndex "Earth" ["Hello", "World", "!"] = Nothing
433−-- | ```
434−-- |
435−elemIndex :: forall a. Eq a => a -> Array a -> Maybe Int
436−elemIndex x = findIndex (_ == x)
437−
438−-- | Find the index of the last element equal to the specified element.
439−-- |
440−-- | ```purescript
441−-- | elemLastIndex "a" ["a", "b", "a", "c"] = Just 2
442−-- | elemLastIndex "Earth" ["Hello", "World", "!"] = Nothing
443−-- | ```
444−-- |
445−elemLastIndex :: forall a. Eq a => a -> Array a -> Maybe Int
446−elemLastIndex x = findLastIndex (_ == x)
447−
448−-- | Find the first element for which a predicate holds.
449−-- |
450−-- | ```purescript
451−-- | find (contains $ Pattern "b") ["a", "bb", "b", "d"] = Just "bb"
452−-- | find (contains $ Pattern "x") ["a", "bb", "b", "d"] = Nothing
453−-- | ```
454−find :: forall a. (a -> Boolean) -> Array a -> Maybe a
455−find f xs = unsafePartial (unsafeIndex xs) <$> findIndex f xs
456−
457−-- | Find the first element in a data structure which satisfies
458−-- | a predicate mapping.
459−findMap :: forall a b. (a -> Maybe b) -> Array a -> Maybe b
460−findMap = runFn4 findMapImpl Nothing isJust
461−
462−foreign import findMapImpl
463− :: forall a b
464− . Fn4
465− (forall c. Maybe c)
466− (forall c. Maybe c -> Boolean)
467− (a -> Maybe b)
468− (Array a)
469− (Maybe b)
470−
471−-- | Find the first index for which a predicate holds.
472−-- |
473−-- | ```purescript
474−-- | findIndex (contains $ Pattern "b") ["a", "bb", "b", "d"] = Just 1
475−-- | findIndex (contains $ Pattern "x") ["a", "bb", "b", "d"] = Nothing
476−-- | ```
477−-- |
478−findIndex :: forall a. (a -> Boolean) -> Array a -> Maybe Int
479−findIndex = runFn4 findIndexImpl Just Nothing
480−
481−foreign import findIndexImpl
482− :: forall a
483− . Fn4
484− (forall b. b -> Maybe b)
485− (forall b. Maybe b)
486− (a -> Boolean)
487− (Array a)
488− (Maybe Int)
489−
490−-- | Find the last index for which a predicate holds.
491−-- |
492−-- | ```purescript
493−-- | findLastIndex (contains $ Pattern "b") ["a", "bb", "b", "d"] = Just 2
494−-- | findLastIndex (contains $ Pattern "x") ["a", "bb", "b", "d"] = Nothing
495−-- | ```
496−-- |
497−findLastIndex :: forall a. (a -> Boolean) -> Array a -> Maybe Int
498−findLastIndex = runFn4 findLastIndexImpl Just Nothing
499−
500−foreign import findLastIndexImpl
501− :: forall a
502− . Fn4
503− (forall b. b -> Maybe b)
504− (forall b. Maybe b)
505− (a -> Boolean)
506− (Array a)
507− (Maybe Int)
508−
509−-- | Insert an element at the specified index, creating a new array, or
510−-- | returning `Nothing` if the index is out of bounds.
511−-- |
512−-- | ```purescript
513−-- | insertAt 2 "!" ["Hello", "World"] = Just ["Hello", "World", "!"]
514−-- | insertAt 10 "!" ["Hello"] = Nothing
515−-- | ```
516−-- |
517−insertAt :: forall a. Int -> a -> Array a -> Maybe (Array a)
518−insertAt = runFn5 _insertAt Just Nothing
519−
520−foreign import _insertAt
521− :: forall a
522− . Fn5
523− (forall b. b -> Maybe b)
524− (forall b. Maybe b)
525− Int
526− a
527− (Array a)
528− (Maybe (Array a))
529−
530−-- | Delete the element at the specified index, creating a new array, or
531−-- | returning `Nothing` if the index is out of bounds.
532−-- |
533−-- | ```purescript
534−-- | deleteAt 0 ["Hello", "World"] = Just ["World"]
535−-- | deleteAt 10 ["Hello", "World"] = Nothing
536−-- | ```
537−-- |
538−deleteAt :: forall a. Int -> Array a -> Maybe (Array a)
539−deleteAt = runFn4 _deleteAt Just Nothing
540−
541−foreign import _deleteAt
542− :: forall a
543− . Fn4
544− (forall b. b -> Maybe b)
545− (forall b. Maybe b)
546− Int
547− (Array a)
548− (Maybe (Array a))
549−
550−-- | Change the element at the specified index, creating a new array, or
551−-- | returning `Nothing` if the index is out of bounds.
552−-- |
553−-- | ```purescript
554−-- | updateAt 1 "World" ["Hello", "Earth"] = Just ["Hello", "World"]
555−-- | updateAt 10 "World" ["Hello", "Earth"] = Nothing
556−-- | ```
557−-- |
558−updateAt :: forall a. Int -> a -> Array a -> Maybe (Array a)
559−updateAt = runFn5 _updateAt Just Nothing
560−
561−foreign import _updateAt
562− :: forall a
563− . Fn5
564− (forall b. b -> Maybe b)
565− (forall b. Maybe b)
566− Int
567− a
568− (Array a)
569− (Maybe (Array a))
570−
571−-- | Apply a function to the element at the specified index, creating a new
572−-- | array, or returning `Nothing` if the index is out of bounds.
573−-- |
574−-- | ```purescript
575−-- | modifyAt 1 toUpper ["Hello", "World"] = Just ["Hello", "WORLD"]
576−-- | modifyAt 10 toUpper ["Hello", "World"] = Nothing
577−-- | ```
578−-- |
579−modifyAt :: forall a. Int -> (a -> a) -> Array a -> Maybe (Array a)
580−modifyAt i f xs = maybe Nothing go (xs !! i)
581− where
582− go x = updateAt i (f x) xs
583−
584−-- | Update or delete the element at the specified index by applying a
585−-- | function to the current value, returning a new array or `Nothing` if the
586−-- | index is out-of-bounds.
587−-- |
588−-- | ```purescript
589−-- | alterAt 1 (stripSuffix $ Pattern "!") ["Hello", "World!"]
590−-- | = Just ["Hello", "World"]
591−-- |
592−-- | alterAt 1 (stripSuffix $ Pattern "!!!!!") ["Hello", "World!"]
593−-- | = Just ["Hello"]
594−-- |
595−-- | alterAt 10 (stripSuffix $ Pattern "!") ["Hello", "World!"] = Nothing
596−-- | ```
597−-- |
598−alterAt :: forall a. Int -> (a -> Maybe a) -> Array a -> Maybe (Array a)
599−alterAt i f xs = maybe Nothing go (xs !! i)
600− where
601− go x = case f x of
602− Nothing -> deleteAt i xs
603− Just x' -> updateAt i x' xs
604−
605−--------------------------------------------------------------------------------
606−-- Transformations -------------------------------------------------------------
607−--------------------------------------------------------------------------------
608−
609−-- | Inserts the given element in between each element in the array. The array
610−-- | must have two or more elements for this operation to take effect.
611−-- |
612−-- | ```purescript
613−-- | intersperse " " [ "a", "b" ] == [ "a", " ", "b" ]
614−-- | intersperse 0 [ 1, 2, 3, 4, 5 ] == [ 1, 0, 2, 0, 3, 0, 4, 0, 5 ]
615−-- | ```
616−-- |
617−-- | If the array has less than two elements, the input array is returned.
618−-- | ```purescript
619−-- | intersperse " " [] == []
620−-- | intersperse " " ["a"] == ["a"]
621−-- | ```
622−intersperse :: forall a. a -> Array a -> Array a
623−intersperse a arr = case length arr of
624− len
625− | len < 2 -> arr
626− | otherwise -> STA.run do
627− let unsafeGetElem idx = unsafePartial (unsafeIndex arr idx)
628− out <- STA.new
629− _ <- STA.push (unsafeGetElem 0) out
630− ST.for 1 len \idx -> do
631− _ <- STA.push a out
632− void (STA.push (unsafeGetElem idx) out)
633− pure out
634−
635−-- | Reverse an array, creating a new array.
636−-- |
637−-- | ```purescript
638−-- | reverse [] = []
639−-- | reverse [1, 2, 3] = [3, 2, 1]
640−-- | ```
641−-- |
642−foreign import reverse :: forall a. Array a -> Array a
643−
644−-- | Flatten an array of arrays, creating a new array.
645−-- |
646−-- | ```purescript
647−-- | concat [[1, 2, 3], [], [4, 5, 6]] = [1, 2, 3, 4, 5, 6]
648−-- | ```
649−-- |
650−foreign import concat :: forall a. Array (Array a) -> Array a
651−
652−-- | Apply a function to each element in an array, and flatten the results
653−-- | into a single, new array.
654−-- |
655−-- | ```purescript
656−-- | concatMap (split $ Pattern " ") ["Hello World", "other thing"]
657−-- | = ["Hello", "World", "other", "thing"]
658−-- | ```
659−-- |
660−concatMap :: forall a b. (a -> Array b) -> Array a -> Array b
661−concatMap = flip bind
662−
663−-- | Filter an array, keeping the elements which satisfy a predicate function,
664−-- | creating a new array.
665−-- |
666−-- | ```purescript
667−-- | filter (_ > 0) [-1, 4, -5, 7] = [4, 7]
668−-- | ```
669−-- |
670−filter :: forall a. (a -> Boolean) -> Array a -> Array a
671−filter = runFn2 filterImpl
672−
673−foreign import filterImpl
674− :: forall a
675− . Fn2 (a -> Boolean) (Array a) (Array a)
676−
677−-- | Partition an array using a predicate function, creating a set of
678−-- | new arrays. One for the values satisfying the predicate function
679−-- | and one for values that don't.
680−-- |
681−-- | ```purescript
682−-- | partition (_ > 0) [-1, 4, -5, 7] = { yes: [4, 7], no: [-1, -5] }
683−-- | ```
684−-- |
685−partition
686− :: forall a
687− . (a -> Boolean)
688− -> Array a
689− -> { yes :: Array a, no :: Array a }
690−partition = runFn2 partitionImpl
691−
692−foreign import partitionImpl
693− :: forall a
694− . Fn2 (a -> Boolean) (Array a) { yes :: Array a, no :: Array a }
695−
696−-- | Splits an array into two subarrays, where `before` contains the elements
697−-- | up to (but not including) the given index, and `after` contains the rest
698−-- | of the elements, from that index on.
699−-- |
700−-- | ```purescript
701−-- | >>> splitAt 3 [1, 2, 3, 4, 5]
702−-- | { before: [1, 2, 3], after: [4, 5] }
703−-- | ```
704−-- |
705−-- | Thus, the length of `(splitAt i arr).before` will equal either `i` or
706−-- | `length arr`, if that is shorter. (Or if `i` is negative the length will
707−-- | be 0.)
708−-- |
709−-- | ```purescript
710−-- | splitAt 2 ([] :: Array Int) == { before: [], after: [] }
711−-- | splitAt 3 [1, 2, 3, 4, 5] == { before: [1, 2, 3], after: [4, 5] }
712−-- | ```
713−splitAt :: forall a. Int -> Array a -> { before :: Array a, after :: Array a }
714−splitAt i xs | i <= 0 = { before: [], after: xs }
715−splitAt i xs = { before: slice 0 i xs, after: slice i (length xs) xs }
716−
717−-- | Filter where the predicate returns a `Boolean` in some `Applicative`.
718−-- |
719−-- | ```purescript
720−-- | powerSet :: forall a. Array a -> Array (Array a)
721−-- | powerSet = filterA (const [true, false])
722−-- | ```
723−filterA :: forall a f. Applicative f => (a -> f Boolean) -> Array a -> f (Array a)
724−filterA p =
725− traverse (\x -> Tuple x <$> p x)
726− >>> map (mapMaybe (\(Tuple x b) -> if b then Just x else Nothing))
727−
728−-- | Apply a function to each element in an array, keeping only the results
729−-- | which contain a value, creating a new array.
730−-- |
731−-- | ```purescript
732−-- | parseEmail :: String -> Maybe Email
733−-- | parseEmail = ...
734−-- |
735−-- | mapMaybe parseEmail ["a.com", "hello@example.com", "--"]
736−-- | = [Email {user: "hello", domain: "example.com"}]
737−-- | ```
738−-- |
739−mapMaybe :: forall a b. (a -> Maybe b) -> Array a -> Array b
740−mapMaybe f = concatMap (maybe [] singleton <<< f)
741−
742−-- | Filter an array of optional values, keeping only the elements which contain
743−-- | a value, creating a new array.
744−-- |
745−-- | ```purescript
746−-- | catMaybes [Nothing, Just 2, Nothing, Just 4] = [2, 4]
747−-- | ```
748−-- |
749−catMaybes :: forall a. Array (Maybe a) -> Array a
750−catMaybes = mapMaybe identity
751−
752−-- | Apply a function to each element in an array, supplying a generated
753−-- | zero-based index integer along with the element, creating an array
754−-- | with the new elements.
755−-- |
756−-- | ```purescript
757−-- | prefixIndex index element = show index <> element
758−-- |
759−-- | mapWithIndex prefixIndex ["Hello", "World"] = ["0Hello", "1World"]
760−-- | ```
761−-- |
762−mapWithIndex :: forall a b. (Int -> a -> b) -> Array a -> Array b
763−mapWithIndex = FWI.mapWithIndex
764−
765−-- | Change the elements at the specified indices in index/value pairs.
766−-- | Out-of-bounds indices will have no effect.
767−-- |
768−-- | ```purescript
769−-- | updates = [Tuple 0 "Hi", Tuple 2 "." , Tuple 10 "foobar"]
770−-- |
771−-- | updateAtIndices updates ["Hello", "World", "!"] = ["Hi", "World", "."]
772−-- | ```
773−-- |
774−updateAtIndices :: forall t a. Foldable t => t (Tuple Int a) -> Array a -> Array a
775−updateAtIndices us xs =
776− ST.run (STA.withArray (\res -> traverse_ (\(Tuple i a) -> STA.poke i a res) us) xs)
777−
778−-- | Apply a function to the element at the specified indices,
779−-- | creating a new array. Out-of-bounds indices will have no effect.
780−-- |
781−-- | ```purescript
782−-- | indices = [1, 3]
783−-- | modifyAtIndices indices toUpper ["Hello", "World", "and", "others"]
784−-- | = ["Hello", "WORLD", "and", "OTHERS"]
785−-- | ```
786−-- |
787−modifyAtIndices :: forall t a. Foldable t => t Int -> (a -> a) -> Array a -> Array a
788−modifyAtIndices is f xs =
789− ST.run (STA.withArray (\res -> traverse_ (\i -> STA.modify i f res) is) xs)
790−
791−foldl :: forall a b. (b -> a -> b) -> b -> Array a -> b
792−foldl = F.foldl
793−
794−foldr :: forall a b. (a -> b -> b) -> b -> Array a -> b
795−foldr = F.foldr
796−
797−foldMap :: forall a m. Monoid m => (a -> m) -> Array a -> m
798−foldMap = F.foldMap
799−
800−fold :: forall m. Monoid m => Array m -> m
801−fold = F.fold
802−
803−intercalate :: forall a. Monoid a => a -> Array a -> a
804−intercalate = F.intercalate
805−
806−-- | The 'transpose' function transposes the rows and columns of its argument.
807−-- | For example,
808−-- |
809−-- | ```purescript
810−-- | transpose
811−-- | [ [1, 2, 3]
812−-- | , [4, 5, 6]
813−-- | ] ==
814−-- | [ [1, 4]
815−-- | , [2, 5]
816−-- | , [3, 6]
817−-- | ]
818−-- | ```
819−-- |
820−-- | If some of the rows are shorter than the following rows, their elements are skipped:
821−-- |
822−-- | ```purescript
823−-- | transpose
824−-- | [ [10, 11]
825−-- | , [20]
826−-- | , [30, 31, 32]
827−-- | ] ==
828−-- | [ [10, 20, 30]
829−-- | , [11, 31]
830−-- | , [32]
831−-- | ]
832−-- | ```
833−transpose :: forall a. Array (Array a) -> Array (Array a)
834−transpose xs = go 0 []
835− where
836− go :: Int -> Array (Array a) -> Array (Array a)
837− go idx allArrays = case buildNext idx of
838− Nothing -> allArrays
839− Just next -> go (idx + 1) (snoc allArrays next)
840−
841− buildNext :: Int -> Maybe (Array a)
842− buildNext idx = do
843− xs # flip foldl Nothing \acc nextArr -> do
844− maybe acc (\el -> Just $ maybe [ el ] (flip snoc el) acc) $ index nextArr idx
845−
846−-- | Fold a data structure from the left, keeping all intermediate results
847−-- | instead of only the final result. Note that the initial value does not
848−-- | appear in the result (unlike Haskell's `Prelude.scanl`).
849−-- |
850−-- | ```
851−-- | scanl (+) 0 [1,2,3] = [1,3,6]
852−-- | scanl (-) 10 [1,2,3] = [9,7,4]
853−-- | ```
854−scanl :: forall a b. (b -> a -> b) -> b -> Array a -> Array b
855−scanl = runFn3 scanlImpl
856−
857−foreign import scanlImpl :: forall a b. Fn3 (b -> a -> b) b (Array a) (Array b)
858−
859−-- | Fold a data structure from the right, keeping all intermediate results
860−-- | instead of only the final result. Note that the initial value does not
861−-- | appear in the result (unlike Haskell's `Prelude.scanr`).
862−-- |
863−-- | ```
864−-- | scanr (+) 0 [1,2,3] = [6,5,3]
865−-- | scanr (flip (-)) 10 [1,2,3] = [4,5,7]
866−-- | ```
867−scanr :: forall a b. (a -> b -> b) -> b -> Array a -> Array b
868−scanr = runFn3 scanrImpl
869−
870−foreign import scanrImpl :: forall a b. Fn3 (a -> b -> b) b (Array a) (Array b)
871−
872−--------------------------------------------------------------------------------
873−-- Sorting ---------------------------------------------------------------------
874−--------------------------------------------------------------------------------
875−
876−-- | Sort the elements of an array in increasing order, creating a new array.
877−-- | Sorting is stable: the order of equal elements is preserved.
878−-- |
879−-- | ```purescript
880−-- | sort [2, -3, 1] = [-3, 1, 2]
881−-- | ```
882−-- |
883−sort :: forall a. Ord a => Array a -> Array a
884−sort xs = sortBy compare xs
885−
886−-- | Sort the elements of an array in increasing order, where elements are
887−-- | compared using the specified partial ordering, creating a new array.
888−-- | Sorting is stable: the order of elements is preserved if they are equal
889−-- | according to the specified partial ordering.
890−-- |
891−-- | ```purescript
892−-- | compareLength a b = compare (length a) (length b)
893−-- | sortBy compareLength [[1, 2, 3], [7, 9], [-2]] = [[-2],[7,9],[1,2,3]]
894−-- | ```
895−-- |
896−sortBy :: forall a. (a -> a -> Ordering) -> Array a -> Array a
897−sortBy comp = runFn3 sortByImpl comp case _ of
898− GT -> 1
899− EQ -> 0
900− LT -> -1
901−
902−-- | Sort the elements of an array in increasing order, where elements are
903−-- | sorted based on a projection. Sorting is stable: the order of elements is
904−-- | preserved if they are equal according to the projection.
905−-- |
906−-- | ```purescript
907−-- | sortWith (_.age) [{name: "Alice", age: 42}, {name: "Bob", age: 21}]
908−-- | = [{name: "Bob", age: 21}, {name: "Alice", age: 42}]
909−-- | ```
910−-- |
911−sortWith :: forall a b. Ord b => (a -> b) -> Array a -> Array a
912−sortWith f = sortBy (comparing f)
913−
914−foreign import sortByImpl :: forall a. Fn3 (a -> a -> Ordering) (Ordering -> Int) (Array a) (Array a)
915−
916−--------------------------------------------------------------------------------
917−-- Subarrays -------------------------------------------------------------------
918−--------------------------------------------------------------------------------
919−
920−-- | Extract a subarray by a start and end index.
921−-- |
922−-- | ```purescript
923−-- | letters = ["a", "b", "c"]
924−-- | slice 1 3 letters = ["b", "c"]
925−-- | slice 5 7 letters = []
926−-- | slice 4 1 letters = []
927−-- | ```
928−-- |
929−slice :: forall a. Int -> Int -> Array a -> Array a
930−slice = runFn3 sliceImpl
931−
932−foreign import sliceImpl :: forall a. Fn3 Int Int (Array a) (Array a)
933−
934−-- | Keep only a number of elements from the start of an array, creating a new
935−-- | array.
936−-- |
937−-- | ```purescript
938−-- | letters = ["a", "b", "c"]
939−-- |
940−-- | take 2 letters = ["a", "b"]
941−-- | take 100 letters = ["a", "b", "c"]
942−-- | ```
943−-- |
944−take :: forall a. Int -> Array a -> Array a
945−take n xs = if n < 1 then [] else slice 0 n xs
946−
947−-- | Keep only a number of elements from the end of an array, creating a new
948−-- | array.
949−-- |
950−-- | ```purescript
951−-- | letters = ["a", "b", "c"]
952−-- |
953−-- | takeEnd 2 letters = ["b", "c"]
954−-- | takeEnd 100 letters = ["a", "b", "c"]
955−-- | ```
956−-- |
957−takeEnd :: forall a. Int -> Array a -> Array a
958−takeEnd n xs = drop (length xs - n) xs
959−
960−-- | Calculate the longest initial subarray for which all element satisfy the
961−-- | specified predicate, creating a new array.
962−-- |
963−-- | ```purescript
964−-- | takeWhile (_ > 0) [4, 1, 0, -4, 5] = [4, 1]
965−-- | takeWhile (_ > 0) [-1, 4] = []
966−-- | ```
967−-- |
968−takeWhile :: forall a. (a -> Boolean) -> Array a -> Array a
969−takeWhile p xs = (span p xs).init
970−
971−-- | Drop a number of elements from the start of an array, creating a new array.
972−-- |
973−-- | ```purescript
974−-- | letters = ["a", "b", "c", "d"]
975−-- |
976−-- | drop 2 letters = ["c", "d"]
977−-- | drop 10 letters = []
978−-- | ```
979−-- |
980−drop :: forall a. Int -> Array a -> Array a
981−drop n xs = if n < 1 then xs else slice n (length xs) xs
982−
983−-- | Drop a number of elements from the end of an array, creating a new array.
984−-- |
985−-- | ```purescript
986−-- | letters = ["a", "b", "c", "d"]
987−-- |
988−-- | dropEnd 2 letters = ["a", "b"]
989−-- | dropEnd 10 letters = []
990−-- | ```
991−-- |
992−dropEnd :: forall a. Int -> Array a -> Array a
993−dropEnd n xs = take (length xs - n) xs
994−
995−-- | Remove the longest initial subarray for which all element satisfy the
996−-- | specified predicate, creating a new array.
997−-- |
998−-- | ```purescript
999−-- | dropWhile (_ < 0) [-3, -1, 0, 4, -6] = [0, 4, -6]
1000−-- | ```
1001−-- |
1002−dropWhile :: forall a. (a -> Boolean) -> Array a -> Array a
1003−dropWhile p xs = (span p xs).rest
1004−
1005−-- | Split an array into two parts:
1006−-- |
1007−-- | 1. the longest initial subarray for which all elements satisfy the
1008−-- | specified predicate
1009−-- | 2. the remaining elements
1010−-- |
1011−-- | ```purescript
1012−-- | span (\n -> n % 2 == 1) [1,3,2,4,5] == { init: [1,3], rest: [2,4,5] }
1013−-- | ```
1014−-- |
1015−-- | Running time: `O(n)`.
1016−span
1017− :: forall a
1018− . (a -> Boolean)
1019− -> Array a
1020− -> { init :: Array a, rest :: Array a }
1021−span p arr =
1022− case breakIndex of
1023− Just 0 ->
1024− { init: [], rest: arr }
1025− Just i ->
1026− { init: slice 0 i arr, rest: slice i (length arr) arr }
1027− Nothing ->
1028− { init: arr, rest: [] }
1029− where
1030− breakIndex = go 0
1031− go i =
1032− -- This looks like a good opportunity to use the Monad Maybe instance,
1033− -- but it's important to write out an explicit case expression here in
1034− -- order to ensure that TCO is triggered.
1035− case index arr i of
1036− Just x -> if p x then go (i + 1) else Just i
1037− Nothing -> Nothing
1038−
1039−-- | Group equal, consecutive elements of an array into arrays.
1040−-- |
1041−-- | ```purescript
1042−-- | group [1, 1, 2, 2, 1] == [NonEmptyArray [1, 1], NonEmptyArray [2, 2], NonEmptyArray [1]]
1043−-- | ```
1044−group :: forall a. Eq a => Array a -> Array (NonEmptyArray a)
1045−group xs = groupBy eq xs
1046−
1047−-- | Group equal elements of an array into arrays.
1048−-- |
1049−-- | ```purescript
1050−-- | groupAll [1, 1, 2, 2, 1] == [NonEmptyArray [1, 1, 1], NonEmptyArray [2, 2]]
1051−-- | ```
1052−groupAll :: forall a. Ord a => Array a -> Array (NonEmptyArray a)
1053−groupAll = groupAllBy compare
1054−
1055−-- | Group equal, consecutive elements of an array into arrays, using the
1056−-- | specified equivalence relation to determine equality.
1057−-- |
1058−-- | ```purescript
1059−-- | groupBy (\a b -> odd a && odd b) [1, 3, 2, 4, 3, 3]
1060−-- | = [NonEmptyArray [1, 3], NonEmptyArray [2], NonEmptyArray [4], NonEmptyArray [3, 3]]
1061−-- | ```
1062−-- |
1063−groupBy :: forall a. (a -> a -> Boolean) -> Array a -> Array (NonEmptyArray a)
1064−groupBy op xs =
1065− ST.run do
1066− result <- STA.new
1067− iter <- STAI.iterator (xs !! _)
1068− STAI.iterate iter \x -> void do
1069− sub <- STA.new
1070− _ <- STA.push x sub
1071− STAI.pushWhile (op x) iter sub
1072− grp <- STA.unsafeFreeze sub
1073− STA.push (NonEmptyArray grp) result
1074− STA.unsafeFreeze result
1075−
1076−-- | Group equal elements of an array into arrays, using the specified
1077−-- | comparison function to determine equality.
1078−-- |
1079−-- | ```purescript
1080−-- | groupAllBy (comparing Down) [1, 3, 2, 4, 3, 3]
1081−-- | = [NonEmptyArray [4], NonEmptyArray [3, 3, 3], NonEmptyArray [2], NonEmptyArray [1]]
1082−-- | ```
1083−-- |
1084−groupAllBy :: forall a. (a -> a -> Ordering) -> Array a -> Array (NonEmptyArray a)
1085−groupAllBy cmp = groupBy (\x y -> cmp x y == EQ) <<< sortBy cmp
1086−
1087−-- | Remove the duplicates from an array, creating a new array.
1088−-- |
1089−-- | ```purescript
1090−-- | nub [1, 2, 1, 3, 3] = [1, 2, 3]
1091−-- | ```
1092−-- |
1093−nub :: forall a. Ord a => Array a -> Array a
1094−nub = nubBy compare
1095−
1096−-- | Remove the duplicates from an array, creating a new array.
1097−-- |
1098−-- | This less efficient version of `nub` only requires an `Eq` instance.
1099−-- |
1100−-- | ```purescript
1101−-- | nubEq [1, 2, 1, 3, 3] = [1, 2, 3]
1102−-- | ```
1103−-- |
1104−nubEq :: forall a. Eq a => Array a -> Array a
1105−nubEq = nubByEq eq
1106−
1107−-- | Remove the duplicates from an array, where element equality is determined
1108−-- | by the specified ordering, creating a new array.
1109−-- |
1110−-- | ```purescript
1111−-- | nubBy compare [1, 3, 4, 2, 2, 1] == [1, 3, 4, 2]
1112−-- | ```
1113−-- |
1114−nubBy :: forall a. (a -> a -> Ordering) -> Array a -> Array a
1115−nubBy comp xs = case head indexedAndSorted of
1116− Nothing -> []
1117− Just x -> map snd $ sortWith fst $ ST.run do
1118− -- TODO: use NonEmptyArrays here to avoid partial functions
1119− result <- STA.unsafeThaw $ singleton x
1120− ST.foreach indexedAndSorted \pair@(Tuple _ x') -> do
1121− lst <- snd <<< unsafePartial (fromJust <<< last) <$> STA.unsafeFreeze result
1122− when (comp lst x' /= EQ) $ void $ STA.push pair result
1123− STA.unsafeFreeze result
1124− where
1125− indexedAndSorted :: Array (Tuple Int a)
1126− indexedAndSorted = sortBy (\x y -> comp (snd x) (snd y))
1127− (mapWithIndex Tuple xs)
1128−
1129−-- | Remove the duplicates from an array, where element equality is determined
1130−-- | by the specified equivalence relation, creating a new array.
1131−-- |
1132−-- | This less efficient version of `nubBy` only requires an equivalence
1133−-- | relation.
1134−-- |
1135−-- | ```purescript
1136−-- | mod3eq a b = a `mod` 3 == b `mod` 3
1137−-- | nubByEq mod3eq [1, 3, 4, 5, 6] = [1, 3, 5]
1138−-- | ```
1139−-- |
1140−nubByEq :: forall a. (a -> a -> Boolean) -> Array a -> Array a
1141−nubByEq eq xs = ST.run do
1142− arr <- STA.new
1143− ST.foreach xs \x -> do
1144− e <- not <<< any (_ `eq` x) <$> (STA.unsafeFreeze arr)
1145− when e $ void $ STA.push x arr
1146− STA.unsafeFreeze arr
1147−
1148−-- | Calculate the union of two arrays. Note that duplicates in the first array
1149−-- | are preserved while duplicates in the second array are removed.
1150−-- |
1151−-- | Running time: `O(n^2)`
1152−-- |
1153−-- | ```purescript
1154−-- | union [1, 2, 1, 1] [3, 3, 3, 4] = [1, 2, 1, 1, 3, 4]
1155−-- | ```
1156−-- |
1157−union :: forall a. Eq a => Array a -> Array a -> Array a
1158−union = unionBy (==)
1159−
1160−-- | Calculate the union of two arrays, using the specified function to
1161−-- | determine equality of elements. Note that duplicates in the first array
1162−-- | are preserved while duplicates in the second array are removed.
1163−-- |
1164−-- | ```purescript
1165−-- | mod3eq a b = a `mod` 3 == b `mod` 3
1166−-- | unionBy mod3eq [1, 5, 1, 2] [3, 4, 3, 3] = [1, 5, 1, 2, 3]
1167−-- | ```
1168−-- |
1169−unionBy :: forall a. (a -> a -> Boolean) -> Array a -> Array a -> Array a
1170−unionBy eq xs ys = xs <> foldl (flip (deleteBy eq)) (nubByEq eq ys) xs
1171−
1172−-- | Delete the first element of an array which is equal to the specified value,
1173−-- | creating a new array.
1174−-- |
1175−-- | ```purescript
1176−-- | delete 7 [1, 7, 3, 7] = [1, 3, 7]
1177−-- | delete 7 [1, 2, 3] = [1, 2, 3]
1178−-- | ```
1179−-- |
1180−-- | Running time: `O(n)`
1181−delete :: forall a. Eq a => a -> Array a -> Array a
1182−delete = deleteBy eq
1183−
1184−-- | Delete the first element of an array which matches the specified value,
1185−-- | under the equivalence relation provided in the first argument, creating a
1186−-- | new array.
1187−-- |
1188−-- | ```purescript
1189−-- | mod3eq a b = a `mod` 3 == b `mod` 3
1190−-- | deleteBy mod3eq 6 [1, 3, 4, 3] = [1, 4, 3]
1191−-- | ```
1192−-- |
1193−deleteBy :: forall a. (a -> a -> Boolean) -> a -> Array a -> Array a
1194−deleteBy _ _ [] = []
1195−deleteBy eq x ys = maybe ys (\i -> unsafePartial $ fromJust (deleteAt i ys)) (findIndex (eq x) ys)
1196−
1197−-- | Delete the first occurrence of each element in the second array from the
1198−-- | first array, creating a new array.
1199−-- |
1200−-- | ```purescript
1201−-- | difference [2, 1] [2, 3] = [1]
1202−-- | ```
1203−-- |
1204−-- | Running time: `O(n*m)`, where n is the length of the first array, and m is
1205−-- | the length of the second.
1206−difference :: forall a. Eq a => Array a -> Array a -> Array a
1207−difference = foldr delete
1208−
1209−infix 5 difference as \\
1210−
1211−-- | Calculate the intersection of two arrays, creating a new array. Note that
1212−-- | duplicates in the first array are preserved while duplicates in the second
1213−-- | array are removed.
1214−-- |
1215−-- | ```purescript
1216−-- | intersect [1, 1, 2] [2, 2, 1] = [1, 1, 2]
1217−-- | ```
1218−-- |
1219−intersect :: forall a. Eq a => Array a -> Array a -> Array a
1220−intersect = intersectBy eq
1221−
1222−-- | Calculate the intersection of two arrays, using the specified equivalence
1223−-- | relation to compare elements, creating a new array. Note that duplicates
1224−-- | in the first array are preserved while duplicates in the second array are
1225−-- | removed.
1226−-- |
1227−-- | ```purescript
1228−-- | mod3eq a b = a `mod` 3 == b `mod` 3
1229−-- | intersectBy mod3eq [1, 2, 3] [4, 6, 7] = [1, 3]
1230−-- | ```
1231−-- |
1232−intersectBy :: forall a. (a -> a -> Boolean) -> Array a -> Array a -> Array a
1233−intersectBy eq xs ys = filter (\x -> isJust (findIndex (eq x) ys)) xs
1234−
1235−-- | Apply a function to pairs of elements at the same index in two arrays,
1236−-- | collecting the results in a new array.
1237−-- |
1238−-- | If one array is longer, elements will be discarded from the longer array.
1239−-- |
1240−-- | For example
1241−-- |
1242−-- | ```purescript
1243−-- | zipWith (*) [1, 2, 3] [4, 5, 6, 7] == [4, 10, 18]
1244−-- | ```
1245−zipWith
1246− :: forall a b c
1247− . (a -> b -> c)
1248− -> Array a
1249− -> Array b
1250− -> Array c
1251−zipWith = runFn3 zipWithImpl
1252−
1253−foreign import zipWithImpl
1254− :: forall a b c
1255− . Fn3
1256− (a -> b -> c)
1257− (Array a)
1258− (Array b)
1259− (Array c)
1260−
1261−-- | A generalization of `zipWith` which accumulates results in some
1262−-- | `Applicative` functor.
1263−-- |
1264−-- | ```purescript
1265−-- | sndChars = zipWithA (\a b -> charAt 2 (a <> b))
1266−-- | sndChars ["a", "b"] ["A", "B"] = Nothing -- since "aA" has no 3rd char
1267−-- | sndChars ["aa", "b"] ["AA", "BBB"] = Just ['A', 'B']
1268−-- | ```
1269−-- |
1270−zipWithA
1271− :: forall m a b c
1272− . Applicative m
1273− => (a -> b -> m c)
1274− -> Array a
1275− -> Array b
1276− -> m (Array c)
1277−zipWithA f xs ys = sequence (zipWith f xs ys)
1278−
1279−-- | Takes two arrays and returns an array of corresponding pairs.
1280−-- | If one input array is short, excess elements of the longer array are
1281−-- | discarded.
1282−-- |
1283−-- | ```purescript
1284−-- | zip [1, 2, 3] ["a", "b"] = [Tuple 1 "a", Tuple 2 "b"]
1285−-- | ```
1286−-- |
1287−zip :: forall a b. Array a -> Array b -> Array (Tuple a b)
1288−zip = zipWith Tuple
1289−
1290−-- | Transforms an array of pairs into an array of first components and an
1291−-- | array of second components.
1292−-- |
1293−-- | ```purescript
1294−-- | unzip [Tuple 1 "a", Tuple 2 "b"] = Tuple [1, 2] ["a", "b"]
1295−-- | ```
1296−-- |
1297−unzip :: forall a b. Array (Tuple a b) -> Tuple (Array a) (Array b)
1298−unzip xs =
1299− ST.run do
1300− fsts <- STA.new
1301− snds <- STA.new
1302− iter <- STAI.iterator (xs !! _)
1303− STAI.iterate iter \(Tuple fst snd) -> do
1304− void $ STA.push fst fsts
1305− void $ STA.push snd snds
1306− fsts' <- STA.unsafeFreeze fsts
1307− snds' <- STA.unsafeFreeze snds
1308− pure $ Tuple fsts' snds'
1309−
1310−-- | Returns true if at least one array element satisfies the given predicate,
1311−-- | iterating the array only as necessary and stopping as soon as the predicate
1312−-- | yields true.
1313−-- |
1314−-- | ```purescript
1315−-- | any (_ > 0) [] = False
1316−-- | any (_ > 0) [-1, 0, 1] = True
1317−-- | any (_ > 0) [-1, -2, -3] = False
1318−-- | ```
1319−any :: forall a. (a -> Boolean) -> Array a -> Boolean
1320−any = runFn2 anyImpl
1321−
1322−foreign import anyImpl :: forall a. Fn2 (a -> Boolean) (Array a) Boolean
1323−
1324−-- | Returns true if all the array elements satisfy the given predicate.
1325−-- | iterating the array only as necessary and stopping as soon as the predicate
1326−-- | yields false.
1327−-- |
1328−-- | ```purescript
1329−-- | all (_ > 0) [] = True
1330−-- | all (_ > 0) [1, 2, 3] = True
1331−-- | all (_ > 0) [-1, -2, -3] = False
1332−-- | ```
1333−all :: forall a. (a -> Boolean) -> Array a -> Boolean
1334−all = runFn2 allImpl
1335−
1336−foreign import allImpl :: forall a. Fn2 (a -> Boolean) (Array a) Boolean
1337−
1338−-- | Perform a fold using a monadic step function.
1339−-- |
1340−-- | ```purescript
1341−-- | foldM (\x y -> Just (x + y)) 0 [1, 4] = Just 5
1342−-- | ```
1343−foldM :: forall m a b. Monad m => (b -> a -> m b) -> b -> Array a -> m b
1344−foldM f b = runFn3 unconsImpl (\_ -> pure b) (\a as -> f b a >>= \b' -> foldM f b' as)
1345−
1346−foldRecM :: forall m a b. MonadRec m => (b -> a -> m b) -> b -> Array a -> m b
1347−foldRecM f b array = tailRecM2 go b 0
1348− where
1349− go res i
1350− | i >= length array = pure (Done res)
1351− | otherwise = do
1352− res' <- f res (unsafePartial (unsafeIndex array i))
1353− pure (Loop { a: res', b: i + 1 })
1354−
1355−-- | Find the element of an array at the specified index.
1356−-- |
1357−-- | ```purescript
1358−-- | unsafePartial $ unsafeIndex ["a", "b", "c"] 1 = "b"
1359−-- | ```
1360−-- |
1361−-- | Using `unsafeIndex` with an out-of-range index will not immediately raise a runtime error.
1362−-- | Instead, the result will be undefined. Most attempts to subsequently use the result will
1363−-- | cause a runtime error, of course, but this is not guaranteed, and is dependent on the backend;
1364−-- | some programs will continue to run as if nothing is wrong. For example, in the JavaScript backend,
1365−-- | the expression `unsafePartial (unsafeIndex [true] 1)` has type `Boolean`;
1366−-- | since this expression evaluates to `undefined`, attempting to use it in an `if` statement will cause
1367−-- | the else branch to be taken.
1368−unsafeIndex :: forall a. Partial => Array a -> Int -> a
1369−unsafeIndex = runFn2 unsafeIndexImpl
1370−
1371−foreign import unsafeIndexImpl :: forall a. Fn2 (Array a) Int a
.spago/p/arrays-7.3.0/src/Data/Array/NonEmpty.pursdeleted−598
@@ -1,598 +0,0 @@
1−module Data.Array.NonEmpty
2− ( module Internal
3− , fromArray
4− , fromNonEmpty
5− , toArray
6− , toNonEmpty
7−
8− , fromFoldable
9− , fromFoldable1
10− , toUnfoldable
11− , toUnfoldable1
12− , singleton
13− , (..), range
14− , replicate
15− , some
16−
17− , length
18−
19− , (:), cons
20− , cons'
21− , snoc
22− , snoc'
23− , appendArray
24− , prependArray
25− , insert
26− , insertBy
27−
28− , head
29− , last
30− , tail
31− , init
32− , uncons
33− , unsnoc
34−
35− , (!!), index
36− , elem
37− , notElem
38− , elemIndex
39− , elemLastIndex
40− , find
41− , findMap
42− , findIndex
43− , findLastIndex
44− , insertAt
45− , deleteAt
46− , updateAt
47− , updateAtIndices
48− , modifyAt
49− , modifyAtIndices
50− , alterAt
51−
52− , intersperse
53− , reverse
54− , concat
55− , concatMap
56− , filter
57− , partition
58− , splitAt
59− , filterA
60− , mapMaybe
61− , catMaybes
62− , mapWithIndex
63− , foldl1
64− , foldr1
65− , foldMap1
66− , fold1
67− , intercalate
68− , transpose
69− , transpose'
70− , scanl
71− , scanr
72−
73− , sort
74− , sortBy
75− , sortWith
76− , slice
77− , take
78− , takeEnd
79− , takeWhile
80− , drop
81− , dropEnd
82− , dropWhile
83− , span
84− , group
85− , groupAll
86− , groupBy
87− , groupAllBy
88−
89− , nub
90− , nubBy
91− , nubEq
92− , nubByEq
93− , union
94− , union'
95− , unionBy
96− , unionBy'
97− , delete
98− , deleteBy
99−
100− , (\\), difference
101− , difference'
102− , intersect
103− , intersect'
104− , intersectBy
105− , intersectBy'
106−
107− , zipWith
108− , zipWithA
109− , zip
110− , unzip
111−
112− , any
113− , all
114−
115− , foldM
116− , foldRecM
117−
118− , unsafeIndex
119− ) where
120−
121−import Prelude
122−
123−import Control.Alternative (class Alternative)
124−import Control.Lazy (class Lazy)
125−import Control.Monad.Rec.Class (class MonadRec)
126−import Data.Array as A
127−import Data.Array.NonEmpty.Internal (NonEmptyArray(..))
128−import Data.Array.NonEmpty.Internal (NonEmptyArray) as Internal
129−import Data.Bifunctor (bimap)
130−import Data.Foldable (class Foldable)
131−import Data.Maybe (Maybe(..), fromJust)
132−import Data.NonEmpty (NonEmpty, (:|))
133−import Data.Semigroup.Foldable (class Foldable1)
134−import Data.Semigroup.Foldable as F
135−import Data.Tuple (Tuple(..))
136−import Data.Unfoldable (class Unfoldable)
137−import Data.Unfoldable1 (class Unfoldable1, unfoldr1)
138−import Partial.Unsafe (unsafePartial)
139−import Safe.Coerce (coerce)
140−import Unsafe.Coerce (unsafeCoerce)
141−
142−-- | Internal - adapt an Array transform to NonEmptyArray
143−--
144−-- Note that this is unsafe: if the transform returns an empty array, this can
145−-- explode at runtime.
146−unsafeAdapt :: forall a b. (Array a -> Array b) -> NonEmptyArray a -> NonEmptyArray b
147−unsafeAdapt f = unsafeFromArray <<< adaptAny f
148−
149−-- | Internal - adapt an Array transform to NonEmptyArray,
150−-- with polymorphic result.
151−--
152−-- Note that this is unsafe: if the transform returns an empty array, this can
153−-- explode at runtime.
154−adaptAny :: forall a b. (Array a -> b) -> NonEmptyArray a -> b
155−adaptAny f = f <<< toArray
156−
157−-- | Internal - adapt Array functions returning Maybes to NonEmptyArray
158−adaptMaybe :: forall a b. (Array a -> Maybe b) -> NonEmptyArray a -> b
159−adaptMaybe f = unsafePartial $ fromJust <<< f <<< toArray
160−
161−fromArray :: forall a. Array a -> Maybe (NonEmptyArray a)
162−fromArray xs
163− | A.length xs > 0 = Just (unsafeFromArray xs)
164− | otherwise = Nothing
165−
166−-- | INTERNAL
167−unsafeFromArray :: forall a. Array a -> NonEmptyArray a
168−unsafeFromArray = NonEmptyArray
169−
170−unsafeFromArrayF :: forall f a. f (Array a) -> f (NonEmptyArray a)
171−unsafeFromArrayF = unsafeCoerce
172−
173−fromNonEmpty :: forall a. NonEmpty Array a -> NonEmptyArray a
174−fromNonEmpty (x :| xs) = cons' x xs
175−
176−toArray :: forall a. NonEmptyArray a -> Array a
177−toArray (NonEmptyArray xs) = xs
178−
179−toNonEmpty :: forall a. NonEmptyArray a -> NonEmpty Array a
180−toNonEmpty = uncons >>> \{head: x, tail: xs} -> x :| xs
181−
182−fromFoldable :: forall f a. Foldable f => f a -> Maybe (NonEmptyArray a)
183−fromFoldable = fromArray <<< A.fromFoldable
184−
185−fromFoldable1 :: forall f a. Foldable1 f => f a -> NonEmptyArray a
186−fromFoldable1 = unsafeFromArray <<< A.fromFoldable
187−
188−toUnfoldable :: forall f a. Unfoldable f => NonEmptyArray a -> f a
189−toUnfoldable = adaptAny A.toUnfoldable
190−
191−toUnfoldable1 :: forall f a. Unfoldable1 f => NonEmptyArray a -> f a
192−toUnfoldable1 xs = unfoldr1 f 0
193− where
194− len = length xs
195− f i = Tuple (unsafePartial unsafeIndex xs i) $
196− if i < (len - 1) then Just (i + 1) else Nothing
197−
198−singleton :: forall a. a -> NonEmptyArray a
199−singleton = unsafeFromArray <<< A.singleton
200−
201−range :: Int -> Int -> NonEmptyArray Int
202−range x y = unsafeFromArray $ A.range x y
203−
204−infix 8 range as ..
205−
206−-- | Replicate an item at least once
207−replicate :: forall a. Int -> a -> NonEmptyArray a
208−replicate i x = unsafeFromArray $ A.replicate (max 1 i) x
209−
210−some
211− :: forall f a
212− . Alternative f
213− => Lazy (f (Array a))
214− => f a -> f (NonEmptyArray a)
215−some = unsafeFromArrayF <<< A.some
216−
217−length :: forall a. NonEmptyArray a -> Int
218−length = adaptAny A.length
219−
220−cons :: forall a. a -> NonEmptyArray a -> NonEmptyArray a
221−cons x = unsafeAdapt $ A.cons x
222−
223−infixr 6 cons as :
224−
225−cons' :: forall a. a -> Array a -> NonEmptyArray a
226−cons' x xs = unsafeFromArray $ A.cons x xs
227−
228−snoc :: forall a. NonEmptyArray a -> a -> NonEmptyArray a
229−snoc xs x = unsafeFromArray $ A.snoc (toArray xs) x
230−
231−snoc' :: forall a. Array a -> a -> NonEmptyArray a
232−snoc' xs x = unsafeFromArray $ A.snoc xs x
233−
234−appendArray :: forall a. NonEmptyArray a -> Array a -> NonEmptyArray a
235−appendArray xs ys = unsafeFromArray $ toArray xs <> ys
236−
237−prependArray :: forall a. Array a -> NonEmptyArray a -> NonEmptyArray a
238−prependArray xs ys = unsafeFromArray $ xs <> toArray ys
239−
240−insert :: forall a. Ord a => a -> NonEmptyArray a -> NonEmptyArray a
241−insert x = unsafeAdapt $ A.insert x
242−
243−insertBy :: forall a. (a -> a -> Ordering) -> a -> NonEmptyArray a -> NonEmptyArray a
244−insertBy f x = unsafeAdapt $ A.insertBy f x
245−
246−head :: forall a. NonEmptyArray a -> a
247−head = adaptMaybe A.head
248−
249−last :: forall a. NonEmptyArray a -> a
250−last = adaptMaybe A.last
251−
252−tail :: forall a. NonEmptyArray a -> Array a
253−tail = adaptMaybe A.tail
254−
255−init :: forall a. NonEmptyArray a -> Array a
256−init = adaptMaybe A.init
257−
258−uncons :: forall a. NonEmptyArray a -> { head :: a, tail :: Array a }
259−uncons = adaptMaybe A.uncons
260−
261−unsnoc :: forall a. NonEmptyArray a -> { init :: Array a, last :: a }
262−unsnoc = adaptMaybe A.unsnoc
263−
264−index :: forall a. NonEmptyArray a -> Int -> Maybe a
265−index = adaptAny A.index
266−
267−infixl 8 index as !!
268−
269−elem :: forall a. Eq a => a -> NonEmptyArray a -> Boolean
270−elem x = adaptAny $ A.elem x
271−
272−notElem :: forall a. Eq a => a -> NonEmptyArray a -> Boolean
273−notElem x = adaptAny $ A.notElem x
274−
275−elemIndex :: forall a. Eq a => a -> NonEmptyArray a -> Maybe Int
276−elemIndex x = adaptAny $ A.elemIndex x
277−
278−elemLastIndex :: forall a. Eq a => a -> NonEmptyArray a -> Maybe Int
279−elemLastIndex x = adaptAny $ A.elemLastIndex x
280−
281−find :: forall a. (a -> Boolean) -> NonEmptyArray a -> Maybe a
282−find p = adaptAny $ A.find p
283−
284−findMap :: forall a b. (a -> Maybe b) -> NonEmptyArray a -> Maybe b
285−findMap p = adaptAny $ A.findMap p
286−
287−findIndex :: forall a. (a -> Boolean) -> NonEmptyArray a -> Maybe Int
288−findIndex p = adaptAny $ A.findIndex p
289−
290−findLastIndex :: forall a. (a -> Boolean) -> NonEmptyArray a -> Maybe Int
291−findLastIndex x = adaptAny $ A.findLastIndex x
292−
293−insertAt :: forall a. Int -> a -> NonEmptyArray a -> Maybe (NonEmptyArray a)
294−insertAt i x = unsafeFromArrayF <<< A.insertAt i x <<< toArray
295−
296−deleteAt :: forall a. Int -> NonEmptyArray a -> Maybe (Array a)
297−deleteAt i = adaptAny $ A.deleteAt i
298−
299−updateAt :: forall a. Int -> a -> NonEmptyArray a -> Maybe (NonEmptyArray a)
300−updateAt i x = unsafeFromArrayF <<< A.updateAt i x <<< toArray
301−
302−updateAtIndices :: forall t a. Foldable t => t (Tuple Int a) -> NonEmptyArray a -> NonEmptyArray a
303−updateAtIndices pairs = unsafeAdapt $ A.updateAtIndices pairs
304−
305−modifyAt :: forall a. Int -> (a -> a) -> NonEmptyArray a -> Maybe (NonEmptyArray a)
306−modifyAt i f = unsafeFromArrayF <<< A.modifyAt i f <<< toArray
307−
308−modifyAtIndices :: forall t a. Foldable t => t Int -> (a -> a) -> NonEmptyArray a -> NonEmptyArray a
309−modifyAtIndices is f = unsafeAdapt $ A.modifyAtIndices is f
310−
311−alterAt :: forall a. Int -> (a -> Maybe a) -> NonEmptyArray a -> Maybe (Array a)
312−alterAt i f = A.alterAt i f <<< toArray
313−
314−intersperse :: forall a. a -> NonEmptyArray a -> NonEmptyArray a
315−intersperse x = unsafeAdapt $ A.intersperse x
316−
317−reverse :: forall a. NonEmptyArray a -> NonEmptyArray a
318−reverse = unsafeAdapt A.reverse
319−
320−concat :: forall a. NonEmptyArray (NonEmptyArray a) -> NonEmptyArray a
321−concat = unsafeFromArray <<< A.concat <<< toArray <<< map toArray
322−
323−concatMap :: forall a b. (a -> NonEmptyArray b) -> NonEmptyArray a -> NonEmptyArray b
324−concatMap = flip bind
325−
326−filter :: forall a. (a -> Boolean) -> NonEmptyArray a -> Array a
327−filter f = adaptAny $ A.filter f
328−
329−partition
330− :: forall a
331− . (a -> Boolean)
332− -> NonEmptyArray a
333− -> { yes :: Array a, no :: Array a}
334−partition f = adaptAny $ A.partition f
335−
336−filterA
337− :: forall a f
338− . Applicative f
339− => (a -> f Boolean)
340− -> NonEmptyArray a
341− -> f (Array a)
342−filterA f = adaptAny $ A.filterA f
343−
344−splitAt :: forall a. Int -> NonEmptyArray a -> { before :: Array a, after :: Array a }
345−splitAt i xs = A.splitAt i $ toArray xs
346−
347−mapMaybe :: forall a b. (a -> Maybe b) -> NonEmptyArray a -> Array b
348−mapMaybe f = adaptAny $ A.mapMaybe f
349−
350−catMaybes :: forall a. NonEmptyArray (Maybe a) -> Array a
351−catMaybes = adaptAny A.catMaybes
352−
353−mapWithIndex :: forall a b. (Int -> a -> b) -> NonEmptyArray a -> NonEmptyArray b
354−mapWithIndex f = unsafeAdapt $ A.mapWithIndex f
355−
356−foldl1 :: forall a. (a -> a -> a) -> NonEmptyArray a -> a
357−foldl1 = F.foldl1
358−
359−foldr1 :: forall a. (a -> a -> a) -> NonEmptyArray a -> a
360−foldr1 = F.foldr1
361−
362−foldMap1 :: forall a m. Semigroup m => (a -> m) -> NonEmptyArray a -> m
363−foldMap1 = F.foldMap1
364−
365−fold1 :: forall m. Semigroup m => NonEmptyArray m -> m
366−fold1 = F.fold1
367−
368−intercalate :: forall a. Semigroup a => a -> NonEmptyArray a -> a
369−intercalate = F.intercalate
370−
371−-- | The 'transpose' function transposes the rows and columns of its argument.
372−-- | For example,
373−-- |
374−-- | ```purescript
375−-- | transpose
376−-- | (NonEmptyArray [ NonEmptyArray [1, 2, 3]
377−-- | , NonEmptyArray [4, 5, 6]
378−-- | ]) ==
379−-- | (NonEmptyArray [ NonEmptyArray [1, 4]
380−-- | , NonEmptyArray [2, 5]
381−-- | , NonEmptyArray [3, 6]
382−-- | ])
383−-- | ```
384−-- |
385−-- | If some of the rows are shorter than the following rows, their elements are skipped:
386−-- |
387−-- | ```purescript
388−-- | transpose
389−-- | (NonEmptyArray [ NonEmptyArray [10, 11]
390−-- | , NonEmptyArray [20]
391−-- | , NonEmptyArray [30, 31, 32]
392−-- | ]) ==
393−-- | (NomEmptyArray [ NonEmptyArray [10, 20, 30]
394−-- | , NonEmptyArray [11, 31]
395−-- | , NonEmptyArray [32]
396−-- | ])
397−-- | ```
398−transpose :: forall a. NonEmptyArray (NonEmptyArray a) -> NonEmptyArray (NonEmptyArray a)
399−transpose =
400− (coerce :: (Array (Array a)) -> (NonEmptyArray (NonEmptyArray a)))
401− <<< A.transpose <<< coerce
402−
403−-- | `transpose`' is identical to `transpose` other than that the inner arrays are each
404−-- | a standard `Array` and not a `NonEmptyArray`. However, the result is wrapped in a
405−-- | `Maybe` to cater for the case where the inner `Array` is empty and must return `Nothing`.
406−transpose' :: forall a. NonEmptyArray (Array a) -> Maybe (NonEmptyArray (Array a))
407−transpose' = fromArray <<< A.transpose <<< coerce
408−
409−scanl :: forall a b. (b -> a -> b) -> b -> NonEmptyArray a -> NonEmptyArray b
410−scanl f x = unsafeAdapt $ A.scanl f x
411−
412−scanr :: forall a b. (a -> b -> b) -> b -> NonEmptyArray a -> NonEmptyArray b
413−scanr f x = unsafeAdapt $ A.scanr f x
414−
415−sort :: forall a. Ord a => NonEmptyArray a -> NonEmptyArray a
416−sort = unsafeAdapt A.sort
417−
418−sortBy :: forall a. (a -> a -> Ordering) -> NonEmptyArray a -> NonEmptyArray a
419−sortBy f = unsafeAdapt $ A.sortBy f
420−
421−sortWith :: forall a b. Ord b => (a -> b) -> NonEmptyArray a -> NonEmptyArray a
422−sortWith f = unsafeAdapt $ A.sortWith f
423−
424−slice :: forall a. Int -> Int -> NonEmptyArray a -> Array a
425−slice start end = adaptAny $ A.slice start end
426−
427−take :: forall a. Int -> NonEmptyArray a -> Array a
428−take i = adaptAny $ A.take i
429−
430−takeEnd :: forall a. Int -> NonEmptyArray a -> Array a
431−takeEnd i = adaptAny $ A.takeEnd i
432−
433−takeWhile :: forall a. (a -> Boolean) -> NonEmptyArray a -> Array a
434−takeWhile f = adaptAny $ A.takeWhile f
435−
436−drop :: forall a. Int -> NonEmptyArray a -> Array a
437−drop i = adaptAny $ A.drop i
438−
439−dropEnd :: forall a. Int -> NonEmptyArray a -> Array a
440−dropEnd i = adaptAny $ A.dropEnd i
441−
442−dropWhile :: forall a. (a -> Boolean) -> NonEmptyArray a -> Array a
443−dropWhile f = adaptAny $ A.dropWhile f
444−
445−span
446− :: forall a
447− . (a -> Boolean)
448− -> NonEmptyArray a
449− -> { init :: Array a, rest :: Array a }
450−span f = adaptAny $ A.span f
451−
452−-- | Group equal, consecutive elements of an array into arrays.
453−-- |
454−-- | ```purescript
455−-- | group (NonEmptyArray [1, 1, 2, 2, 1]) ==
456−-- | NonEmptyArray [NonEmptyArray [1, 1], NonEmptyArray [2, 2], NonEmptyArray [1]]
457−-- | ```
458−group :: forall a. Eq a => NonEmptyArray a -> NonEmptyArray (NonEmptyArray a)
459−group = unsafeAdapt $ A.group
460−
461−-- | Group equal elements of an array into arrays.
462−-- |
463−-- | ```purescript
464−-- | groupAll (NonEmptyArray [1, 1, 2, 2, 1]) ==
465−-- | NonEmptyArray [NonEmptyArray [1, 1, 1], NonEmptyArray [2, 2]]
466−-- | `
467−groupAll :: forall a. Ord a => NonEmptyArray a -> NonEmptyArray (NonEmptyArray a)
468−groupAll = groupAllBy compare
469−
470−-- | Group equal, consecutive elements of an array into arrays, using the
471−-- | specified equivalence relation to determine equality.
472−-- |
473−-- | ```purescript
474−-- | groupBy (\a b -> odd a && odd b) (NonEmptyArray [1, 3, 2, 4, 3, 3])
475−-- | = NonEmptyArray [NonEmptyArray [1, 3], NonEmptyArray [2], NonEmptyArray [4], NonEmptyArray [3, 3]]
476−-- | ```
477−-- |
478−groupBy :: forall a. (a -> a -> Boolean) -> NonEmptyArray a -> NonEmptyArray (NonEmptyArray a)
479−groupBy op = unsafeAdapt $ A.groupBy op
480−
481−-- | Group equal elements of an array into arrays, using the specified
482−-- | comparison function to determine equality.
483−-- |
484−-- | ```purescript
485−-- | groupAllBy (comparing Down) (NonEmptyArray [1, 3, 2, 4, 3, 3])
486−-- | = NonEmptyArray [NonEmptyArray [4], NonEmptyArray [3, 3, 3], NonEmptyArray [2], NonEmptyArray [1]]
487−-- | ```
488−groupAllBy :: forall a. (a -> a -> Ordering) -> NonEmptyArray a -> NonEmptyArray (NonEmptyArray a)
489−groupAllBy op = unsafeAdapt $ A.groupAllBy op
490−
491−nub :: forall a. Ord a => NonEmptyArray a -> NonEmptyArray a
492−nub = unsafeAdapt A.nub
493−
494−nubEq :: forall a. Eq a => NonEmptyArray a -> NonEmptyArray a
495−nubEq = unsafeAdapt A.nubEq
496−
497−nubBy :: forall a. (a -> a -> Ordering) -> NonEmptyArray a -> NonEmptyArray a
498−nubBy f = unsafeAdapt $ A.nubBy f
499−
500−nubByEq :: forall a. (a -> a -> Boolean) -> NonEmptyArray a -> NonEmptyArray a
501−nubByEq f = unsafeAdapt $ A.nubByEq f
502−
503−union :: forall a. Eq a => NonEmptyArray a -> NonEmptyArray a -> NonEmptyArray a
504−union = unionBy (==)
505−
506−union' :: forall a. Eq a => NonEmptyArray a -> Array a -> NonEmptyArray a
507−union' = unionBy' (==)
508−
509−unionBy
510− :: forall a
511− . (a -> a -> Boolean)
512− -> NonEmptyArray a
513− -> NonEmptyArray a
514− -> NonEmptyArray a
515−unionBy eq xs = unionBy' eq xs <<< toArray
516−
517−unionBy'
518− :: forall a
519− . (a -> a -> Boolean)
520− -> NonEmptyArray a
521− -> Array a
522− -> NonEmptyArray a
523−unionBy' eq xs = unsafeFromArray <<< A.unionBy eq (toArray xs)
524−
525−delete :: forall a. Eq a => a -> NonEmptyArray a -> Array a
526−delete x = adaptAny $ A.delete x
527−
528−deleteBy :: forall a. (a -> a -> Boolean) -> a -> NonEmptyArray a -> Array a
529−deleteBy f x = adaptAny $ A.deleteBy f x
530−
531−difference :: forall a. Eq a => NonEmptyArray a -> NonEmptyArray a -> Array a
532−difference xs = adaptAny $ difference' xs
533−
534−difference' :: forall a. Eq a => NonEmptyArray a -> Array a -> Array a
535−difference' xs = A.difference $ toArray xs
536−
537−intersect :: forall a . Eq a => NonEmptyArray a -> NonEmptyArray a -> Array a
538−intersect = intersectBy eq
539−
540−intersect' :: forall a . Eq a => NonEmptyArray a -> Array a -> Array a
541−intersect' = intersectBy' eq
542−
543−intersectBy
544− :: forall a
545− . (a -> a -> Boolean)
546− -> NonEmptyArray a
547− -> NonEmptyArray a
548− -> Array a
549−intersectBy eq xs = intersectBy' eq xs <<< toArray
550−
551−intersectBy'
552− :: forall a
553− . (a -> a -> Boolean)
554− -> NonEmptyArray a
555− -> Array a
556− -> Array a
557−intersectBy' eq xs = A.intersectBy eq (toArray xs)
558−
559−infix 5 difference as \\
560−
561−zipWith
562− :: forall a b c
563− . (a -> b -> c)
564− -> NonEmptyArray a
565− -> NonEmptyArray b
566− -> NonEmptyArray c
567−zipWith f xs ys = unsafeFromArray $ A.zipWith f (toArray xs) (toArray ys)
568−
569−
570−zipWithA
571− :: forall m a b c
572− . Applicative m
573− => (a -> b -> m c)
574− -> NonEmptyArray a
575− -> NonEmptyArray b
576− -> m (NonEmptyArray c)
577−zipWithA f xs ys = unsafeFromArrayF $ A.zipWithA f (toArray xs) (toArray ys)
578−
579−zip :: forall a b. NonEmptyArray a -> NonEmptyArray b -> NonEmptyArray (Tuple a b)
580−zip xs ys = unsafeFromArray $ toArray xs `A.zip` toArray ys
581−
582−unzip :: forall a b. NonEmptyArray (Tuple a b) -> Tuple (NonEmptyArray a) (NonEmptyArray b)
583−unzip = bimap unsafeFromArray unsafeFromArray <<< A.unzip <<< toArray
584−
585−any :: forall a. (a -> Boolean) -> NonEmptyArray a -> Boolean
586−any p = adaptAny $ A.any p
587−
588−all :: forall a. (a -> Boolean) -> NonEmptyArray a -> Boolean
589−all p = adaptAny $ A.all p
590−
591−foldM :: forall m a b. Monad m => (b -> a -> m b) -> b -> NonEmptyArray a -> m b
592−foldM f acc = adaptAny $ A.foldM f acc
593−
594−foldRecM :: forall m a b. MonadRec m => (b -> a -> m b) -> b -> NonEmptyArray a -> m b
595−foldRecM f acc = adaptAny $ A.foldRecM f acc
596−
597−unsafeIndex :: forall a. Partial => NonEmptyArray a -> Int -> a
598−unsafeIndex = adaptAny A.unsafeIndex
.spago/p/arrays-7.3.0/src/Data/Array/NonEmpty/Internal.jsdeleted−77
@@ -1,77 +0,0 @@
1−export const foldr1Impl = function (f, xs) {
2− var acc = xs[xs.length - 1];
3− for (var i = xs.length - 2; i >= 0; i--) {
4− acc = f(xs[i])(acc);
5− }
6− return acc;
7−};
8−
9−export const foldl1Impl = function (f, xs) {
10− var acc = xs[0];
11− var len = xs.length;
12− for (var i = 1; i < len; i++) {
13− acc = f(acc)(xs[i]);
14− }
15− return acc;
16−};
17−
18−export const traverse1Impl = function () {
19− function Cont(fn) {
20− this.fn = fn;
21− }
22−
23− var emptyList = {};
24−
25− var ConsCell = function (head, tail) {
26− this.head = head;
27− this.tail = tail;
28− };
29−
30− function finalCell(head) {
31− return new ConsCell(head, emptyList);
32− }
33−
34− function consList(x) {
35− return function (xs) {
36− return new ConsCell(x, xs);
37− };
38− }
39−
40− function listToArray(list) {
41− var arr = [];
42− var xs = list;
43− while (xs !== emptyList) {
44− arr.push(xs.head);
45− xs = xs.tail;
46− }
47− return arr;
48− }
49−
50− return function (apply, map, f) {
51− var buildFrom = function (x, ys) {
52− return apply(map(consList)(f(x)))(ys);
53− };
54−
55− var go = function (acc, currentLen, xs) {
56− if (currentLen === 0) {
57− return acc;
58− } else {
59− var last = xs[currentLen - 1];
60− return new Cont(function () {
61− var built = go(buildFrom(last, acc), currentLen - 1, xs);
62− return built;
63− });
64− }
65− };
66−
67− return function (array) {
68− var acc = map(finalCell)(f(array[array.length - 1]));
69− var result = go(acc, array.length - 1, array);
70− while (result instanceof Cont) {
71− result = result.fn();
72− }
73−
74− return map(listToArray)(result);
75− };
76− };
77−}();
.spago/p/arrays-7.3.0/src/Data/Array/NonEmpty/Internal.pursdeleted−84
@@ -1,84 +0,0 @@
1−-- | This module exports the `NonEmptyArray` constructor.
2−-- |
3−-- | It is **NOT** intended for public use and is **NOT** versioned.
4−-- |
5−-- | Its content may change **in any way**, **at any time** and
6−-- | **without notice**.
7−
8−module Data.Array.NonEmpty.Internal (NonEmptyArray(..)) where
9−
10−import Prelude
11−
12−import Control.Alt (class Alt)
13−import Data.Eq (class Eq1)
14−import Data.Foldable (class Foldable)
15−import Data.FoldableWithIndex (class FoldableWithIndex)
16−import Data.Function.Uncurried (Fn2, Fn3, runFn2, runFn3)
17−import Data.FunctorWithIndex (class FunctorWithIndex)
18−import Data.Ord (class Ord1)
19−import Data.Semigroup.Foldable (class Foldable1, foldMap1DefaultL)
20−import Data.Semigroup.Traversable (class Traversable1, sequence1Default)
21−import Data.Traversable (class Traversable)
22−import Data.TraversableWithIndex (class TraversableWithIndex)
23−import Data.Unfoldable1 (class Unfoldable1)
24−
25−-- | An array that is known not to be empty.
26−-- |
27−-- | You can use the constructor to create a `NonEmptyArray` that isn't
28−-- | non-empty, breaking the guarantee behind this newtype. It is
29−-- | provided as an escape hatch mainly for the `Data.Array.NonEmpty`
30−-- | and `Data.Array` modules. Use this at your own risk when you know
31−-- | what you are doing.
32−newtype NonEmptyArray a = NonEmptyArray (Array a)
33−
34−instance showNonEmptyArray :: Show a => Show (NonEmptyArray a) where
35− show (NonEmptyArray xs) = "(NonEmptyArray " <> show xs <> ")"
36−
37−derive newtype instance eqNonEmptyArray :: Eq a => Eq (NonEmptyArray a)
38−derive newtype instance eq1NonEmptyArray :: Eq1 NonEmptyArray
39−
40−derive newtype instance ordNonEmptyArray :: Ord a => Ord (NonEmptyArray a)
41−derive newtype instance ord1NonEmptyArray :: Ord1 NonEmptyArray
42−
43−derive newtype instance semigroupNonEmptyArray :: Semigroup (NonEmptyArray a)
44−
45−derive newtype instance functorNonEmptyArray :: Functor NonEmptyArray
46−derive newtype instance functorWithIndexNonEmptyArray :: FunctorWithIndex Int NonEmptyArray
47−
48−derive newtype instance foldableNonEmptyArray :: Foldable NonEmptyArray
49−derive newtype instance foldableWithIndexNonEmptyArray :: FoldableWithIndex Int NonEmptyArray
50−
51−instance foldable1NonEmptyArray :: Foldable1 NonEmptyArray where
52− foldMap1 = foldMap1DefaultL
53− foldr1 = runFn2 foldr1Impl
54− foldl1 = runFn2 foldl1Impl
55−
56−derive newtype instance unfoldable1NonEmptyArray :: Unfoldable1 NonEmptyArray
57−derive newtype instance traversableNonEmptyArray :: Traversable NonEmptyArray
58−derive newtype instance traversableWithIndexNonEmptyArray :: TraversableWithIndex Int NonEmptyArray
59−
60−instance traversable1NonEmptyArray :: Traversable1 NonEmptyArray where
61− traverse1 f = runFn3 traverse1Impl apply map f
62− sequence1 = sequence1Default
63−
64−derive newtype instance applyNonEmptyArray :: Apply NonEmptyArray
65−
66−derive newtype instance applicativeNonEmptyArray :: Applicative NonEmptyArray
67−
68−derive newtype instance bindNonEmptyArray :: Bind NonEmptyArray
69−
70−derive newtype instance monadNonEmptyArray :: Monad NonEmptyArray
71−
72−derive newtype instance altNonEmptyArray :: Alt NonEmptyArray
73−
74−-- we use FFI here to avoid the unncessary copy created by `tail`
75−foreign import foldr1Impl :: forall a. Fn2 (a -> a -> a) (NonEmptyArray a) a
76−foreign import foldl1Impl :: forall a. Fn2 (a -> a -> a) (NonEmptyArray a) a
77−
78−foreign import traverse1Impl
79− :: forall m a b
80− . Fn3
81− (forall a' b'. (m (a' -> b') -> m a' -> m b'))
82− (forall a' b'. (a' -> b') -> m a' -> m b')
83− (a -> m b)
84− (NonEmptyArray a -> m (NonEmptyArray b))
.spago/p/arrays-7.3.0/src/Data/Array/Partial.pursdeleted−35
@@ -1,35 +0,0 @@
1−-- | Partial helper functions for working with immutable arrays.
2−module Data.Array.Partial
3− ( head
4− , tail
5− , last
6− , init
7− ) where
8−
9−import Prelude
10−
11−import Data.Array (length, slice, unsafeIndex)
12−
13−-- | Get the first element of a non-empty array.
14−-- |
15−-- | Running time: `O(1)`.
16−head :: forall a. Partial => Array a -> a
17−head xs = unsafeIndex xs 0
18−
19−-- | Get all but the first element of a non-empty array.
20−-- |
21−-- | Running time: `O(n)`, where `n` is the length of the array.
22−tail :: forall a. Partial => Array a -> Array a
23−tail xs = slice 1 (length xs) xs
24−
25−-- | Get the last element of a non-empty array.
26−-- |
27−-- | Running time: `O(1)`.
28−last :: forall a. Partial => Array a -> a
29−last xs = unsafeIndex xs (length xs - 1)
30−
31−-- | Get all but the last element of a non-empty array.
32−-- |
33−-- | Running time: `O(n)`, where `n` is the length of the array.
34−init :: forall a. Partial => Array a -> Array a
35−init xs = slice 0 (length xs - 1) xs
.spago/p/arrays-7.3.0/src/Data/Array/ST.jsdeleted−113
@@ -1,113 +0,0 @@
1−function newSTArray() {
2− return [];
3−}
4−export { newSTArray as new };
5−
6−export const peekImpl = function (just, nothing, i, xs) {
7− return i >= 0 && i < xs.length ? just(xs[i]) : nothing;
8−};
9−
10−export const pokeImpl = function (i, a, xs) {
11− var ret = i >= 0 && i < xs.length;
12− if (ret) xs[i] = a;
13− return ret;
14−};
15−
16−export const lengthImpl = function (xs) {
17− return xs.length;
18−};
19−
20−export const popImpl = function (just, nothing, xs) {
21− return xs.length > 0 ? just(xs.pop()) : nothing;
22−};
23−
24−export const pushAllImpl = function (as, xs) {
25− return xs.push.apply(xs, as);
26−};
27−
28−export const shiftImpl = function (just, nothing, xs) {
29− return xs.length > 0 ? just(xs.shift()) : nothing;
30−};
31−
32−export const unshiftAllImpl = function (as, xs) {
33− return xs.unshift.apply(xs, as);
34−};
35−
36−export const spliceImpl = function (i, howMany, bs, xs) {
37− return xs.splice.apply(xs, [i, howMany].concat(bs));
38−};
39−
40−function unsafeFreezeThawImpl(xs) {
41− return xs;
42−}
43−
44−export const unsafeFreezeImpl = unsafeFreezeThawImpl;
45−
46−export const unsafeThawImpl = unsafeFreezeThawImpl;
47−
48−function copyImpl(xs) {
49− return xs.slice();
50−}
51−
52−export const freezeImpl = copyImpl;
53−
54−export const thawImpl = copyImpl;
55−
56−export const cloneImpl = copyImpl;
57−
58−export const sortByImpl = (function () {
59− function mergeFromTo(compare, fromOrdering, xs1, xs2, from, to) {
60− var mid;
61− var i;
62− var j;
63− var k;
64− var x;
65− var y;
66− var c;
67−
68− mid = from + ((to - from) >> 1);
69− if (mid - from > 1) mergeFromTo(compare, fromOrdering, xs2, xs1, from, mid);
70− if (to - mid > 1) mergeFromTo(compare, fromOrdering, xs2, xs1, mid, to);
71−
72− i = from;
73− j = mid;
74− k = from;
75− while (i < mid && j < to) {
76− x = xs2[i];
77− y = xs2[j];
78− c = fromOrdering(compare(x)(y));
79− if (c > 0) {
80− xs1[k++] = y;
81− ++j;
82− } else {
83− xs1[k++] = x;
84− ++i;
85− }
86− }
87− while (i < mid) {
88− xs1[k++] = xs2[i++];
89− }
90− while (j < to) {
91− xs1[k++] = xs2[j++];
92− }
93− }
94−
95− return function (compare, fromOrdering, xs) {
96− if (xs.length < 2) return xs;
97−
98− mergeFromTo(compare, fromOrdering, xs, xs.slice(0), 0, xs.length);
99−
100− return xs;
101− };
102−})();
103−
104−export const toAssocArrayImpl = function (xs) {
105− var n = xs.length;
106− var as = new Array(n);
107− for (var i = 0; i < n; i++) as[i] = { value: xs[i], index: i };
108− return as;
109−};
110−
111−export const pushImpl = function (a, xs) {
112− return xs.push(a);
113−};
.spago/p/arrays-7.3.0/src/Data/Array/ST.pursdeleted−262
@@ -1,262 +0,0 @@
1−-- | Helper functions for working with mutable arrays using the `ST` effect.
2−-- |
3−-- | This module can be used when performance is important and mutation is a local effect.
4−
5−module Data.Array.ST
6− ( STArray(..)
7− , Assoc
8− , run
9− , withArray
10− , new
11− , peek
12− , poke
13− , modify
14− , length
15− , pop
16− , push
17− , pushAll
18− , shift
19− , unshift
20− , unshiftAll
21− , splice
22− , sort
23− , sortBy
24− , sortWith
25− , freeze
26− , thaw
27− , clone
28− , unsafeFreeze
29− , unsafeThaw
30− , toAssocArray
31− ) where
32−
33−import Prelude
34−
35−import Control.Monad.ST (ST, Region)
36−import Control.Monad.ST as ST
37−import Control.Monad.ST.Uncurried (STFn1, STFn2, STFn3, STFn4, runSTFn1, runSTFn2, runSTFn3, runSTFn4)
38−import Data.Maybe (Maybe(..))
39−
40−-- | A reference to a mutable array.
41−-- |
42−-- | The first type parameter represents the memory region which the array belongs to.
43−-- | The second type parameter defines the type of elements of the mutable array.
44−-- |
45−-- | The runtime representation of a value of type `STArray h a` is the same as that of `Array a`,
46−-- | except that mutation is allowed.
47−foreign import data STArray :: Region -> Type -> Type
48−
49−type role STArray nominal representational
50−
51−-- | An element and its index.
52−type Assoc a = { value :: a, index :: Int }
53−
54−-- | A safe way to create and work with a mutable array before returning an
55−-- | immutable array for later perusal. This function avoids copying the array
56−-- | before returning it - it uses unsafeFreeze internally, but this wrapper is
57−-- | a safe interface to that function.
58−run :: forall a. (forall h. ST h (STArray h a)) -> Array a
59−run st = ST.run (st >>= unsafeFreeze)
60−
61−-- | Perform an effect requiring a mutable array on a copy of an immutable array,
62−-- | safely returning the result as an immutable array.
63−withArray
64− :: forall h a b
65− . (STArray h a -> ST h b)
66− -> Array a
67− -> ST h (Array a)
68−withArray f xs = do
69− result <- thaw xs
70− _ <- f result
71− unsafeFreeze result
72−
73−-- | O(1). Convert a mutable array to an immutable array, without copying. The mutable
74−-- | array must not be mutated afterwards.
75−unsafeFreeze :: forall h a. STArray h a -> ST h (Array a)
76−unsafeFreeze = runSTFn1 unsafeFreezeImpl
77−
78−foreign import unsafeFreezeImpl :: forall h a. STFn1 (STArray h a) h (Array a)
79−
80−-- | O(1) Convert an immutable array to a mutable array, without copying. The input
81−-- | array must not be used afterward.
82−unsafeThaw :: forall h a. Array a -> ST h (STArray h a)
83−unsafeThaw = runSTFn1 unsafeThawImpl
84−
85−foreign import unsafeThawImpl :: forall h a. STFn1 (Array a) h (STArray h a)
86−
87−-- | Create a new, empty mutable array.
88−foreign import new :: forall h a. ST h (STArray h a)
89−
90−thaw
91− :: forall h a
92− . Array a
93− -> ST h (STArray h a)
94−thaw = runSTFn1 thawImpl
95−
96−-- | Create a mutable copy of an immutable array.
97−foreign import thawImpl :: forall h a. STFn1 (Array a) h (STArray h a)
98−
99−-- | Make a mutable copy of a mutable array.
100−clone
101− :: forall h a
102− . STArray h a
103− -> ST h (STArray h a)
104−clone = runSTFn1 cloneImpl
105−
106−foreign import cloneImpl :: forall h a. STFn1 (STArray h a) h (STArray h a)
107−
108−-- | Sort a mutable array in place. Sorting is stable: the order of equal
109−-- | elements is preserved.
110−sort :: forall a h. Ord a => STArray h a -> ST h (STArray h a)
111−sort = sortBy compare
112−
113−-- | Remove the first element from an array and return that element.
114−shift :: forall h a. STArray h a -> ST h (Maybe a)
115−shift = runSTFn3 shiftImpl Just Nothing
116−
117−foreign import shiftImpl
118− :: forall h a
119− . STFn3 (forall b. b -> Maybe b) (forall b. Maybe b) (STArray h a) h (Maybe a)
120−
121−-- | Sort a mutable array in place using a comparison function. Sorting is
122−-- | stable: the order of elements is preserved if they are equal according to
123−-- | the comparison function.
124−sortBy
125− :: forall a h
126− . (a -> a -> Ordering)
127− -> STArray h a
128− -> ST h (STArray h a)
129−sortBy comp = runSTFn3 sortByImpl comp case _ of
130− GT -> 1
131− EQ -> 0
132− LT -> -1
133−
134−foreign import sortByImpl
135− :: forall a h
136− . STFn3 (a -> a -> Ordering) (Ordering -> Int) (STArray h a) h (STArray h a)
137−
138−-- | Sort a mutable array in place based on a projection. Sorting is stable: the
139−-- | order of elements is preserved if they are equal according to the projection.
140−sortWith
141− :: forall a b h
142− . Ord b
143− => (a -> b)
144− -> STArray h a
145− -> ST h (STArray h a)
146−sortWith f = sortBy (comparing f)
147−
148−-- | Create an immutable copy of a mutable array.
149−freeze
150− :: forall h a
151− . STArray h a
152− -> ST h (Array a)
153−freeze = runSTFn1 freezeImpl
154−
155−foreign import freezeImpl :: forall h a. STFn1 (STArray h a) h (Array a)
156−
157−-- | Read the value at the specified index in a mutable array.
158−peek
159− :: forall h a
160− . Int
161− -> STArray h a
162− -> ST h (Maybe a)
163−peek = runSTFn4 peekImpl Just Nothing
164−
165−foreign import peekImpl :: forall h a r. STFn4 (a -> r) r Int (STArray h a) h r
166−
167−poke
168− :: forall h a
169− . Int
170− -> a
171− -> STArray h a
172− -> ST h Boolean
173−poke = runSTFn3 pokeImpl
174−
175−-- | Change the value at the specified index in a mutable array.
176−foreign import pokeImpl :: forall h a. STFn3 Int a (STArray h a) h Boolean
177−
178−foreign import lengthImpl :: forall h a. STFn1 (STArray h a) h Int
179−
180−-- | Get the number of elements in a mutable array.
181−length :: forall h a. STArray h a -> ST h Int
182−length = runSTFn1 lengthImpl
183−
184−-- | Remove the last element from an array and return that element.
185−pop :: forall h a. STArray h a -> ST h (Maybe a)
186−pop = runSTFn3 popImpl Just Nothing
187−
188−foreign import popImpl
189− :: forall h a
190− . STFn3 (forall b. b -> Maybe b) (forall b. Maybe b) (STArray h a) h (Maybe a)
191−
192−-- | Append an element to the end of a mutable array. Returns the new length of
193−-- | the array.
194−push :: forall h a. a -> (STArray h a) -> ST h Int
195−push = runSTFn2 pushImpl
196−
197−foreign import pushImpl :: forall h a. STFn2 a (STArray h a) h Int
198−
199−-- | Append the values in an immutable array to the end of a mutable array.
200−-- | Returns the new length of the mutable array.
201−pushAll
202− :: forall h a
203− . Array a
204− -> STArray h a
205− -> ST h Int
206−pushAll = runSTFn2 pushAllImpl
207−
208−foreign import pushAllImpl
209− :: forall h a
210− . STFn2 (Array a) (STArray h a) h Int
211−
212−-- | Append an element to the front of a mutable array. Returns the new length of
213−-- | the array.
214−unshift :: forall h a. a -> STArray h a -> ST h Int
215−unshift a = runSTFn2 unshiftAllImpl [ a ]
216−
217−-- | Append the values in an immutable array to the front of a mutable array.
218−-- | Returns the new length of the mutable array.
219−unshiftAll
220− :: forall h a
221− . Array a
222− -> STArray h a
223− -> ST h Int
224−unshiftAll = runSTFn2 unshiftAllImpl
225−
226−foreign import unshiftAllImpl
227− :: forall h a
228− . STFn2 (Array a) (STArray h a) h Int
229−
230−-- | Mutate the element at the specified index using the supplied function.
231−modify :: forall h a. Int -> (a -> a) -> STArray h a -> ST h Boolean
232−modify i f xs = do
233− entry <- peek i xs
234− case entry of
235− Just x -> poke i (f x) xs
236− Nothing -> pure false
237−
238−-- | Remove and/or insert elements from/into a mutable array at the specified index.
239−splice
240− :: forall h a
241− . Int
242− -> Int
243− -> Array a
244− -> STArray h a
245− -> ST h (Array a)
246−splice = runSTFn4 spliceImpl
247−
248−foreign import spliceImpl
249− :: forall h a
250− . STFn4 Int Int (Array a) (STArray h a) h (Array a)
251−
252−-- | Create an immutable copy of a mutable array, where each element
253−-- | is labelled with its index in the original array.
254−toAssocArray
255− :: forall h a
256− . STArray h a
257− -> ST h (Array (Assoc a))
258−toAssocArray = runSTFn1 toAssocArrayImpl
259−
260−foreign import toAssocArrayImpl
261− :: forall h a
262− . STFn1 (STArray h a) h (Array (Assoc a))
.spago/p/arrays-7.3.0/src/Data/Array/ST/Iterator.pursdeleted−80
@@ -1,80 +0,0 @@
1−module Data.Array.ST.Iterator
2− ( Iterator
3− , iterator
4− , iterate
5− , next
6− , peek
7− , exhausted
8− , pushWhile
9− , pushAll
10− ) where
11−
12−import Prelude
13−import Control.Monad.ST (ST)
14−import Control.Monad.ST as ST
15−import Control.Monad.ST.Ref (STRef)
16−import Control.Monad.ST.Ref as STRef
17−import Data.Array.ST (STArray)
18−import Data.Array.ST as STA
19−
20−import Data.Maybe (Maybe(..), isNothing)
21−
22−-- | This type provides a slightly easier way of iterating over an array's
23−-- | elements in an STArray computation, without having to keep track of
24−-- | indices.
25−data Iterator r a = Iterator (Int -> Maybe a) (STRef r Int)
26−
27−-- | Make an Iterator given an indexing function into an array (or anything
28−-- | else). If `xs :: Array a`, the standard way to create an iterator over
29−-- | `xs` is to use `iterator (xs !! _)`, where `(!!)` comes from `Data.Array`.
30−iterator :: forall r a. (Int -> Maybe a) -> ST r (Iterator r a)
31−iterator f =
32− Iterator f <$> STRef.new 0
33−
34−-- | Perform an action once for each item left in an iterator. If the action
35−-- | itself also advances the same iterator, `iterate` will miss those items
36−-- | out.
37−iterate :: forall r a. Iterator r a -> (a -> ST r Unit) -> ST r Unit
38−iterate iter f = do
39− break <- STRef.new false
40− ST.while (not <$> STRef.read break) do
41− mx <- next iter
42− case mx of
43− Just x -> f x
44− Nothing -> void $ STRef.write true break
45−
46−-- | Get the next item out of an iterator, advancing it. Returns Nothing if the
47−-- | Iterator is exhausted.
48−next :: forall r a. Iterator r a -> ST r (Maybe a)
49−next (Iterator f currentIndex) = do
50− i <- STRef.read currentIndex
51− _ <- STRef.modify (_ + 1) currentIndex
52− pure (f i)
53−
54−-- | Get the next item out of an iterator without advancing it.
55−peek :: forall r a. Iterator r a -> ST r (Maybe a)
56−peek (Iterator f currentIndex) = do
57− i <- STRef.read currentIndex
58− pure (f i)
59−
60−-- | Check whether an iterator has been exhausted.
61−exhausted :: forall r a. Iterator r a -> ST r Boolean
62−exhausted = map isNothing <<< peek
63−
64−-- | Extract elements from an iterator and push them on to an STArray for as
65−-- | long as those elements satisfy a given predicate.
66−pushWhile :: forall r a. (a -> Boolean) -> Iterator r a -> STArray r a -> ST r Unit
67−pushWhile p iter array = do
68− break <- STRef.new false
69− ST.while (not <$> STRef.read break) do
70− mx <- peek iter
71− case mx of
72− Just x | p x -> do
73− _ <- STA.push x array
74− void $ next iter
75− _ ->
76− void $ STRef.write true break
77−
78−-- | Push the entire remaining contents of an iterator onto an STArray.
79−pushAll :: forall r a. Iterator r a -> STArray r a -> ST r Unit
80−pushAll = pushWhile (const true)
.spago/p/arrays-7.3.0/src/Data/Array/ST/Partial.jsdeleted−7
@@ -1,7 +0,0 @@
1−export const peekImpl = function (i, xs) {
2− return xs[i];
3−};
4−
5−export const pokeImpl = function (i, a, xs) {
6− xs[i] = a;
7−};
.spago/p/arrays-7.3.0/src/Data/Array/ST/Partial.pursdeleted−36
@@ -1,36 +0,0 @@
1−-- | Partial functions for working with mutable arrays using the `ST` effect.
2−-- |
3−-- | This module is particularly helpful when performance is very important.
4−
5−module Data.Array.ST.Partial
6− ( peek
7− , poke
8− ) where
9−
10−import Control.Monad.ST (ST)
11−import Control.Monad.ST.Uncurried (STFn2, STFn3, runSTFn2, runSTFn3)
12−import Data.Array.ST (STArray)
13−import Data.Unit (Unit)
14−
15−-- | Read the value at the specified index in a mutable array.
16−peek
17− :: forall h a
18− . Partial
19− => Int
20− -> STArray h a
21− -> ST h a
22−peek = runSTFn2 peekImpl
23−
24−foreign import peekImpl :: forall h a. STFn2 Int (STArray h a) h a
25−
26−-- | Change the value at the specified index in a mutable array.
27−poke
28− :: forall h a
29− . Partial
30− => Int
31− -> a
32− -> STArray h a
33− -> ST h Unit
34−poke = runSTFn3 pokeImpl
35−
36−foreign import pokeImpl :: forall h a. STFn3 Int a (STArray h a) h Unit
.spago/p/avar-5.0.1/LICENSEdeleted−201
@@ -1,201 +0,0 @@
1− Apache License
2− Version 2.0, January 2004
3− http://www.apache.org/licenses/
4−
5− TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6−
7− 1. Definitions.
8−
9− "License" shall mean the terms and conditions for use, reproduction,
10− and distribution as defined by Sections 1 through 9 of this document.
11−
12− "Licensor" shall mean the copyright owner or entity authorized by
13− the copyright owner that is granting the License.
14−
15− "Legal Entity" shall mean the union of the acting entity and all
16− other entities that control, are controlled by, or are under common
17− control with that entity. For the purposes of this definition,
18− "control" means (i) the power, direct or indirect, to cause the
19− direction or management of such entity, whether by contract or
20− otherwise, or (ii) ownership of fifty percent (50%) or more of the
21− outstanding shares, or (iii) beneficial ownership of such entity.
22−
23− "You" (or "Your") shall mean an individual or Legal Entity
24− exercising permissions granted by this License.
25−
26− "Source" form shall mean the preferred form for making modifications,
27− including but not limited to software source code, documentation
28− source, and configuration files.
29−
30− "Object" form shall mean any form resulting from mechanical
31− transformation or translation of a Source form, including but
32− not limited to compiled object code, generated documentation,
33− and conversions to other media types.
34−
35− "Work" shall mean the work of authorship, whether in Source or
36− Object form, made available under the License, as indicated by a
37− copyright notice that is included in or attached to the work
38− (an example is provided in the Appendix below).
39−
40− "Derivative Works" shall mean any work, whether in Source or Object
41− form, that is based on (or derived from) the Work and for which the
42− editorial revisions, annotations, elaborations, or other modifications
43− represent, as a whole, an original work of authorship. For the purposes
44− of this License, Derivative Works shall not include works that remain
45− separable from, or merely link (or bind by name) to the interfaces of,
46− the Work and Derivative Works thereof.
47−
48− "Contribution" shall mean any work of authorship, including
49− the original version of the Work and any modifications or additions
50− to that Work or Derivative Works thereof, that is intentionally
51− submitted to Licensor for inclusion in the Work by the copyright owner
52− or by an individual or Legal Entity authorized to submit on behalf of
53− the copyright owner. For the purposes of this definition, "submitted"
54− means any form of electronic, verbal, or written communication sent
55− to the Licensor or its representatives, including but not limited to
56− communication on electronic mailing lists, source code control systems,
57− and issue tracking systems that are managed by, or on behalf of, the
58− Licensor for the purpose of discussing and improving the Work, but
59− excluding communication that is conspicuously marked or otherwise
60− designated in writing by the copyright owner as "Not a Contribution."
61−
62− "Contributor" shall mean Licensor and any individual or Legal Entity
63− on behalf of whom a Contribution has been received by Licensor and
64− subsequently incorporated within the Work.
65−
66− 2. Grant of Copyright License. Subject to the terms and conditions of
67− this License, each Contributor hereby grants to You a perpetual,
68− worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69− copyright license to reproduce, prepare Derivative Works of,
70− publicly display, publicly perform, sublicense, and distribute the
71− Work and such Derivative Works in Source or Object form.
72−
73− 3. Grant of Patent License. Subject to the terms and conditions of
74− this License, each Contributor hereby grants to You a perpetual,
75− worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76− (except as stated in this section) patent license to make, have made,
77− use, offer to sell, sell, import, and otherwise transfer the Work,
78− where such license applies only to those patent claims licensable
79− by such Contributor that are necessarily infringed by their
80− Contribution(s) alone or by combination of their Contribution(s)
81− with the Work to which such Contribution(s) was submitted. If You
82− institute patent litigation against any entity (including a
83− cross-claim or counterclaim in a lawsuit) alleging that the Work
84− or a Contribution incorporated within the Work constitutes direct
85− or contributory patent infringement, then any patent licenses
86− granted to You under this License for that Work shall terminate
87− as of the date such litigation is filed.
88−
89− 4. Redistribution. You may reproduce and distribute copies of the
90− Work or Derivative Works thereof in any medium, with or without
91− modifications, and in Source or Object form, provided that You
92− meet the following conditions:
93−
94− (a) You must give any other recipients of the Work or
95− Derivative Works a copy of this License; and
96−
97− (b) You must cause any modified files to carry prominent notices
98− stating that You changed the files; and
99−
100− (c) You must retain, in the Source form of any Derivative Works
101− that You distribute, all copyright, patent, trademark, and
102− attribution notices from the Source form of the Work,
103− excluding those notices that do not pertain to any part of
104− the Derivative Works; and
105−
106− (d) If the Work includes a "NOTICE" text file as part of its
107− distribution, then any Derivative Works that You distribute must
108− include a readable copy of the attribution notices contained
109− within such NOTICE file, excluding those notices that do not
110− pertain to any part of the Derivative Works, in at least one
111− of the following places: within a NOTICE text file distributed
112− as part of the Derivative Works; within the Source form or
113− documentation, if provided along with the Derivative Works; or,
114− within a display generated by the Derivative Works, if and
115− wherever such third-party notices normally appear. The contents
116− of the NOTICE file are for informational purposes only and
117− do not modify the License. You may add Your own attribution
118− notices within Derivative Works that You distribute, alongside
119− or as an addendum to the NOTICE text from the Work, provided
120− that such additional attribution notices cannot be construed
121− as modifying the License.
122−
123− You may add Your own copyright statement to Your modifications and
124− may provide additional or different license terms and conditions
125− for use, reproduction, or distribution of Your modifications, or
126− for any such Derivative Works as a whole, provided Your use,
127− reproduction, and distribution of the Work otherwise complies with
128− the conditions stated in this License.
129−
130− 5. Submission of Contributions. Unless You explicitly state otherwise,
131− any Contribution intentionally submitted for inclusion in the Work
132− by You to the Licensor shall be under the terms and conditions of
133− this License, without any additional terms or conditions.
134− Notwithstanding the above, nothing herein shall supersede or modify
135− the terms of any separate license agreement you may have executed
136− with Licensor regarding such Contributions.
137−
138− 6. Trademarks. This License does not grant permission to use the trade
139− names, trademarks, service marks, or product names of the Licensor,
140− except as required for reasonable and customary use in describing the
141− origin of the Work and reproducing the content of the NOTICE file.
142−
143− 7. Disclaimer of Warranty. Unless required by applicable law or
144− agreed to in writing, Licensor provides the Work (and each
145− Contributor provides its Contributions) on an "AS IS" BASIS,
146− WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147− implied, including, without limitation, any warranties or conditions
148− of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149− PARTICULAR PURPOSE. You are solely responsible for determining the
150− appropriateness of using or redistributing the Work and assume any
151− risks associated with Your exercise of permissions under this License.
152−
153− 8. Limitation of Liability. In no event and under no legal theory,
154− whether in tort (including negligence), contract, or otherwise,
155− unless required by applicable law (such as deliberate and grossly
156− negligent acts) or agreed to in writing, shall any Contributor be
157− liable to You for damages, including any direct, indirect, special,
158− incidental, or consequential damages of any character arising as a
159− result of this License or out of the use or inability to use the
160− Work (including but not limited to damages for loss of goodwill,
161− work stoppage, computer failure or malfunction, or any and all
162− other commercial damages or losses), even if such Contributor
163− has been advised of the possibility of such damages.
164−
165− 9. Accepting Warranty or Additional Liability. While redistributing
166− the Work or Derivative Works thereof, You may choose to offer,
167− and charge a fee for, acceptance of support, warranty, indemnity,
168− or other liability obligations and/or rights consistent with this
169− License. However, in accepting such obligations, You may act only
170− on Your own behalf and on Your sole responsibility, not on behalf
171− of any other Contributor, and only if You agree to indemnify,
172− defend, and hold each Contributor harmless for any liability
173− incurred by, or claims asserted against, such Contributor by reason
174− of your accepting any such warranty or additional liability.
175−
176− END OF TERMS AND CONDITIONS
177−
178− APPENDIX: How to apply the Apache License to your work.
179−
180− To apply the Apache License to your work, attach the following
181− boilerplate notice, with the fields enclosed by brackets "{}"
182− replaced with your own identifying information. (Don't include
183− the brackets!) The text should be enclosed in the appropriate
184− comment syntax for the file format. We also recommend that a
185− file or class name and description of purpose be included on the
186− same "printed page" as the copyright notice for easier
187− identification within third-party archives.
188−
189− Copyright {yyyy} {name of copyright owner}
190−
191− Licensed under the Apache License, Version 2.0 (the "License");
192− you may not use this file except in compliance with the License.
193− You may obtain a copy of the License at
194−
195− http://www.apache.org/licenses/LICENSE-2.0
196−
197− Unless required by applicable law or agreed to in writing, software
198− distributed under the License is distributed on an "AS IS" BASIS,
199− WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200− See the License for the specific language governing permissions and
201− limitations under the License.
.spago/p/avar-5.0.1/README.mddeleted−42
@@ -1,42 +0,0 @@
1−# AVar
2−
3−[![CI](https://github.com/purescript-contrib/purescript-avar/workflows/CI/badge.svg?branch=main)](https://github.com/purescript-contrib/purescript-avar/actions?query=workflow%3ACI+branch%3Amain)
4−[![Release](https://img.shields.io/github/release/purescript-contrib/purescript-avar.svg)](https://github.com/purescript-contrib/purescript-avar/releases)
5−[![Pursuit](https://pursuit.purescript.org/packages/purescript-avar/badge)](https://pursuit.purescript.org/packages/purescript-avar)
6−[![Maintainer: garyb](https://img.shields.io/badge/maintainer-garyb-teal.svg)](https://github.com/garyb)
7−
8−Low-level interface for asynchronous variables.
9−
10−## Installation
11−
12−Install `avar` with [Spago](https://github.com/purescript/spago):
13−
14−```sh
15−spago install avar
16−```
17−
18−## Quick start
19−
20−The quick start hasn't been written yet (contributions are welcome!). The quick start covers a common, minimal use case for the library, whereas longer examples and tutorials are kept in the [docs directory](./docs).
21−
22−## Documentation
23−
24−`avar` documentation is stored in a few places:
25−
26−1. Module documentation is [published on Pursuit](https://pursuit.purescript.org/packages/purescript-avar).
27−2. Usage examples can be found in [the test suite](./test).
28−
29−If you get stuck, there are several ways to get help:
30−
31−- [Open an issue](https://github.com/purescript-contrib/purescript-avar/issues) if you have encountered a bug or problem.
32−- Ask general questions on the [PureScript Discourse](https://discourse.purescript.org) forum or the [PureScript Discord](https://purescript.org/chat) chat.
33−
34−## Contributing
35−
36−You can contribute to `avar` in several ways:
37−
38−1. If you encounter a problem or have a question, please [open an issue](https://github.com/purescript-contrib/purescript-avar/issues). We'll do our best to work with you to resolve or answer it.
39−
40−2. If you would like to contribute code, tests, or documentation, please [read the contributor guide](./CONTRIBUTING.md). It's a short, helpful introduction to contributing to this library, including development instructions.
41−
42−3. If you have written a library, tutorial, guide, or other resource based on this package, please share it on the [PureScript Discourse](https://discourse.purescript.org)! Writing libraries and learning resources are a great way to help this library succeed.
.spago/p/avar-5.0.1/bower.jsondeleted−39
@@ -1,39 +0,0 @@
1−{
2− "name": "purescript-avar",
3− "homepage": "https://github.com/slamdata/purescript-avar",
4− "authors": [
5− "Nathan Faubion <nathan@n-son.com>"
6− ],
7− "description": "Low-level interface for asynchronous variables",
8− "repository": {
9− "type": "git",
10− "url": "https://github.com/purescript-contrib/purescript-avar.git"
11− },
12− "main": "",
13− "keywords": [
14− "PureScript",
15− "AVar"
16− ],
17− "license": "Apache-2.0",
18− "ignore": [
19− "**/.*",
20− "node_modules",
21− "bower_components",
22− "test",
23− "tests"
24− ],
25− "dependencies": {
26− "purescript-aff": ">=7.0.0 <9.0.0",
27− "purescript-effect": "^4.0.0",
28− "purescript-either": "^6.0.0",
29− "purescript-exceptions": "^6.0.0",
30− "purescript-functions": "^6.0.0",
31− "purescript-maybe": "^6.0.0"
32− },
33− "devDependencies": {
34− "purescript-assert": "^6.0.0",
35− "purescript-console": "^6.0.0",
36− "purescript-refs": "^6.0.0",
37− "purescript-transformers": "^6.0.0"
38− }
39−}
.spago/p/avar-5.0.1/package.jsondeleted−13
@@ -1,13 +0,0 @@
1−{
2− "private": true,
3− "scripts": {
4− "build": "eslint src && spago build --purs-args '--censor-lib --strict'",
5− "test": "spago test --no-install"
6− },
7− "devDependencies": {
8− "eslint": "^9.20.0",
9− "purescript": "^0.15.15",
10− "purescript-psa": "^0.9.0",
11− "spago": "^0.21.0"
12− }
13−}
.spago/p/avar-5.0.1/packages.dhalldeleted−5
@@ -1,5 +0,0 @@
1−let upstream =
2− https://github.com/purescript/package-sets/releases/download/psc-0.15.15-20250205/packages.dhall
3− sha256:442220ce62d4f9a353819b28db9a7295cca7acaae7d2fbe814e52c1b25a7a296
4−
5−in upstream
.spago/p/avar-5.0.1/purs.jsondeleted−18
@@ -1,18 +0,0 @@
1−{
2− "name": "avar",
3− "version": "5.0.1",
4− "license": "Apache-2.0",
5− "description": "Low-level interface for asynchronous variables",
6− "location": {
7− "githubOwner": "purescript-contrib",
8− "githubRepo": "purescript-avar"
9− },
10− "dependencies": {
11− "aff": ">=7.0.0 <9.0.0",
12− "effect": ">=4.0.0 <5.0.0",
13− "either": ">=6.0.0 <7.0.0",
14− "exceptions": ">=6.0.0 <7.0.0",
15− "functions": ">=6.0.0 <7.0.0",
16− "maybe": ">=6.0.0 <7.0.0"
17− }
18−}
.spago/p/avar-5.0.1/spago.dhalldeleted−17
@@ -1,17 +0,0 @@
1−{ name = "avar"
2−, dependencies =
3− [ "aff"
4− , "assert"
5− , "console"
6− , "effect"
7− , "either"
8− , "exceptions"
9− , "foldable-traversable"
10− , "functions"
11− , "maybe"
12− , "prelude"
13− , "refs"
14− ]
15−, packages = ./packages.dhall
16−, sources = [ "src/**/*.purs", "test/**/*.purs" ]
17−}
.spago/p/avar-5.0.1/src/Effect/AVar.jsdeleted−307
@@ -1,307 +0,0 @@
1−var AVar = function () {
2−
3− function MutableQueue () {
4− this.head = null;
5− this.last = null;
6− this.size = 0;
7− }
8−
9− function MutableCell (queue, value) {
10− this.queue = queue;
11− this.value = value;
12− this.next = null;
13− this.prev = null;
14− }
15−
16− function AVar (value) {
17− this.draining = false;
18− this.error = null;
19− this.value = value;
20− this.takes = new MutableQueue();
21− this.reads = new MutableQueue();
22− this.puts = new MutableQueue();
23− }
24−
25− var EMPTY = {};
26−
27− function runEff(eff) {
28− try {
29− eff();
30− } catch (error) {
31− setTimeout(function () {
32− throw error;
33− }, 0);
34− }
35− }
36−
37− function putLast (queue, value) {
38− var cell = new MutableCell(queue, value);
39− switch (queue.size) {
40− case 0:
41− queue.head = cell;
42− break;
43− case 1:
44− cell.prev = queue.head;
45− queue.head.next = cell;
46− queue.last = cell;
47− break;
48− default:
49− cell.prev = queue.last;
50− queue.last.next = cell;
51− queue.last = cell;
52− }
53− queue.size++;
54− return cell;
55− }
56−
57− function takeLast (queue) {
58− var cell;
59− switch (queue.size) {
60− case 0:
61− return null;
62− case 1:
63− cell = queue.head;
64− queue.head = null;
65− break;
66− case 2:
67− cell = queue.last;
68− queue.head.next = null;
69− queue.last = null;
70− break;
71− default:
72− cell = queue.last;
73− queue.last = cell.prev;
74− queue.last.next = null;
75− }
76− cell.prev = null;
77− cell.queue = null;
78− queue.size--;
79− return cell.value;
80− }
81−
82− function takeHead (queue) {
83− var cell;
84− switch (queue.size) {
85− case 0:
86− return null;
87− case 1:
88− cell = queue.head;
89− queue.head = null;
90− break;
91− case 2:
92− cell = queue.head;
93− queue.last.prev = null;
94− queue.head = queue.last;
95− queue.last = null;
96− break;
97− default:
98− cell = queue.head;
99− queue.head = cell.next;
100− queue.head.prev = null;
101− }
102− cell.next = null;
103− cell.queue = null;
104− queue.size--;
105− return cell.value;
106− }
107−
108− function deleteCell (cell) {
109− if (cell.queue === null) {
110− return;
111− }
112− if (cell.queue.last === cell) {
113− takeLast(cell.queue);
114− return;
115− }
116− if (cell.queue.head === cell) {
117− takeHead(cell.queue);
118− return;
119− }
120− if (cell.prev) {
121− cell.prev.next = cell.next;
122− }
123− if (cell.next) {
124− cell.next.prev = cell.prev;
125− }
126− cell.queue.size--;
127− cell.queue = null;
128− cell.value = null;
129− cell.next = null;
130− cell.prev = null;
131− }
132−
133− function drainVar (util, avar) {
134− if (avar.draining) {
135− return;
136− }
137−
138− var ps = avar.puts;
139− var ts = avar.takes;
140− var rs = avar.reads;
141− var p, r, t, value, rsize;
142−
143− avar.draining = true;
144−
145− while (1) { // eslint-disable-line no-constant-condition
146− p = null;
147− r = null;
148− t = null;
149− value = avar.value;
150− rsize = rs.size;
151−
152− if (avar.error !== null) {
153− value = util.left(avar.error);
154− while (p = takeHead(ps)) { // eslint-disable-line no-cond-assign
155− runEff(p.cb(value));
156− }
157− while (r = takeHead(rs)) { // eslint-disable-line no-cond-assign
158− runEff(r(value));
159− }
160− while (t = takeHead(ts)) { // eslint-disable-line no-cond-assign
161− runEff(t(value));
162− }
163− break;
164− }
165−
166− // Process the next put. We do not immediately invoke the callback
167− // because we want to preserve ordering. If there are takes/reads
168− // we want to run those first.
169− if (value === EMPTY && (p = takeHead(ps))) {
170− avar.value = value = p.value;
171− }
172−
173− if (value !== EMPTY) {
174− // We go ahead and queue up the next take for the same reasons as
175− // above. Invoking the read callbacks can affect the mutable queue.
176− t = takeHead(ts);
177− // We only want to process the reads queued up before running these
178− // callbacks so we guard on rsize.
179− while (rsize-- && (r = takeHead(rs))) {
180− runEff(r(util.right(value)));
181− }
182− if (t !== null) {
183− avar.value = EMPTY;
184− runEff(t(util.right(value)));
185− }
186− }
187−
188− if (p !== null) {
189− runEff(p.cb(util.right(void 0)));
190− }
191−
192− // Callbacks could have queued up more items so we need to guard on the
193− // actual mutable properties.
194− if (avar.value === EMPTY && ps.size === 0 || avar.value !== EMPTY && ts.size === 0) {
195− break;
196− }
197− }
198− avar.draining = false;
199− }
200−
201− AVar.EMPTY = EMPTY;
202− AVar.putLast = putLast;
203− AVar.takeLast = takeLast;
204− AVar.takeHead = takeHead;
205− AVar.deleteCell = deleteCell;
206− AVar.drainVar = drainVar;
207−
208− return AVar;
209−}();
210−
211−export function empty() {
212− return new AVar(AVar.EMPTY);
213−}
214−
215−export function _newVar(value) {
216− return function () {
217− return new AVar(value);
218− };
219−}
220−
221−export function _killVar(util, error, avar) {
222− return function () {
223− if (avar.error === null) {
224− avar.error = error;
225− avar.value = AVar.EMPTY;
226− AVar.drainVar(util, avar);
227− }
228− };
229−}
230−
231−export function _putVar(util, value, avar, cb) {
232− return function () {
233− var cell = AVar.putLast(avar.puts, { cb: cb, value: value });
234− AVar.drainVar(util, avar);
235− return function () {
236− AVar.deleteCell(cell);
237− };
238− };
239−}
240−
241−export function _takeVar(util, avar, cb) {
242− return function () {
243− var cell = AVar.putLast(avar.takes, cb);
244− AVar.drainVar(util, avar);
245− return function () {
246− AVar.deleteCell(cell);
247− };
248− };
249−}
250−
251−export function _readVar(util, avar, cb) {
252− return function () {
253− var cell = AVar.putLast(avar.reads, cb);
254− AVar.drainVar(util, avar);
255− return function () {
256− AVar.deleteCell(cell);
257− };
258− };
259−}
260−
261−export function _tryPutVar(util, value, avar) {
262− return function () {
263− if (avar.value === AVar.EMPTY && avar.error === null) {
264− avar.value = value;
265− AVar.drainVar(util, avar);
266− return true;
267− } else {
268− return false;
269− }
270− };
271−}
272−
273−export function _tryTakeVar(util, avar) {
274− return function () {
275− var value = avar.value;
276− if (value === AVar.EMPTY) {
277− return util.nothing;
278− } else {
279− avar.value = AVar.EMPTY;
280− AVar.drainVar(util, avar);
281− return util.just(value);
282− }
283− };
284−}
285−
286−export function _tryReadVar(util, avar) {
287− return function () {
288− if (avar.value === AVar.EMPTY) {
289− return util.nothing;
290− } else {
291− return util.just(avar.value);
292− }
293− };
294−}
295−
296−export function _status(util, avar) {
297− return function () {
298− if (avar.error) {
299− return util.killed(avar.error);
300− }
301− if (avar.value === AVar.EMPTY) {
302− return util.empty;
303− }
304− return util.filled(avar.value);
305− };
306−}
307−
.spago/p/avar-5.0.1/src/Effect/AVar.pursdeleted−133
@@ -1,133 +0,0 @@
1−module Effect.AVar
2− ( AVar
3− , AVarCallback
4− , AVarStatus(..)
5− , new
6− , empty
7− , take
8− , tryTake
9− , put
10− , tryPut
11− , read
12− , tryRead
13− , kill
14− , status
15− , isEmpty
16− , isFilled
17− , isKilled
18− ) where
19−
20−import Prelude
21−import Data.Either (Either(..))
22−import Data.Function.Uncurried as Fn
23−import Data.Maybe (Maybe(..))
24−import Effect (Effect)
25−import Effect.Exception (Error)
26−
27−type AVarCallback a = (Either Error a -> Effect Unit)
28−
29−foreign import data AVar :: Type -> Type
30−
31−type role AVar representational
32−
33−data AVarStatus a
34− = Killed Error
35− | Filled a
36− | Empty
37−
38−-- | Creates a new empty AVar.
39−foreign import empty :: forall a. Effect (AVar a)
40−
41−-- | Creates a fresh AVar with an initial value.
42−new :: forall a. a -> Effect (AVar a)
43−new = _newVar
44−
45−-- | Kills the AVar with an exception. All pending and future actions will
46−-- | resolve immediately with the provided exception.
47−kill :: forall a. Error -> AVar a -> Effect Unit
48−kill err avar = Fn.runFn3 _killVar ffiUtil err avar
49−
50−-- | Sets the value of the AVar. If the AVar is already filled, it will be
51−-- | queued until the value is emptied. Multiple puts will resolve in order as
52−-- | the AVar becomes available. Returns an effect which will remove the
53−-- | callback from the pending queue.
54−put :: forall a. a -> AVar a -> AVarCallback Unit -> Effect (Effect Unit)
55−put value avar cb = Fn.runFn4 _putVar ffiUtil value avar cb
56−
57−-- | Attempts to synchronously fill an AVar. If the AVar is already filled,
58−-- | this will do nothing. Returns true or false depending on if it succeeded.
59−tryPut :: forall a. a -> AVar a -> Effect Boolean
60−tryPut value avar = Fn.runFn3 _tryPutVar ffiUtil value avar
61−
62−-- | Takes the AVar value, leaving it empty. If the AVar is already empty,
63−-- | the callback will be queued until the AVar is filled. Multiple takes will
64−-- | resolve in order as the AVar fills. Returns an effect which will remove
65−-- | the callback from the pending queue.
66−take :: forall a. AVar a -> AVarCallback a -> Effect (Effect Unit)
67−take avar cb = Fn.runFn3 _takeVar ffiUtil avar cb
68−
69−-- | Attempts to synchronously take an AVar value, leaving it empty. If the
70−-- | AVar is empty, this will return `Nothing`.
71−tryTake :: forall a. AVar a -> Effect (Maybe a)
72−tryTake avar = Fn.runFn2 _tryTakeVar ffiUtil avar
73−
74−-- | Reads the AVar value. Unlike `take`, this will not leave the AVar empty.
75−-- | If the AVar is empty, this will queue until it is filled. Multiple reads
76−-- | will resolve at the same time, as soon as possible.
77−read :: forall a. AVar a -> AVarCallback a -> Effect (Effect Unit)
78−read avar cb = Fn.runFn3 _readVar ffiUtil avar cb
79−
80−-- | Attempts to synchronously read an AVar. If the AVar is empty, this will
81−-- | return `Nothing`.
82−tryRead :: forall a. AVar a -> Effect (Maybe a)
83−tryRead avar = Fn.runFn2 _tryReadVar ffiUtil avar
84−
85−-- | Synchronously checks the status of an AVar.
86−status :: forall a. AVar a -> Effect (AVarStatus a)
87−status avar = Fn.runFn2 _status ffiUtil avar
88−
89−isEmpty :: forall a. AVarStatus a -> Boolean
90−isEmpty = case _ of
91− Empty -> true
92− _ -> false
93−
94−isFilled :: forall a. AVarStatus a -> Boolean
95−isFilled = case _ of
96− Filled _ -> true
97− _ -> false
98−
99−isKilled :: forall a. AVarStatus a -> Boolean
100−isKilled = case _ of
101− Killed _ -> true
102− _ -> false
103−
104−foreign import _newVar :: forall a. a -> Effect (AVar a)
105−foreign import _killVar :: forall a. Fn.Fn3 FFIUtil Error (AVar a) (Effect Unit)
106−foreign import _putVar :: forall a. Fn.Fn4 FFIUtil a (AVar a) (AVarCallback Unit) (Effect (Effect Unit))
107−foreign import _tryPutVar :: forall a. Fn.Fn3 FFIUtil a (AVar a) (Effect Boolean)
108−foreign import _takeVar :: forall a. Fn.Fn3 FFIUtil (AVar a) (AVarCallback a) (Effect (Effect Unit))
109−foreign import _tryTakeVar :: forall a. Fn.Fn2 FFIUtil (AVar a) (Effect (Maybe a))
110−foreign import _readVar :: forall a. Fn.Fn3 FFIUtil (AVar a) (AVarCallback a) (Effect (Effect Unit))
111−foreign import _tryReadVar :: forall a. Fn.Fn2 FFIUtil (AVar a) (Effect (Maybe a))
112−foreign import _status :: forall a. Fn.Fn2 FFIUtil (AVar a) (Effect (AVarStatus a))
113−
114−type FFIUtil =
115− { left :: forall a b. a -> Either a b
116− , right :: forall a b. b -> Either a b
117− , nothing :: forall a. Maybe a
118− , just :: forall a. a -> Maybe a
119− , killed :: forall a. Error -> AVarStatus a
120− , filled :: forall a. a -> AVarStatus a
121− , empty :: forall a. AVarStatus a
122− }
123−
124−ffiUtil :: FFIUtil
125−ffiUtil =
126− { left: Left
127− , right: Right
128− , nothing: Nothing
129− , just: Just
130− , killed: Killed
131− , filled: Filled
132− , empty: Empty
133− }
.spago/p/avar-5.0.1/src/Effect/Aff/AVar.pursdeleted−77
@@ -1,77 +0,0 @@
1−module Effect.Aff.AVar
2− ( module Effect.AVar
3− , new
4− , empty
5− , status
6− , take
7− , tryTake
8− , put
9− , tryPut
10− , read
11− , tryRead
12− , kill
13− ) where
14−
15−import Prelude
16−import Data.Maybe (Maybe)
17−import Effect.Aff (Aff, makeAff, effectCanceler)
18−import Effect.AVar (AVar, AVarStatus(..), isEmpty, isFilled, isKilled)
19−import Effect.AVar as AVar
20−import Effect.Class (liftEffect)
21−import Effect.Exception (Error)
22−
23−-- | Creates a fresh AVar with an initial value.
24−new :: forall a. a -> Aff (AVar a)
25−new = liftEffect <<< AVar.new
26−
27−-- | Creates a fresh AVar.
28−empty :: forall a. Aff (AVar a)
29−empty = liftEffect AVar.empty
30−
31−-- | Synchronously checks the status of an AVar.
32−status :: forall a. AVar a -> Aff (AVar.AVarStatus a)
33−status = liftEffect <<< AVar.status
34−
35−-- | Takes the AVar value, leaving it empty. If the AVar is already empty,
36−-- | the callback will be queued until the AVar is filled. Multiple takes will
37−-- | resolve in order as the AVar fills.
38−take :: forall a. AVar a -> Aff a
39−take avar = makeAff \k -> do
40− c <- AVar.take avar k
41− pure (effectCanceler c)
42−
43−-- | Attempts to synchronously take an AVar value, leaving it empty. If the
44−-- | AVar is empty, this will return `Nothing`.
45−tryTake :: forall a. AVar a -> Aff (Maybe a)
46−tryTake = liftEffect <<< AVar.tryTake
47−
48−-- | Sets the value of the AVar. If the AVar is already filled, it will be
49−-- | queued until the value is emptied. Multiple puts will resolve in order as
50−-- | the AVar becomes available.
51−put :: forall a. a -> AVar a -> Aff Unit
52−put value avar = makeAff \k -> do
53− c <- AVar.put value avar k
54− pure (effectCanceler c)
55−
56−-- | Attempts to synchronously fill an AVar. If the AVar is already filled,
57−-- | this will do nothing. Returns true or false depending on if it succeeded.
58−tryPut :: forall a. a -> AVar a -> Aff Boolean
59−tryPut value = liftEffect <<< AVar.tryPut value
60−
61−-- | Reads the AVar value. Unlike `take`, this will not leave the AVar empty.
62−-- | If the AVar is empty, this will queue until it is filled. Multiple reads
63−-- | will resolve at the same time, as soon as possible.
64−read :: forall a. AVar a -> Aff a
65−read avar = makeAff \k -> do
66− c <- AVar.read avar k
67− pure (effectCanceler c)
68−
69−-- | Attempts to synchronously read an AVar. If the AVar is empty, this will
70−-- | return `Nothing`.
71−tryRead :: forall a. AVar a -> Aff (Maybe a)
72−tryRead = liftEffect <<< AVar.tryRead
73−
74−-- | Kills the AVar with an exception. All pending and future actions will
75−-- | resolve immediately with the provided exception.
76−kill :: forall a. Error -> AVar a -> Aff Unit
77−kill error = liftEffect <<< AVar.kill error
.spago/p/bifunctors-6.1.0/LICENSEdeleted−26
@@ -1,26 +0,0 @@
1−Copyright 2018 PureScript
2−
3−Redistribution and use in source and binary forms, with or without modification,
4−are permitted provided that the following conditions are met:
5−
6−1. Redistributions of source code must retain the above copyright notice, this
7−list of conditions and the following disclaimer.
8−
9−2. Redistributions in binary form must reproduce the above copyright notice,
10−this list of conditions and the following disclaimer in the documentation and/or
11−other materials provided with the distribution.
12−
13−3. Neither the name of the copyright holder nor the names of its contributors
14−may be used to endorse or promote products derived from this software without
15−specific prior written permission.
16−
17−THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18−ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19−WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20−DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
21−ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22−(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23−LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24−ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25−(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26−SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.spago/p/bifunctors-6.1.0/README.mddeleted−17
@@ -1,17 +0,0 @@
1−# purescript-bifunctors
2−
3−[![Latest release](http://img.shields.io/github/release/purescript/purescript-bifunctors.svg)](https://github.com/purescript/purescript-bifunctors/releases)
4−[![Build status](https://github.com/purescript/purescript-bifunctors/workflows/CI/badge.svg?branch=master)](https://github.com/purescript/purescript-bifunctors/actions?query=workflow%3ACI+branch%3Amaster)
5−[![Pursuit](https://pursuit.purescript.org/packages/purescript-bifunctors/badge)](https://pursuit.purescript.org/packages/purescript-bifunctors)
6−
7−Bifunctors and biapplicatives.
8−
9−## Installation
10−
11−```
12−spago install bifunctors
13−```
14−
15−## Documentation
16−
17−Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-bifunctors).
.spago/p/bifunctors-6.1.0/bower.jsondeleted−26
@@ -1,26 +0,0 @@
1−{
2− "name": "purescript-bifunctors",
3− "homepage": "https://github.com/purescript/purescript-bifunctors",
4− "description": "Bifunctors and biapplicatives",
5− "license": "BSD-3-Clause",
6− "repository": {
7− "type": "git",
8− "url": "https://github.com/purescript/purescript-bifunctors.git"
9− },
10− "ignore": [
11− "**/.*",
12− "bower_components",
13− "node_modules",
14− "output",
15− "test",
16− "bower.json",
17− "package.json"
18− ],
19− "dependencies": {
20− "purescript-const": "^6.0.0",
21− "purescript-either": "^6.0.0",
22− "purescript-newtype": "^5.0.0",
23− "purescript-prelude": "^6.0.0",
24− "purescript-tuples": "^7.0.0"
25− }
26−}
.spago/p/bifunctors-6.1.0/package.jsondeleted−12
@@ -1,12 +0,0 @@
1−{
2− "private": true,
3− "scripts": {
4− "clean": "rimraf output && rimraf .pulp-cache",
5− "build": "pulp build -- --censor-lib --strict"
6− },
7− "devDependencies": {
8− "pulp": "16.0.0-0",
9− "purescript-psa": "^0.8.2",
10− "rimraf": "^3.0.2"
11− }
12−}
.spago/p/bifunctors-6.1.0/purs.jsondeleted−17
@@ -1,17 +0,0 @@
1−{
2− "name": "bifunctors",
3− "version": "6.1.0",
4− "license": "BSD-3-Clause",
5− "description": "Bifunctors and biapplicatives",
6− "location": {
7− "githubOwner": "purescript",
8− "githubRepo": "purescript-bifunctors"
9− },
10− "dependencies": {
11− "const": ">=6.0.0 <7.0.0",
12− "either": ">=6.0.0 <7.0.0",
13− "newtype": ">=5.0.0 <6.0.0",
14− "prelude": ">=6.0.0 <7.0.0",
15− "tuples": ">=7.0.0 <8.0.0"
16− }
17−}
.spago/p/bifunctors-6.1.0/src/Control/Biapplicative.pursdeleted−12
@@ -1,12 +0,0 @@
1−module Control.Biapplicative where
2−
3−import Control.Biapply (class Biapply)
4−import Data.Tuple (Tuple(..))
5−
6−-- | `Biapplicative` captures type constructors of two arguments which support lifting of
7−-- | functions of zero or more arguments, in the sense of `Applicative`.
8−class Biapply w <= Biapplicative w where
9− bipure :: forall a b. a -> b -> w a b
10−
11−instance biapplicativeTuple :: Biapplicative Tuple where
12− bipure = Tuple
.spago/p/bifunctors-6.1.0/src/Control/Biapply.pursdeleted−59
@@ -1,59 +0,0 @@
1−module Control.Biapply where
2−
3−import Data.Function (const, identity)
4−
5−import Data.Bifunctor (class Bifunctor, bimap)
6−import Data.Tuple (Tuple(..))
7−
8−-- | A convenience operator which can be used to apply the result of `bipure` in
9−-- | the style of `Applicative`:
10−-- |
11−-- | ```purescript
12−-- | bipure f g <<$>> x <<*>> y
13−-- | ```
14−infixl 4 identity as <<$>>
15−
16−-- | `Biapply` captures type constructors of two arguments which support lifting of
17−-- | functions of one or more arguments, in the sense of `Apply`.
18−class Bifunctor w <= Biapply w where
19− biapply :: forall a b c d. w (a -> b) (c -> d) -> w a c -> w b d
20−
21−infixl 4 biapply as <<*>>
22−
23−-- | Keep the results of the second computation.
24−biapplyFirst :: forall w a b c d. Biapply w => w a b -> w c d -> w c d
25−biapplyFirst a b = bimap (const identity) (const identity) <<$>> a <<*>> b
26−
27−infixl 4 biapplyFirst as *>>
28−
29−-- | Keep the results of the first computation.
30−biapplySecond :: forall w a b c d. Biapply w => w a b -> w c d -> w a b
31−biapplySecond a b = bimap const const <<$>> a <<*>> b
32−
33−infixl 4 biapplySecond as <<*
34−
35−-- | Lift a function of two arguments.
36−bilift2
37− :: forall w a b c d e f
38− . Biapply w
39− => (a -> b -> c)
40− -> (d -> e -> f)
41− -> w a d
42− -> w b e
43− -> w c f
44−bilift2 f g a b = bimap f g <<$>> a <<*>> b
45−
46−-- | Lift a function of three arguments.
47−bilift3
48− :: forall w a b c d e f g h
49− . Biapply w
50− => (a -> b -> c -> d)
51− -> (e -> f -> g -> h)
52− -> w a e
53− -> w b f
54− -> w c g
55− -> w d h
56−bilift3 f g a b c = bimap f g <<$>> a <<*>> b <<*>> c
57−
58−instance biapplyTuple :: Biapply Tuple where
59− biapply (Tuple f g) (Tuple a b) = Tuple (f a) (g b)
.spago/p/bifunctors-6.1.0/src/Data/Bifunctor.pursdeleted−46
@@ -1,46 +0,0 @@
1−module Data.Bifunctor where
2−
3−import Control.Category (identity)
4−import Data.Const (Const(..))
5−import Data.Either (Either(..))
6−import Data.Tuple (Tuple(..))
7−import Data.Unit (Unit, unit)
8−import Data.Function (const)
9−
10−-- | A `Bifunctor` is a `Functor` from the pair category `(Type, Type)` to `Type`.
11−-- |
12−-- | A type constructor with two type arguments can be made into a `Bifunctor` if
13−-- | both of its type arguments are covariant.
14−-- |
15−-- | The `bimap` function maps a pair of functions over the two type arguments
16−-- | of the bifunctor.
17−-- |
18−-- | Laws:
19−-- |
20−-- | - Identity: `bimap identity identity == identity`
21−-- | - Composition: `bimap f1 g1 <<< bimap f2 g2 == bimap (f1 <<< f2) (g1 <<< g2)`
22−-- |
23−class Bifunctor f where
24− bimap :: forall a b c d. (a -> b) -> (c -> d) -> f a c -> f b d
25−
26−-- | Map a function over the first type argument of a `Bifunctor`.
27−lmap :: forall f a b c. Bifunctor f => (a -> b) -> f a c -> f b c
28−lmap f = bimap f identity
29−
30−-- | Map a function over the second type arguments of a `Bifunctor`.
31−rmap :: forall f a b c. Bifunctor f => (b -> c) -> f a b -> f a c
32−rmap = bimap identity
33−
34−-- | The bivoid function is used to ignore the types wrapped by a Bifunctor.
35−bivoid :: forall f a b. Bifunctor f => f a b -> f Unit Unit
36−bivoid = bimap (const unit) (const unit)
37−
38−instance bifunctorEither :: Bifunctor Either where
39− bimap f _ (Left l) = Left (f l)
40− bimap _ g (Right r) = Right (g r)
41−
42−instance bifunctorTuple :: Bifunctor Tuple where
43− bimap f g (Tuple x y) = Tuple (f x) (g y)
44−
45−instance bifunctorConst :: Bifunctor Const where
46− bimap f _ (Const a) = Const (f a)
.spago/p/bifunctors-6.1.0/src/Data/Bifunctor/Join.pursdeleted−31
@@ -1,31 +0,0 @@
1−module Data.Bifunctor.Join where
2−
3−import Prelude
4−
5−import Control.Biapplicative (class Biapplicative, bipure)
6−import Control.Biapply (class Biapply, (<<*>>))
7−
8−import Data.Bifunctor (class Bifunctor, bimap)
9−import Data.Newtype (class Newtype)
10−
11−-- | Turns a `Bifunctor` into a `Functor` by equating the two type arguments.
12−newtype Join :: forall k. (k -> k -> Type) -> k -> Type
13−newtype Join p a = Join (p a a)
14−
15−derive instance newtypeJoin :: Newtype (Join p a) _
16−
17−derive newtype instance eqJoin :: Eq (p a a) => Eq (Join p a)
18−
19−derive newtype instance ordJoin :: Ord (p a a) => Ord (Join p a)
20−
21−instance showJoin :: Show (p a a) => Show (Join p a) where
22− show (Join x) = "(Join " <> show x <> ")"
23−
24−instance bifunctorJoin :: Bifunctor p => Functor (Join p) where
25− map f (Join a) = Join (bimap f f a)
26−
27−instance biapplyJoin :: Biapply p => Apply (Join p) where
28− apply (Join f) (Join a) = Join (f <<*>> a)
29−
30−instance biapplicativeJoin :: Biapplicative p => Applicative (Join p) where
31− pure a = Join (bipure a a)
.spago/p/catenable-lists-7.0.0/LICENSEdeleted−26
@@ -1,26 +0,0 @@
1−Copyright 2018 PureScript
2−
3−Redistribution and use in source and binary forms, with or without modification,
4−are permitted provided that the following conditions are met:
5−
6−1. Redistributions of source code must retain the above copyright notice, this
7−list of conditions and the following disclaimer.
8−
9−2. Redistributions in binary form must reproduce the above copyright notice,
10−this list of conditions and the following disclaimer in the documentation and/or
11−other materials provided with the distribution.
12−
13−3. Neither the name of the copyright holder nor the names of its contributors
14−may be used to endorse or promote products derived from this software without
15−specific prior written permission.
16−
17−THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18−ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19−WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20−DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
21−ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22−(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23−LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24−ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25−(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26−SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.spago/p/catenable-lists-7.0.0/README.mddeleted−41
@@ -1,41 +0,0 @@
1−# purescript-catenable-lists
2−
3−[![Latest release](http://img.shields.io/github/release/purescript/purescript-catenable-lists.svg)](https://github.com/purescript/purescript-catenable-lists/releases)
4−[![Build status](https://github.com/purescript/purescript-catenable-lists/workflows/CI/badge.svg?branch=master)](https://github.com/purescript/purescript-catenable-lists/actions?query=workflow%3ACI+branch%3Amaster)
5−[![Pursuit](https://pursuit.purescript.org/packages/purescript-catenable-lists/badge)](https://pursuit.purescript.org/packages/purescript-catenable-lists)
6−
7−Strict catenable list implementation for PureScript.
8−
9−The implementation is based on a queue data type that is backed by a
10−pair of lists.
11−
12−See the following references for further information.
13−
14−- [Simple and Efficient Purely Functional Queues and Dequeues](http://www.westpoint.edu/eecs/SiteAssets/SitePages/Faculty%20Publication%20Documents/Okasaki/jfp95queue.pdf) (Okasaki 1995)
15−- [Purely Functional Data Structures](http://www.cs.cmu.edu/~rwh/theses/okasaki.pdf) (Okasaki 1996)
16−
17−## Installation
18−
19−```bash
20−spago install catenable-lists
21−```
22−
23−## Documentation
24−
25−Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-catenable-lists).
26−
27−## Benchmarks
28−
29−![cons](benchmarks/cons.png)
30−
31−![snoc](benchmarks/snoc.png)
32−
33−![uncons](benchmarks/uncons.png)
34−
35−![append](benchmarks/append.png)
36−
37−![snoc-uncons](benchmarks/snoc-uncons.png)
38−
39−![cons-uncons-n](benchmarks/cons-uncons-n.png)
40−
41−![snoc-uncons-n](benchmarks/snoc-uncons-n.png)
.spago/p/catenable-lists-7.0.0/bower.jsondeleted−31
@@ -1,31 +0,0 @@
1−{
2− "name": "purescript-catenable-lists",
3− "homepage": "https://github.com/purescript/purescript-catenable-lists",
4− "license": "BSD-3-Clause",
5− "repository": {
6− "type": "git",
7− "url": "https://github.com/purescript/purescript-catenable-lists.git"
8− },
9− "ignore": [
10− "**/.*",
11− "bower_components",
12− "node_modules",
13− "output",
14− "test",
15− "bower.json",
16− "package.json"
17− ],
18− "dependencies": {
19− "purescript-control": "^6.0.0",
20− "purescript-foldable-traversable": "^6.0.0",
21− "purescript-lists": "^7.0.0",
22− "purescript-maybe": "^6.0.0",
23− "purescript-prelude": "^6.0.0",
24− "purescript-tuples": "^7.0.0",
25− "purescript-unfoldable": "^6.0.0"
26− },
27− "devDependencies": {
28− "purescript-assert": "^6.0.0",
29− "purescript-console": "^6.0.0"
30− }
31−}
.spago/p/catenable-lists-7.0.0/package.jsondeleted−13
@@ -1,13 +0,0 @@
1−{
2− "private": true,
3− "scripts": {
4− "clean": "rimraf output && rimraf .pulp-cache",
5− "build": "pulp build -- --censor-lib --strict",
6− "test": "pulp test"
7− },
8− "devDependencies": {
9− "pulp": "16.0.0-0",
10− "purescript-psa": "^0.8.2",
11− "rimraf": "^3.0.2"
12− }
13−}
.spago/p/catenable-lists-7.0.0/purs.jsondeleted−18
@@ -1,18 +0,0 @@
1−{
2− "name": "catenable-lists",
3− "version": "7.0.0",
4− "license": "BSD-3-Clause",
5− "location": {
6− "githubOwner": "purescript",
7− "githubRepo": "purescript-catenable-lists"
8− },
9− "dependencies": {
10− "control": ">=6.0.0 <7.0.0",
11− "foldable-traversable": ">=6.0.0 <7.0.0",
12− "lists": ">=7.0.0 <8.0.0",
13− "maybe": ">=6.0.0 <7.0.0",
14− "prelude": ">=6.0.0 <7.0.0",
15− "tuples": ">=7.0.0 <8.0.0",
16− "unfoldable": ">=6.0.0 <7.0.0"
17− }
18−}
.spago/p/catenable-lists-7.0.0/src/Data/CatList.pursdeleted−209
@@ -1,209 +0,0 @@
1−-- | This module defines a strict catenable list.
2−-- |
3−-- | The implementation is based on a queue where all operations require
4−-- | `O(1)` amortized time.
5−-- |
6−-- | However, any single `uncons` operation may run in `O(n)` time.
7−-- |
8−-- | See [Purely Functional Data Structures](http://www.cs.cmu.edu/~rwh/theses/okasaki.pdf) (Okasaki 1996)
9−module Data.CatList
10− ( CatList(..)
11− , empty
12− , null
13− , singleton
14− , length
15− , append
16− , cons
17− , snoc
18− , uncons
19− , fromFoldable
20− ) where
21−
22−import Prelude hiding (append)
23−
24−import Control.Alt (class Alt)
25−import Control.Alternative (class Alternative)
26−import Control.MonadPlus (class MonadPlus)
27−import Control.Plus (class Plus)
28−import Data.CatQueue as Q
29−import Data.Foldable (class Foldable, foldMapDefaultL)
30−import Data.Foldable as Foldable
31−import Data.List as L
32−import Data.Maybe (Maybe(..))
33−import Data.Traversable (sequence, traverse, class Traversable)
34−import Data.Tuple (Tuple(..))
35−import Data.Unfoldable (class Unfoldable)
36−import Data.Unfoldable1 (class Unfoldable1)
37−
38−-- | A strict catenable list.
39−-- |
40−-- | `CatList` may be empty, represented by `CatNil`.
41−-- |
42−-- | `CatList` may be non-empty, represented by `CatCons`. The `CatCons`
43−-- | data constructor takes the first element of the list and a queue of
44−-- | `CatList`.
45−data CatList a = CatNil | CatCons a (Q.CatQueue (CatList a))
46−
47−-- | Create an empty catenable list.
48−-- |
49−-- | Running time: `O(1)`
50−empty :: forall a. CatList a
51−empty = CatNil
52−
53−-- | Test whether a catenable list is empty.
54−-- |
55−-- | Running time: `O(1)`
56−null :: forall a. CatList a -> Boolean
57−null CatNil = true
58−null _ = false
59−
60−-- | Number of elements in queue.
61−-- |
62−-- | Running time: `O(n)` in length of queue.
63−length :: forall a. CatList a -> Int
64−length = Foldable.length
65−
66−-- | Append all elements of a catenable list to the end of another
67−-- | catenable list, create a new catenable list.
68−-- |
69−-- | Running time: `O(1)`
70−append :: forall a. CatList a -> CatList a -> CatList a
71−append = link
72−
73−-- | Append an element to the beginning of the catenable list, creating a new
74−-- | catenable list.
75−-- |
76−-- | Running time: `O(1)`
77−cons :: forall a. a -> CatList a -> CatList a
78−cons a cat = append (CatCons a Q.empty) cat
79−
80−-- | Create a catenable list with a single item.
81−-- |
82−-- | Running time: `O(1)`
83−singleton :: forall a. a -> CatList a
84−singleton a = cons a CatNil
85−
86−-- | Append an element to the end of the catenable list, creating a new
87−-- | catenable list.
88−-- |
89−-- | Running time: `O(1)`
90−snoc :: forall a. CatList a -> a -> CatList a
91−snoc cat a = append cat (CatCons a Q.empty)
92−
93−-- | Decompose a catenable list into a `Tuple` of the first element and
94−-- | the rest of the catenable list.
95−-- |
96−-- | Running time: `O(1)`
97−-- |
98−-- | Note that any single operation may run in `O(n)`.
99−uncons :: forall a. CatList a -> Maybe (Tuple a (CatList a))
100−uncons CatNil = Nothing
101−uncons (CatCons a q) = Just (Tuple a (if Q.null q then CatNil else (foldr link CatNil q)))
102−
103−-- | Links two catenable lists by making appending the queue in the
104−-- | first catenable list to the second catenable list. This operation
105−-- | creates a new catenable list.
106−-- |
107−-- | Running time: `O(1)`
108−link :: forall a. CatList a -> CatList a -> CatList a
109−link CatNil cat = cat
110−link cat CatNil = cat
111−link (CatCons a q) cat = CatCons a (Q.snoc q cat)
112−
113−-- | Tail recursive version of foldr on `CatList`.
114−-- |
115−-- | Ensures foldl on `List` is tail-recursive.
116−foldr :: forall a. (CatList a -> CatList a -> CatList a) -> CatList a -> Q.CatQueue (CatList a) -> CatList a
117−foldr k b q = go q L.Nil
118− where
119− go :: Q.CatQueue (CatList a) -> L.List (CatList a -> CatList a) -> CatList a
120− go xs ys = case Q.uncons xs of
121− Nothing -> foldl (\x i -> i x) b ys
122− Just (Tuple a rest) -> go rest (L.Cons (k a) ys)
123−
124− foldl :: forall b c. (c -> b -> c) -> c -> L.List b -> c
125− foldl _ c L.Nil = c
126− foldl k' c (L.Cons b' as) = foldl k' (k' c b') as
127−
128−-- | Convert any `Foldable` into a `CatList`.
129−-- |
130−-- | Running time: `O(n)`
131−fromFoldable :: forall f. Foldable f => f ~> CatList
132−fromFoldable f = Foldable.foldMap singleton f
133−
134−foldMap :: forall a m. Monoid m => (a -> m) -> CatList a -> m
135−foldMap _ CatNil = mempty
136−foldMap f (CatCons a q) =
137− let d = if Q.null q then CatNil else (foldr link CatNil q)
138− in f a <> foldMap f d
139−
140−-- | Running time: `O(1)`
141−instance semigroupCatList :: Semigroup (CatList a) where
142− append = append
143−
144−instance monoidCatList :: Monoid (CatList a) where
145− mempty = CatNil
146−
147−instance showCatList :: Show a => Show (CatList a) where
148− show CatNil = "CatNil"
149− show (CatCons a as) = "(CatList " <> show a <> " " <> show as <> ")"
150−
151−instance foldableCatList :: Foldable CatList where
152− foldMap = foldMapDefaultL
153− foldr f s l = Foldable.foldrDefault f s l
154− foldl f = go
155− where
156− go acc q = case uncons q of
157− Just (Tuple x xs) -> go (f acc x) xs
158− Nothing -> acc
159−
160−instance unfoldableCatList :: Unfoldable CatList where
161− unfoldr f b = go b CatNil
162− where
163− go source memo = case f source of
164− Nothing -> memo
165− Just (Tuple one rest) -> go rest (snoc memo one)
166−
167−instance unfoldable1CatList :: Unfoldable1 CatList where
168− unfoldr1 f b = go b CatNil
169− where
170− go source memo = case f source of
171− Tuple one Nothing -> snoc memo one
172− Tuple one (Just rest) -> go rest (snoc memo one)
173−
174−instance traversableCatList :: Traversable CatList where
175− traverse _ CatNil = pure CatNil
176− traverse f (CatCons a q) =
177− let d = if Q.null q then CatNil else (foldr link CatNil q)
178− in cons <$> f a <*> traverse f d
179− sequence CatNil = pure CatNil
180− sequence (CatCons a q) =
181− let d = if Q.null q then CatNil else (foldr link CatNil q)
182− in cons <$> a <*> sequence d
183−
184−instance functorCatList :: Functor CatList where
185− map _ CatNil = CatNil
186− map f (CatCons a q) =
187− let d = if Q.null q then CatNil else (foldr link CatNil q)
188− in f a `cons` map f d
189−
190−instance applyCatList :: Apply CatList where
191− apply = ap
192−
193−instance applicativeCatList :: Applicative CatList where
194− pure = singleton
195−
196−instance bindCatList :: Bind CatList where
197− bind = flip foldMap
198−
199−instance monadCatList :: Monad CatList
200−
201−instance altCatList :: Alt CatList where
202− alt = append
203−
204−instance plusCatList :: Plus CatList where
205− empty = empty
206−
207−instance alternativeCatList :: Alternative CatList
208−
209−instance monadPlusCatList :: MonadPlus CatList
.spago/p/catenable-lists-7.0.0/src/Data/CatQueue.pursdeleted−193
@@ -1,193 +0,0 @@
1−-- | This module defines a strict double-ended queue.
2−-- |
3−-- | The queue implementation is based on a pair of lists where all
4−-- | operations require `O(1)` amortized time.
5−-- |
6−-- | However, any single `uncons` operation may run in `O(n)` time.
7−-- |
8−-- | See [Simple and Efficient Purely Functional Queues and Dequeues](http://www.westpoint.edu/eecs/SiteAssets/SitePages/Faculty%20Publication%20Documents/Okasaki/jfp95queue.pdf) (Okasaki 1995)
9−module Data.CatQueue
10− ( CatQueue(..)
11− , empty
12− , null
13− , singleton
14− , length
15− , cons
16− , snoc
17− , uncons
18− , unsnoc
19− , fromFoldable
20− ) where
21−
22−import Prelude
23−
24−import Control.Alt (class Alt)
25−import Control.Alternative (class Alternative)
26−import Control.Apply (lift2)
27−import Control.MonadPlus (class MonadPlus)
28−import Control.Plus (class Plus)
29−import Data.Foldable (class Foldable, foldMap, foldMapDefaultL, foldl, foldrDefault)
30−import Data.List (List(..), reverse)
31−import Data.List as L
32−import Data.Maybe (Maybe(..))
33−import Data.Traversable (class Traversable, sequenceDefault)
34−import Data.Tuple (Tuple(..))
35−import Data.Unfoldable (class Unfoldable, class Unfoldable1)
36−
37−-- | A strict double-ended queue (dequeue) representated using a pair of lists.
38−data CatQueue a = CatQueue (List a) (List a)
39−
40−-- | Create an empty queue.
41−-- |
42−-- | Running time: `O(1)`
43−empty :: forall a. CatQueue a
44−empty = CatQueue Nil Nil
45−
46−-- | Test whether a queue is empty.
47−-- |
48−-- | Running time: `O(1)`
49−null :: forall a. CatQueue a -> Boolean
50−null (CatQueue Nil Nil) = true
51−null _ = false
52−
53−-- | Create a queue containing a single element.
54−-- |
55−-- | Running time: `O(1)`
56−singleton :: forall a. a -> CatQueue a
57−singleton = snoc empty
58−
59−-- | Number of elements in queue.
60−-- |
61−-- | Running time: `O(n)` in length of queue.
62−length :: forall a. CatQueue a -> Int
63−length (CatQueue l r) = L.length l + L.length r
64−
65−-- | Append an element to the beginning of the queue, creating a new queue.
66−-- |
67−-- | Running time: `O(1)`
68−cons :: forall a. a -> CatQueue a -> CatQueue a
69−cons a (CatQueue l r) = CatQueue (Cons a l) r
70−
71−-- | Append an element to the end of the queue, creating a new queue.
72−-- |
73−-- | Running time: `O(1)`
74−snoc :: forall a. CatQueue a -> a -> CatQueue a
75−snoc (CatQueue l r) a = CatQueue l (Cons a r)
76−
77−-- | Decompose a queue into a `Tuple` of the first element and the rest of the queue.
78−-- |
79−-- | Running time: `O(1)`
80−-- |
81−-- | Note that any single operation may run in `O(n)`.
82−uncons :: forall a. CatQueue a -> Maybe (Tuple a (CatQueue a))
83−uncons (CatQueue Nil Nil) = Nothing
84−uncons (CatQueue Nil r) = uncons (CatQueue (reverse r) Nil)
85−uncons (CatQueue (Cons a as) r) = Just (Tuple a (CatQueue as r))
86−
87−-- | Decompose a queue into a `Tuple` of the last element and the rest of the queue.
88−-- |
89−-- | Running time: `O(1)`
90−-- |
91−-- | Note that any single operation may run in `O(n)`.
92−unsnoc :: forall a. CatQueue a -> Maybe (Tuple a (CatQueue a))
93−unsnoc (CatQueue l (Cons a as)) = Just (Tuple a (CatQueue l as))
94−unsnoc (CatQueue Nil Nil) = Nothing
95−unsnoc (CatQueue l Nil) = unsnoc (CatQueue Nil (reverse l))
96−
97−-- | Convert any `Foldable` into a `CatQueue`.
98−-- |
99−-- | Running time: `O(n)`
100−fromFoldable :: forall f a. Foldable f => f a -> CatQueue a
101−fromFoldable f = foldMap singleton f
102−
103−cqEq :: forall a. Eq a => CatQueue a -> CatQueue a -> Boolean
104−cqEq = go
105− where
106− elemEq = eq :: (a -> a -> Boolean)
107− go xs ys = case uncons xs, uncons ys of
108− Just (Tuple x xs'), Just (Tuple y ys')
109− | x `elemEq` y -> go xs' ys'
110− Nothing, Nothing -> true
111− _ , _ -> false
112−
113−cqCompare :: forall a. Ord a => CatQueue a -> CatQueue a -> Ordering
114−cqCompare = go
115− where
116− elemCompare = compare :: (a -> a -> Ordering)
117− go xs ys = case uncons xs, uncons ys of
118− Just (Tuple x xs'), Just (Tuple y ys') ->
119− case elemCompare x y of
120− EQ -> go xs' ys'
121− ordering -> ordering
122− Just _, Nothing -> GT
123− Nothing, Just _ -> LT
124− Nothing, Nothing -> EQ
125−
126−instance eqCatQueue :: Eq a => Eq (CatQueue a) where
127− eq = cqEq
128−
129−instance ordCatQueue :: Ord a => Ord (CatQueue a) where
130− compare = cqCompare
131−
132−-- | Running time: `O(n) in the length of the second queue`
133−instance semigroupCatQueue :: Semigroup (CatQueue a) where
134− append = foldl snoc
135−
136−instance monoidCatQueue :: Monoid (CatQueue a) where
137− mempty = empty
138−
139−instance showCatQueue :: Show a => Show (CatQueue a) where
140− show (CatQueue l r) = "(CatQueue " <> show l <> " " <> show r <> ")"
141−
142−instance foldableCatQueue :: Foldable CatQueue where
143− foldMap = foldMapDefaultL
144− foldr f = foldrDefault f
145− foldl f = go
146− where
147− go acc q = case uncons q of
148− Just (Tuple x xs) -> go (f acc x) xs
149− Nothing -> acc
150−
151−instance unfoldable1CatQueue :: Unfoldable1 CatQueue where
152− unfoldr1 f b = go b empty
153− where
154− go source memo = case f source of
155− Tuple one Nothing -> snoc memo one
156− Tuple one (Just rest) -> go rest (snoc memo one)
157−
158−instance unfoldableCatQueue :: Unfoldable CatQueue where
159− unfoldr f b = go b empty
160− where
161− go source memo = case f source of
162− Nothing -> memo
163− Just (Tuple one rest) -> go rest (snoc memo one)
164−
165−instance traversableCatQueue :: Traversable CatQueue where
166− traverse f =
167− map (foldl snoc empty)
168− <<< foldl (\acc -> lift2 snoc acc <<< f) (pure empty)
169− sequence = sequenceDefault
170−
171−instance functorCatQueue :: Functor CatQueue where
172− map f (CatQueue l r) = CatQueue (map f l) (map f r)
173−
174−instance applyCatQueue :: Apply CatQueue where
175− apply = ap
176−
177−instance applicativeCatQueue :: Applicative CatQueue where
178− pure = singleton
179−
180−instance bindCatQueue :: Bind CatQueue where
181− bind = flip foldMap
182−
183−instance monadCatQueue :: Monad CatQueue
184−
185−instance altCatQueue :: Alt CatQueue where
186− alt = append
187−
188−instance plusCatQueue :: Plus CatQueue where
189− empty = empty
190−
191−instance alternativeCatQueue :: Alternative CatQueue
192−
193−instance monadPlusCatQueue :: MonadPlus CatQueue
.spago/p/console-6.1.0/LICENSEdeleted−26
@@ -1,26 +0,0 @@
1−Copyright 2018 PureScript
2−
3−Redistribution and use in source and binary forms, with or without modification,
4−are permitted provided that the following conditions are met:
5−
6−1. Redistributions of source code must retain the above copyright notice, this
7−list of conditions and the following disclaimer.
8−
9−2. Redistributions in binary form must reproduce the above copyright notice,
10−this list of conditions and the following disclaimer in the documentation and/or
11−other materials provided with the distribution.
12−
13−3. Neither the name of the copyright holder nor the names of its contributors
14−may be used to endorse or promote products derived from this software without
15−specific prior written permission.
16−
17−THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18−ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19−WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20−DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
21−ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22−(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23−LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24−ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25−(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26−SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.spago/p/console-6.1.0/README.mddeleted−17
@@ -1,17 +0,0 @@
1−# purescript-console
2−
3−[![Latest release](http://img.shields.io/github/release/purescript/purescript-console.svg)](https://github.com/purescript/purescript-console/releases)
4−[![Build status](https://github.com/purescript/purescript-console/workflows/CI/badge.svg?branch=master)](https://github.com/purescript/purescript-console/actions?query=workflow%3ACI+branch%3Amaster)
5−[![Pursuit](https://pursuit.purescript.org/packages/purescript-console/badge)](https://pursuit.purescript.org/packages/purescript-console)
6−
7−Console-related functions and effect type.
8−
9−## Installation
10−
11−```
12−spago install console
13−```
14−
15−## Documentation
16−
17−Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-console).
.spago/p/console-6.1.0/bower.jsondeleted−22
@@ -1,22 +0,0 @@
1−{
2− "name": "purescript-console",
3− "homepage": "https://github.com/purescript/purescript-console",
4− "license": "BSD-3-Clause",
5− "repository": {
6− "type": "git",
7− "url": "https://github.com/purescript/purescript-console.git"
8− },
9− "ignore": [
10− "**/.*",
11− "bower_components",
12− "node_modules",
13− "output",
14− "test",
15− "bower.json",
16− "package.json"
17− ],
18− "dependencies": {
19− "purescript-effect": "^4.0.0",
20− "purescript-prelude": "^6.0.0"
21− }
22−}
.spago/p/console-6.1.0/package.jsondeleted−14
@@ -1,14 +0,0 @@
1−{
2− "private": true,
3− "scripts": {
4− "clean": "rimraf output && rimraf .pulp-cache",
5− "build": "eslint src && pulp build -- --censor-lib --strict",
6− "test": "npm run build && ./scripts/test"
7− },
8− "devDependencies": {
9− "eslint": "^7.15.0",
10− "pulp": "16.0.0-0",
11− "purescript-psa": "^0.8.2",
12− "rimraf": "^3.0.2"
13− }
14−}
.spago/p/console-6.1.0/purs.jsondeleted−13
@@ -1,13 +0,0 @@
1−{
2− "name": "console",
3− "version": "6.1.0",
4− "license": "BSD-3-Clause",
5− "location": {
6− "githubOwner": "purescript",
7− "githubRepo": "purescript-console"
8− },
9− "dependencies": {
10− "effect": ">=4.0.0 <5.0.0",
11− "prelude": ">=6.0.0 <7.0.0"
12− }
13−}
.spago/p/console-6.1.0/src/Effect/Class/Console.pursdeleted−66
@@ -1,66 +0,0 @@
1−module Effect.Class.Console where
2−
3−import Control.Bind (discard, bind, pure)
4−import Data.Function ((<<<))
5−import Data.Show (class Show)
6−import Data.Unit (Unit)
7−import Effect.Class (class MonadEffect, liftEffect)
8−import Effect.Console as EffConsole
9−
10−log :: forall m. MonadEffect m => String -> m Unit
11−log = liftEffect <<< EffConsole.log
12−
13−logShow :: forall m a. MonadEffect m => Show a => a -> m Unit
14−logShow = liftEffect <<< EffConsole.logShow
15−
16−warn :: forall m. MonadEffect m => String -> m Unit
17−warn = liftEffect <<< EffConsole.warn
18−
19−warnShow :: forall m a. MonadEffect m => Show a => a -> m Unit
20−warnShow = liftEffect <<< EffConsole.warnShow
21−
22−error :: forall m. MonadEffect m => String -> m Unit
23−error = liftEffect <<< EffConsole.error
24−
25−errorShow :: forall m a. MonadEffect m => Show a => a -> m Unit
26−errorShow = liftEffect <<< EffConsole.errorShow
27−
28−info :: forall m. MonadEffect m => String -> m Unit
29−info = liftEffect <<< EffConsole.info
30−
31−infoShow :: forall m a. MonadEffect m => Show a => a -> m Unit
32−infoShow = liftEffect <<< EffConsole.infoShow
33−
34−debug :: forall m. MonadEffect m => String -> m Unit
35−debug = liftEffect <<< EffConsole.debug
36−
37−debugShow :: forall m a. MonadEffect m => Show a => a -> m Unit
38−debugShow = liftEffect <<< EffConsole.debugShow
39−
40−time :: forall m. MonadEffect m => String -> m Unit
41−time = liftEffect <<< EffConsole.time
42−
43−timeLog :: forall m. MonadEffect m => String -> m Unit
44−timeLog = liftEffect <<< EffConsole.timeLog
45−
46−timeEnd :: forall m. MonadEffect m => String -> m Unit
47−timeEnd = liftEffect <<< EffConsole.timeEnd
48−
49−clear :: forall m. MonadEffect m => m Unit
50−clear = liftEffect EffConsole.clear
51−
52−group :: forall m. MonadEffect m => String -> m Unit
53−group = liftEffect <<< EffConsole.group
54−
55−groupCollapsed :: forall m. MonadEffect m => String -> m Unit
56−groupCollapsed = liftEffect <<< EffConsole.groupCollapsed
57−
58−groupEnd :: forall m. MonadEffect m => m Unit
59−groupEnd = liftEffect EffConsole.groupEnd
60−
61−grouped :: forall m a. MonadEffect m => String -> m a -> m a
62−grouped name inner = do
63− group name
64− result <- inner
65− groupEnd
66− pure result
.spago/p/console-6.1.0/src/Effect/Console.jsdeleted−67
@@ -1,67 +0,0 @@
1−export const log = function (s) {
2− return function () {
3− console.log(s);
4− };
5−};
6−
7−export const warn = function (s) {
8− return function () {
9− console.warn(s);
10− };
11−};
12−
13−export const error = function (s) {
14− return function () {
15− console.error(s);
16− };
17−};
18−
19−export const info = function (s) {
20− return function () {
21− console.info(s);
22− };
23−};
24−
25−export const debug = function (s) {
26− return function () {
27− console.debug(s);
28− };
29−};
30−
31−export const time = function (s) {
32− return function () {
33− console.time(s);
34− };
35−};
36−
37−export const timeLog = function (s) {
38− return function () {
39− console.timeLog(s);
40− };
41−};
42−
43−export const timeEnd = function (s) {
44− return function () {
45− console.timeEnd(s);
46− };
47−};
48−
49−export const clear = function () {
50− console.clear();
51−};
52−
53−export const group = function (s) {
54− return function () {
55− console.group(s);
56− };
57−};
58−
59−export const groupCollapsed = function (s) {
60− return function () {
61− console.groupCollapsed(s);
62− };
63−};
64−
65−export const groupEnd = function () {
66− console.groupEnd();
67−};
.spago/p/console-6.1.0/src/Effect/Console.pursdeleted−88
@@ -1,88 +0,0 @@
1−module Effect.Console where
2−
3−import Control.Bind (discard, bind, pure)
4−import Effect (Effect)
5−
6−import Data.Show (class Show, show)
7−import Data.Unit (Unit)
8−
9−-- | Write a message to the console.
10−foreign import log
11− :: String
12− -> Effect Unit
13−
14−-- | Write a value to the console, using its `Show` instance to produce a
15−-- | `String`.
16−logShow :: forall a. Show a => a -> Effect Unit
17−logShow a = log (show a)
18−
19−-- | Write an warning to the console.
20−foreign import warn
21− :: String
22− -> Effect Unit
23−
24−-- | Write an warning value to the console, using its `Show` instance to produce
25−-- | a `String`.
26−warnShow :: forall a. Show a => a -> Effect Unit
27−warnShow a = warn (show a)
28−
29−-- | Write an error to the console.
30−foreign import error
31− :: String
32− -> Effect Unit
33−
34−-- | Write an error value to the console, using its `Show` instance to produce a
35−-- | `String`.
36−errorShow :: forall a. Show a => a -> Effect Unit
37−errorShow a = error (show a)
38−
39−-- | Write an info message to the console.
40−foreign import info
41− :: String
42− -> Effect Unit
43−
44−-- | Write an info value to the console, using its `Show` instance to produce a
45−-- | `String`.
46−infoShow :: forall a. Show a => a -> Effect Unit
47−infoShow a = info (show a)
48−
49−-- | Write an debug message to the console.
50−foreign import debug
51− :: String
52− -> Effect Unit
53−
54−-- | Write an debug value to the console, using its `Show` instance to produce a
55−-- | `String`.
56−debugShow :: forall a. Show a => a -> Effect Unit
57−debugShow a = debug (show a)
58−
59−-- | Start a named timer.
60−foreign import time :: String -> Effect Unit
61−
62−-- | Print the time since a named timer started in milliseconds.
63−foreign import timeLog :: String -> Effect Unit
64−
65−-- | Stop a named timer and print time since it started in milliseconds.
66−foreign import timeEnd :: String -> Effect Unit
67−
68−-- | Clears the console
69−foreign import clear :: Effect Unit
70−
71−-- | Creates a new inline group in the console. This indents following console
72−-- | messages by an additional level, until `groupEnd` is called.
73−foreign import group :: String -> Effect Unit
74−
75−-- | Same as `group`, but groups are collapsed by default.
76−foreign import groupCollapsed :: String -> Effect Unit
77−
78−-- | Exits the current inline group in the console.
79−foreign import groupEnd :: Effect Unit
80−
81−-- | Perform an effect within the context of an inline group in the console.
82−-- | Calls `group` and `groupEnd` before and after the effect, respectively.
83−grouped :: forall a. String -> Effect a -> Effect a
84−grouped name inner = do
85− group name
86− result <- inner
87− groupEnd
88− pure result
.spago/p/const-6.0.0/LICENSEdeleted−26
@@ -1,26 +0,0 @@
1−Copyright 2018 PureScript
2−
3−Redistribution and use in source and binary forms, with or without modification,
4−are permitted provided that the following conditions are met:
5−
6−1. Redistributions of source code must retain the above copyright notice, this
7−list of conditions and the following disclaimer.
8−
9−2. Redistributions in binary form must reproduce the above copyright notice,
10−this list of conditions and the following disclaimer in the documentation and/or
11−other materials provided with the distribution.
12−
13−3. Neither the name of the copyright holder nor the names of its contributors
14−may be used to endorse or promote products derived from this software without
15−specific prior written permission.
16−
17−THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18−ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19−WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20−DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
21−ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22−(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23−LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24−ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25−(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26−SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.spago/p/const-6.0.0/README.mddeleted−17
@@ -1,17 +0,0 @@
1−# purescript-const
2−
3−[![Latest release](http://img.shields.io/github/release/purescript/purescript-const.svg)](https://github.com/purescript/purescript-const/releases)
4−[![Build status](https://github.com/purescript/purescript-const/workflows/CI/badge.svg?branch=master)](https://github.com/purescript/purescript-const/actions?query=workflow%3ACI+branch%3Amaster)
5−[![Pursuit](https://pursuit.purescript.org/packages/purescript-const/badge)](https://pursuit.purescript.org/packages/purescript-const)
6−
7−Constant data type.
8−
9−## Installation
10−
11−```
12−spago install const
13−```
14−
15−## Documentation
16−
17−Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-const).
.spago/p/const-6.0.0/bower.jsondeleted−28
@@ -1,28 +0,0 @@
1−{
2− "name": "purescript-const",
3− "homepage": "https://github.com/purescript/purescript-const",
4− "authors": [
5− "Hardy Jones <jones3.hardy@gmail.com>",
6− "Gary Burgess <gary.burgess@gmail.com>",
7− "Sean Chalmers <sclhiannan@gmail.com>"
8− ],
9− "license": "BSD-3-Clause",
10− "repository": {
11− "type": "git",
12− "url": "https://github.com/purescript/purescript-const.git"
13− },
14− "ignore": [
15− "**/.*",
16− "bower_components",
17− "node_modules",
18− "output",
19− "test",
20− "bower.json",
21− "package.json"
22− ],
23− "dependencies": {
24− "purescript-invariant": "^6.0.0",
25− "purescript-newtype": "^5.0.0",
26− "purescript-prelude": "^6.0.0"
27− }
28−}
.spago/p/const-6.0.0/package.jsondeleted−12
@@ -1,12 +0,0 @@
1−{
2− "private": true,
3− "scripts": {
4− "clean": "rimraf output && rimraf .pulp-cache",
5− "build": "pulp build -- --censor-lib --strict"
6− },
7− "devDependencies": {
8− "pulp": "16.0.0-0",
9− "purescript-psa": "^0.8.2",
10− "rimraf": "^3.0.2"
11− }
12−}
.spago/p/const-6.0.0/purs.jsondeleted−14
@@ -1,14 +0,0 @@
1−{
2− "name": "const",
3− "version": "6.0.0",
4− "license": "BSD-3-Clause",
5− "location": {
6− "githubOwner": "purescript",
7− "githubRepo": "purescript-const"
8− },
9− "dependencies": {
10− "invariant": ">=6.0.0 <7.0.0",
11− "newtype": ">=5.0.0 <6.0.0",
12− "prelude": ">=6.0.0 <7.0.0"
13− }
14−}
.spago/p/const-6.0.0/src/Data/Const.pursdeleted−63
@@ -1,63 +0,0 @@
1−module Data.Const where
2−
3−import Prelude
4−
5−import Data.Eq (class Eq1)
6−import Data.Functor.Invariant (class Invariant, imapF)
7−import Data.Newtype (class Newtype)
8−import Data.Ord (class Ord1)
9−
10−-- | The `Const` type constructor, which wraps its first type argument
11−-- | and ignores its second. That is, `Const a b` is isomorphic to `a`
12−-- | for any `b`.
13−-- |
14−-- | `Const` has some useful instances. For example, the `Applicative`
15−-- | instance allows us to collect results using a `Monoid` while
16−-- | ignoring return values.
17−newtype Const :: forall k. Type -> k -> Type
18−newtype Const a b = Const a
19−
20−derive instance newtypeConst :: Newtype (Const a b) _
21−
22−derive newtype instance eqConst :: Eq a => Eq (Const a b)
23−
24−derive instance eq1Const :: Eq a => Eq1 (Const a)
25−
26−derive newtype instance ordConst :: Ord a => Ord (Const a b)
27−
28−derive instance ord1Const :: Ord a => Ord1 (Const a)
29−
30−derive newtype instance boundedConst :: Bounded a => Bounded (Const a b)
31−
32−instance showConst :: Show a => Show (Const a b) where
33− show (Const x) = "(Const " <> show x <> ")"
34−
35−instance semigroupoidConst :: Semigroupoid Const where
36− compose _ (Const x) = Const x
37−
38−derive newtype instance semigroupConst :: Semigroup a => Semigroup (Const a b)
39−
40−derive newtype instance monoidConst :: Monoid a => Monoid (Const a b)
41−
42−derive newtype instance semiringConst :: Semiring a => Semiring (Const a b)
43−
44−derive newtype instance ringConst :: Ring a => Ring (Const a b)
45−
46−derive newtype instance euclideanRingConst :: EuclideanRing a => EuclideanRing (Const a b)
47−
48−derive newtype instance commutativeRingConst :: CommutativeRing a => CommutativeRing (Const a b)
49−
50−derive newtype instance heytingAlgebraConst :: HeytingAlgebra a => HeytingAlgebra (Const a b)
51−
52−derive newtype instance booleanAlgebraConst :: BooleanAlgebra a => BooleanAlgebra (Const a b)
53−
54−derive instance functorConst :: Functor (Const a)
55−
56−instance invariantConst :: Invariant (Const a) where
57− imap = imapF
58−
59−instance applyConst :: Semigroup a => Apply (Const a) where
60− apply (Const x) (Const y) = Const (x <> y)
61−
62−instance applicativeConst :: Monoid a => Applicative (Const a) where
63− pure _ = Const mempty
.spago/p/contravariant-6.0.0/LICENSEdeleted−26
@@ -1,26 +0,0 @@
1−Copyright 2018 PureScript
2−
3−Redistribution and use in source and binary forms, with or without modification,
4−are permitted provided that the following conditions are met:
5−
6−1. Redistributions of source code must retain the above copyright notice, this
7−list of conditions and the following disclaimer.
8−
9−2. Redistributions in binary form must reproduce the above copyright notice,
10−this list of conditions and the following disclaimer in the documentation and/or
11−other materials provided with the distribution.
12−
13−3. Neither the name of the copyright holder nor the names of its contributors
14−may be used to endorse or promote products derived from this software without
15−specific prior written permission.
16−
17−THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18−ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19−WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20−DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
21−ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22−(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23−LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24−ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25−(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26−SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.spago/p/contravariant-6.0.0/README.mddeleted−17
@@ -1,17 +0,0 @@
1−# purescript-contravariant
2−
3−[![Latest release](http://img.shields.io/github/release/purescript/purescript-contravariant.svg)](https://github.com/purescript/purescript-contravariant/releases)
4−[![Build status](https://github.com/purescript/purescript-contravariant/workflows/CI/badge.svg?branch=master)](https://github.com/purescript/purescript-contravariant/actions?query=workflow%3ACI+branch%3Amaster)
5−[![Pursuit](https://pursuit.purescript.org/packages/purescript-contravariant/badge)](https://pursuit.purescript.org/packages/purescript-contravariant)
6−
7−Contravariant functors.
8−
9−## Installation
10−
11−```
12−spago install contravariant
13−```
14−
15−## Documentation
16−
17−Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-contravariant).
.spago/p/contravariant-6.0.0/bower.jsondeleted−25
@@ -1,25 +0,0 @@
1−{
2− "name": "purescript-contravariant",
3− "homepage": "https://github.com/purescript/purescript-contravariant",
4− "license": "BSD-3-Clause",
5− "repository": {
6− "type": "git",
7− "url": "https://github.com/purescript/purescript-contravariant.git"
8− },
9− "ignore": [
10− "**/.*",
11− "bower_components",
12− "node_modules",
13− "output",
14− "test",
15− "bower.json",
16− "package.json"
17− ],
18− "dependencies": {
19− "purescript-const": "^6.0.0",
20− "purescript-either": "^6.0.0",
21− "purescript-newtype": "^5.0.0",
22− "purescript-prelude": "^6.0.0",
23− "purescript-tuples": "^7.0.0"
24− }
25−}
.spago/p/contravariant-6.0.0/package.jsondeleted−12
@@ -1,12 +0,0 @@
1−{
2− "private": true,
3− "scripts": {
4− "clean": "rimraf output && rimraf .pulp-cache",
5− "build": "pulp build -- --censor-lib --strict"
6− },
7− "devDependencies": {
8− "pulp": "16.0.0-0",
9− "purescript-psa": "^0.8.2",
10− "rimraf": "^3.0.2"
11− }
12−}
.spago/p/contravariant-6.0.0/purs.jsondeleted−16
@@ -1,16 +0,0 @@
1−{
2− "name": "contravariant",
3− "version": "6.0.0",
4− "license": "BSD-3-Clause",
5− "location": {
6− "githubOwner": "purescript",
7− "githubRepo": "purescript-contravariant"
8− },
9− "dependencies": {
10− "const": ">=6.0.0 <7.0.0",
11− "either": ">=6.0.0 <7.0.0",
12− "newtype": ">=5.0.0 <6.0.0",
13− "prelude": ">=6.0.0 <7.0.0",
14− "tuples": ">=7.0.0 <8.0.0"
15− }
16−}
.spago/p/contravariant-6.0.0/src/Data/Comparison.pursdeleted−25
@@ -1,25 +0,0 @@
1−module Data.Comparison where
2−
3−import Prelude
4−
5−import Data.Function (on)
6−import Data.Functor.Contravariant (class Contravariant)
7−import Data.Newtype (class Newtype)
8−
9−-- | An adaptor allowing `>$<` to map over the inputs of a comparison function.
10−newtype Comparison a = Comparison (a -> a -> Ordering)
11−
12−derive instance newtypeComparison :: Newtype (Comparison a) _
13−
14−instance contravariantComparison :: Contravariant Comparison where
15− cmap f (Comparison g) = Comparison (g `on` f)
16−
17−instance semigroupComparison :: Semigroup (Comparison a) where
18− append (Comparison p) (Comparison q) = Comparison (p <> q)
19−
20−instance monoidComparison :: Monoid (Comparison a) where
21− mempty = Comparison (\_ _ -> EQ)
22−
23−-- | The default comparison for any values with an `Ord` instance.
24−defaultComparison :: forall a. Ord a => Comparison a
25−defaultComparison = Comparison compare
.spago/p/contravariant-6.0.0/src/Data/Decidable.pursdeleted−29
@@ -1,29 +0,0 @@
1−module Data.Decidable where
2−
3−import Prelude
4−
5−import Data.Comparison (Comparison(..))
6−import Data.Decide (class Decide)
7−import Data.Divisible (class Divisible)
8−import Data.Equivalence (Equivalence(..))
9−import Data.Op (Op(..))
10−import Data.Predicate (Predicate(..))
11−
12−-- | `Decidable` is the contravariant analogue of `Alternative`.
13−class (Decide f, Divisible f) <= Decidable f where
14− lose :: forall a. (a -> Void) -> f a
15−
16−instance decidableComparison :: Decidable Comparison where
17− lose f = Comparison \a _ -> absurd (f a)
18−
19−instance decidableEquivalence :: Decidable Equivalence where
20− lose f = Equivalence \a -> absurd (f a)
21−
22−instance decidablePredicate :: Decidable Predicate where
23− lose f = Predicate \a -> absurd (f a)
24−
25−instance decidableOp :: Monoid r => Decidable (Op r) where
26− lose f = Op \a -> absurd (f a)
27−
28−lost :: forall f. Decidable f => f Void
29−lost = lose identity
.spago/p/contravariant-6.0.0/src/Data/Decide.pursdeleted−42
@@ -1,42 +0,0 @@
1−module Data.Decide where
2−
3−import Prelude
4−
5−import Data.Comparison (Comparison(..))
6−import Data.Divide (class Divide)
7−import Data.Either (Either(..), either)
8−import Data.Equivalence (Equivalence(..))
9−import Data.Op (Op(..))
10−import Data.Predicate (Predicate(..))
11−
12−-- | `Decide` is the contravariant analogue of `Alt`.
13−class Divide f <= Decide f where
14− choose :: forall a b c. (a -> Either b c) -> f b -> f c -> f a
15−
16−instance chooseComparison :: Decide Comparison where
17− choose f (Comparison g) (Comparison h) = Comparison \a b -> case f a of
18− Left c -> case f b of
19− Left d -> g c d
20− Right _ -> LT
21− Right c -> case f b of
22− Left _ -> GT
23− Right d -> h c d
24−
25−instance chooseEquivalence :: Decide Equivalence where
26− choose f (Equivalence g) (Equivalence h) = Equivalence \a b -> case f a of
27− Left c -> case f b of
28− Left d -> g c d
29− Right _ -> false
30− Right c -> case f b of
31− Left _ -> false
32− Right d -> h c d
33−
34−instance choosePredicate :: Decide Predicate where
35− choose f (Predicate g) (Predicate h) = Predicate (either g h <<< f)
36−
37−instance chooseOp :: Semigroup r => Decide (Op r) where
38− choose f (Op g) (Op h) = Op (either g h <<< f)
39−
40−-- | `chosen = choose id`
41−chosen :: forall f a b. Decide f => f a -> f b -> f (Either a b)
42−chosen = choose identity
.spago/p/contravariant-6.0.0/src/Data/Divide.pursdeleted−46
@@ -1,46 +0,0 @@
1−module Data.Divide where
2−
3−import Prelude
4−
5−import Data.Comparison (Comparison(..))
6−import Data.Equivalence (Equivalence(..))
7−import Data.Functor.Contravariant (class Contravariant)
8−import Data.Op (Op(..))
9−import Data.Predicate (Predicate(..))
10−import Data.Tuple (Tuple(..))
11−
12−-- | `Divide` is the contravariant analogue of `Apply`.
13−-- |
14−-- | For example, to test equality of `Point`s, we can use the `Divide` instance
15−-- | for `Equivalence`:
16−-- |
17−-- | ```purescript
18−-- | type Point = Tuple Int Int
19−-- |
20−-- | pointEquiv :: Equivalence Point
21−-- | pointEquiv = divided defaultEquivalence defaultEquivalence
22−-- | ```
23−class Contravariant f <= Divide f where
24− divide :: forall a b c. (a -> Tuple b c) -> f b -> f c -> f a
25−
26−instance divideComparison :: Divide Comparison where
27− divide f (Comparison g) (Comparison h) = Comparison \a b -> case f a of
28− Tuple a' a'' -> case f b of
29− Tuple b' b'' -> g a' b' <> h a'' b''
30−
31−instance divideEquivalence :: Divide Equivalence where
32− divide f (Equivalence g) (Equivalence h) = Equivalence \a b -> case f a of
33− Tuple a' a'' -> case f b of
34− Tuple b' b'' -> g a' b' && h a'' b''
35−
36−instance dividePredicate :: Divide Predicate where
37− divide f (Predicate g) (Predicate h) = Predicate \a -> case f a of
38− Tuple b c -> g b && h c
39−
40−instance divideOp :: Semigroup r => Divide (Op r) where
41− divide f (Op g) (Op h) = Op \a -> case f a of
42− Tuple b c -> g b <> h c
43−
44−-- | `divided = divide id`
45−divided :: forall f a b. Divide f => f a -> f b -> f (Tuple a b)
46−divided = divide identity
.spago/p/contravariant-6.0.0/src/Data/Divisible.pursdeleted−25
@@ -1,25 +0,0 @@
1−module Data.Divisible where
2−
3−import Prelude
4−
5−import Data.Comparison (Comparison(..))
6−import Data.Divide (class Divide)
7−import Data.Equivalence (Equivalence(..))
8−import Data.Op (Op(..))
9−import Data.Predicate (Predicate(..))
10−
11−-- | `Divisible` is the contravariant analogue of `Applicative`.
12−class Divide f <= Divisible f where
13− conquer :: forall a. f a
14−
15−instance divisibleComparison :: Divisible Comparison where
16− conquer = Comparison $ \_ _ -> EQ
17−
18−instance divisibleEquivalence :: Divisible Equivalence where
19− conquer = Equivalence $ \_ _ -> true
20−
21−instance divisiblePredicate :: Divisible Predicate where
22− conquer = Predicate (const true)
23−
24−instance divisibleOp :: (Monoid r) => Divisible (Op r) where
25− conquer = Op $ const mempty
.spago/p/contravariant-6.0.0/src/Data/Equivalence.pursdeleted−31
@@ -1,31 +0,0 @@
1−module Data.Equivalence where
2−
3−import Prelude
4−
5−import Data.Comparison (Comparison(..))
6−import Data.Function (on)
7−import Data.Functor.Contravariant (class Contravariant)
8−import Data.Newtype (class Newtype)
9−
10−-- | An adaptor allowing `>$<` to map over the inputs of an equivalence
11−-- | relation.
12−newtype Equivalence a = Equivalence (a -> a -> Boolean)
13−
14−derive instance newtypeEquivalence :: Newtype (Equivalence a) _
15−
16−instance contravariantEquivalence :: Contravariant Equivalence where
17− cmap f (Equivalence g) = Equivalence (g `on` f)
18−
19−instance semigroupEquivalence :: Semigroup (Equivalence a) where
20− append (Equivalence p) (Equivalence q) = Equivalence (\a b -> p a b && q a b)
21−
22−instance monoidEquivalence :: Monoid (Equivalence a) where
23− mempty = Equivalence (\_ _ -> true)
24−
25−-- | The default equivalence relation for any values with an `Eq` instance.
26−defaultEquivalence :: forall a. Eq a => Equivalence a
27−defaultEquivalence = Equivalence eq
28−
29−-- | An equivalence relation for any `Comparison`.
30−comparisonEquivalence :: forall a. Comparison a -> Equivalence a
31−comparisonEquivalence (Comparison p) = Equivalence (\a b -> p a b == EQ)
.spago/p/contravariant-6.0.0/src/Data/Functor/Contravariant.pursdeleted−35
@@ -1,35 +0,0 @@
1−module Data.Functor.Contravariant where
2−
3−import Prelude
4−
5−import Data.Const (Const(..))
6−
7−-- | A `Contravariant` functor can be seen as a way of changing the input type
8−-- | of a consumer of input, in contrast to the standard covariant `Functor`
9−-- | that can be seen as a way of changing the output type of a producer of
10−-- | output.
11−-- |
12−-- | `Contravariant` instances should satisfy the following laws:
13−-- |
14−-- | - Identity `cmap id = id`
15−-- | - Composition `cmap f <<< cmap g = cmap (g <<< f)`
16−class Contravariant f where
17− cmap :: forall a b. (b -> a) -> f a -> f b
18−
19−infixl 4 cmap as >$<
20−
21−-- | `cmapFlipped` is `cmap` with its arguments reversed.
22−cmapFlipped :: forall a b f. Contravariant f => f a -> (b -> a) -> f b
23−cmapFlipped x f = f >$< x
24−
25−infixl 4 cmapFlipped as >#<
26−
27−coerce :: forall f a b. Contravariant f => Functor f => f a -> f b
28−coerce a = absurd <$> (absurd >$< a)
29−
30−-- | As all `Contravariant` functors are also trivially `Invariant`, this function can be used as the `imap` implementation for any types that have an existing `Contravariant` instance.
31−imapC :: forall f a b. Contravariant f => (a -> b) -> (b -> a) -> f a -> f b
32−imapC _ f = cmap f
33−
34−instance contravariantConst :: Contravariant (Const a) where
35− cmap _ (Const x) = Const x
.spago/p/contravariant-6.0.0/src/Data/Op.pursdeleted−22
@@ -1,22 +0,0 @@
1−module Data.Op where
2−
3−import Prelude
4−
5−import Data.Functor.Contravariant (class Contravariant)
6−import Data.Newtype (class Newtype)
7−
8−-- | The opposite of the function category.
9−newtype Op a b = Op (b -> a)
10−
11−derive instance newtypeOp :: Newtype (Op a b) _
12−derive newtype instance semigroupOp :: Semigroup a ⇒ Semigroup (Op a b)
13−derive newtype instance monoidOp :: Monoid a => Monoid (Op a b)
14−
15−instance semigroupoidOp :: Semigroupoid Op where
16− compose (Op f) (Op g) = Op (compose g f)
17−
18−instance categoryOp :: Category Op where
19− identity = Op identity
20−
21−instance contravariantOp :: Contravariant (Op a) where
22− cmap f (Op g) = Op (g <<< f)
.spago/p/contravariant-6.0.0/src/Data/Predicate.pursdeleted−18
@@ -1,18 +0,0 @@
1−module Data.Predicate where
2−
3−import Prelude
4−
5−import Data.Functor.Contravariant (class Contravariant)
6−import Data.Newtype (class Newtype)
7−
8−-- | An adaptor allowing `>$<` to map over the inputs of a predicate.
9−newtype Predicate a = Predicate (a -> Boolean)
10−
11−derive instance newtypePredicate :: Newtype (Predicate a) _
12−
13−derive newtype instance heytingAlgebraPredicate :: HeytingAlgebra (Predicate a)
14−
15−derive newtype instance booleanAlgebraPredicate :: BooleanAlgebra (Predicate a)
16−
17−instance contravariantPredicate :: Contravariant Predicate where
18− cmap f (Predicate g) = Predicate (g <<< f)
.spago/p/control-6.0.0/LICENSEdeleted−26
@@ -1,26 +0,0 @@
1−Copyright 2018 PureScript
2−
3−Redistribution and use in source and binary forms, with or without modification,
4−are permitted provided that the following conditions are met:
5−
6−1. Redistributions of source code must retain the above copyright notice, this
7−list of conditions and the following disclaimer.
8−
9−2. Redistributions in binary form must reproduce the above copyright notice,
10−this list of conditions and the following disclaimer in the documentation and/or
11−other materials provided with the distribution.
12−
13−3. Neither the name of the copyright holder nor the names of its contributors
14−may be used to endorse or promote products derived from this software without
15−specific prior written permission.
16−
17−THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18−ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19−WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20−DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
21−ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22−(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23−LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24−ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25−(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26−SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.spago/p/control-6.0.0/README.mddeleted−21
@@ -1,21 +0,0 @@
1−# purescript-control
2−
3−[![Latest release](http://img.shields.io/github/release/purescript/purescript-control.svg)](https://github.com/purescript/purescript-control/releases)
4−[![Build status](https://github.com/purescript/purescript-control/workflows/CI/badge.svg?branch=master)](https://github.com/purescript/purescript-control/actions?query=workflow%3ACI+branch%3Amaster)
5−[![Pursuit](https://pursuit.purescript.org/packages/purescript-control/badge)](https://pursuit.purescript.org/packages/purescript-control)
6−
7−This library provides a range of utility functions for the classes in the `Functor`, `Applicative`, `Monad` hierarchy, along with additional classes such as `Alternative`, `MonadPlus`, `Comonad` and `Lazy`.
8−
9−## Installation
10−
11−```sh
12−spago install control
13−```
14−
15−## Class hierarchy
16−
17−![Class diagram](class-diagram.png)
18−
19−## Documentation
20−
21−Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-control).
.spago/p/control-6.0.0/bower.jsondeleted−25
@@ -1,25 +0,0 @@
1−{
2− "name": "purescript-control",
3− "homepage": "https://github.com/purescript/purescript-control",
4− "license": "BSD-3-Clause",
5− "repository": {
6− "type": "git",
7− "url": "https://github.com/purescript/purescript-control.git"
8− },
9− "ignore": [
10− "**/.*",
11− "bower_components",
12− "node_modules",
13− "output",
14− "test",
15− "bower.json",
16− "package.json"
17− ],
18− "dependencies": {
19− "purescript-newtype": "^5.0.0",
20− "purescript-prelude": "^6.0.0"
21− },
22− "devDependencies": {
23− "purescript-effect": "^4.0.0"
24− }
25−}
.spago/p/control-6.0.0/package.jsondeleted−13
@@ -1,13 +0,0 @@
1−{
2− "private": true,
3− "scripts": {
4− "clean": "rimraf output && rimraf .pulp-cache",
5− "build": "pulp build -- --censor-lib --strict",
6− "test": "pulp test"
7− },
8− "devDependencies": {
9− "pulp": "16.0.0-0",
10− "purescript-psa": "^0.8.2",
11− "rimraf": "^3.0.2"
12− }
13−}
.spago/p/control-6.0.0/purs.jsondeleted−13
@@ -1,13 +0,0 @@
1−{
2− "name": "control",
3− "version": "6.0.0",
4− "license": "BSD-3-Clause",
5− "location": {
6− "githubOwner": "purescript",
7− "githubRepo": "purescript-control"
8− },
9− "dependencies": {
10− "newtype": ">=5.0.0 <6.0.0",
11− "prelude": ">=6.0.0 <7.0.0"
12− }
13−}
.spago/p/control-6.0.0/src/Control/Alt.pursdeleted−42
@@ -1,42 +0,0 @@
1−module Control.Alt
2− ( class Alt, alt, (<|>)
3− , module Data.Functor
4− ) where
5−
6−import Data.Functor (class Functor, map, void, ($>), (<#>), (<$), (<$>))
7−import Data.Semigroup (append)
8−
9−-- | The `Alt` type class identifies an associative operation on a type
10−-- | constructor. It is similar to `Semigroup`, except that it applies to
11−-- | types of kind `* -> *`, like `Array` or `List`, rather than concrete types
12−-- | `String` or `Number`.
13−-- |
14−-- | `Alt` instances are required to satisfy the following laws:
15−-- |
16−-- | - Associativity: `(x <|> y) <|> z == x <|> (y <|> z)`
17−-- | - Distributivity: `f <$> (x <|> y) == (f <$> x) <|> (f <$> y)`
18−-- |
19−-- | For example, the `Array` (`[]`) type is an instance of `Alt`, where
20−-- | `(<|>)` is defined to be concatenation.
21−-- |
22−-- | A common use case is to select the first "valid" item, or, if all items
23−-- | are "invalid", the last "invalid" item.
24−-- |
25−-- | For example:
26−-- |
27−-- | ```purescript
28−-- | import Control.Alt ((<|>))
29−-- | import Data.Maybe (Maybe(..)
30−-- | import Data.Either (Either(..))
31−-- |
32−-- | Nothing <|> Just 1 <|> Just 2 == Just 1
33−-- | Left "err" <|> Right 1 <|> Right 2 == Right 1
34−-- | Left "err 1" <|> Left "err 2" <|> Left "err 3" == Left "err 3"
35−-- | ```
36−class Functor f <= Alt f where
37− alt :: forall a. f a -> f a -> f a
38−
39−infixr 3 alt as <|>
40−
41−instance altArray :: Alt Array where
42− alt = append
.spago/p/control-6.0.0/src/Control/Alternative.pursdeleted−50
@@ -1,50 +0,0 @@
1−module Control.Alternative
2− ( class Alternative
3− , guard
4− , module Control.Alt
5− , module Control.Applicative
6− , module Control.Apply
7− , module Control.Plus
8− , module Data.Functor
9− ) where
10−
11−import Control.Alt (class Alt, alt, (<|>))
12−import Control.Applicative (class Applicative, pure, liftA1, unless, when)
13−import Control.Apply (class Apply, apply, (*>), (<*), (<*>))
14−import Control.Plus (class Plus, empty)
15−
16−import Data.Unit (Unit, unit)
17−import Data.Functor (class Functor, map, void, ($>), (<#>), (<$), (<$>))
18−
19−-- | The `Alternative` type class has no members of its own; it just specifies
20−-- | that the type constructor has both `Applicative` and `Plus` instances.
21−-- |
22−-- | Types which have `Alternative` instances should also satisfy the following
23−-- | laws:
24−-- |
25−-- | - Distributivity: `(f <|> g) <*> x == (f <*> x) <|> (g <*> x)`
26−-- | - Annihilation: `empty <*> f = empty`
27−class (Applicative f, Plus f) <= Alternative f
28−
29−instance alternativeArray :: Alternative Array
30−
31−-- | Fail using `Plus` if a condition does not hold, or
32−-- | succeed using `Applicative` if it does.
33−-- |
34−-- | For example:
35−-- |
36−-- | ```purescript
37−-- | import Prelude
38−-- | import Control.Alternative (guard)
39−-- | import Data.Array ((..))
40−-- |
41−-- | factors :: Int -> Array Int
42−-- | factors n = do
43−-- | a <- 1..n
44−-- | b <- 1..n
45−-- | guard $ a * b == n
46−-- | pure a
47−-- | ```
48−guard :: forall m. Alternative m => Boolean -> m Unit
49−guard true = pure unit
50−guard false = empty
.spago/p/control-6.0.0/src/Control/Comonad.pursdeleted−21
@@ -1,21 +0,0 @@
1−module Control.Comonad
2− ( class Comonad, extract
3− , module Control.Extend
4− , module Data.Functor
5− ) where
6−
7−import Control.Extend (class Extend, duplicate, extend, (<<=), (=<=), (=>=), (=>>))
8−
9−import Data.Functor (class Functor, map, void, ($>), (<#>), (<$), (<$>))
10−
11−-- | `Comonad` extends the `Extend` class with the `extract` function
12−-- | which extracts a value, discarding the comonadic context.
13−-- |
14−-- | `Comonad` is the dual of `Monad`, and `extract` is the dual of `pure`.
15−-- |
16−-- | Laws:
17−-- |
18−-- | - Left Identity: `extract <<= xs = xs`
19−-- | - Right Identity: `extract (f <<= xs) = f xs`
20−class Extend w <= Comonad w where
21− extract :: forall a. w a -> a
.spago/p/control-6.0.0/src/Control/Extend.jsdeleted−7
@@ -1,7 +0,0 @@
1−export const arrayExtend = function(f) {
2− return function(xs) {
3− return xs.map(function (_, i, xs) {
4− return f(xs.slice(i));
5− });
6− };
7−};
.spago/p/control-6.0.0/src/Control/Extend.pursdeleted−59
@@ -1,59 +0,0 @@
1−module Control.Extend
2− ( class Extend, extend, (<<=), extendFlipped, (=>>)
3− , composeCoKleisli, (=>=)
4− , composeCoKleisliFlipped, (=<=)
5− , duplicate
6− , module Data.Functor
7− ) where
8−
9−import Control.Category (identity)
10−
11−import Data.Functor (class Functor, map, void, ($>), (<#>), (<$), (<$>))
12−import Data.Semigroup (class Semigroup, (<>))
13−
14−-- | The `Extend` class defines the extension operator `(<<=)`
15−-- | which extends a local context-dependent computation to
16−-- | a global computation.
17−-- |
18−-- | `Extend` is the dual of `Bind`, and `(<<=)` is the dual of
19−-- | `(>>=)`.
20−-- |
21−-- | Laws:
22−-- |
23−-- | - Associativity: `extend f <<< extend g = extend (f <<< extend g)`
24−class Functor w <= Extend w where
25− extend :: forall b a. (w a -> b) -> w a -> w b
26−
27−instance extendFn :: Semigroup w => Extend ((->) w) where
28− extend f g w = f \w' -> g (w <> w')
29−
30−foreign import arrayExtend :: forall a b. (Array a -> b) -> Array a -> Array b
31−
32−instance extendArray :: Extend Array where
33− extend = arrayExtend
34−
35−infixr 1 extend as <<=
36−
37−-- | A version of `extend` with its arguments flipped.
38−extendFlipped :: forall b a w. Extend w => w a -> (w a -> b) -> w b
39−extendFlipped w f = f <<= w
40−
41−infixl 1 extendFlipped as =>>
42−
43−-- | Forwards co-Kleisli composition.
44−composeCoKleisli :: forall b a w c. Extend w => (w a -> b) -> (w b -> c) -> w a -> c
45−composeCoKleisli f g w = g (f <<= w)
46−
47−infixr 1 composeCoKleisli as =>=
48−
49−-- | Backwards co-Kleisli composition.
50−composeCoKleisliFlipped :: forall b a w c. Extend w => (w b -> c) -> (w a -> b) -> w a -> c
51−composeCoKleisliFlipped f g w = f (g <<= w)
52−
53−infixr 1 composeCoKleisliFlipped as =<=
54−
55−-- | Duplicate a comonadic context.
56−-- |
57−-- | `duplicate` is dual to `Control.Bind.join`.
58−duplicate :: forall a w. Extend w => w a -> w (w a)
59−duplicate = extend identity
.spago/p/control-6.0.0/src/Control/Lazy.pursdeleted−25
@@ -1,25 +0,0 @@
1−module Control.Lazy where
2−
3−import Data.Unit (Unit, unit)
4−
5−-- | The `Lazy` class represents types which allow evaluation of values
6−-- | to be _deferred_.
7−-- |
8−-- | Usually, this means that a type contains a function arrow which can
9−-- | be used to delay evaluation.
10−class Lazy l where
11− defer :: (Unit -> l) -> l
12−
13−instance lazyFn :: Lazy (a -> b) where
14− defer f = \x -> f unit x
15−
16−instance lazyUnit :: Lazy Unit where
17− defer _ = unit
18−
19−-- | `fix` defines a value as the fixed point of a function.
20−-- |
21−-- | The `Lazy` instance allows us to generate the result lazily.
22−fix :: forall l. Lazy l => (l -> l) -> l
23−fix f = go
24− where
25− go = defer \_ -> f go
.spago/p/control-6.0.0/src/Control/MonadPlus.pursdeleted−32
@@ -1,32 +0,0 @@
1−module Control.MonadPlus
2− ( class MonadPlus
3− , module Control.Alt
4− , module Control.Alternative
5− , module Control.Applicative
6− , module Control.Apply
7− , module Control.Bind
8− , module Control.Monad
9− , module Control.Plus
10− , module Data.Functor
11− ) where
12−
13−import Control.Alt (class Alt, alt, (<|>))
14−import Control.Alternative (class Alternative, guard)
15−import Control.Applicative (class Applicative, pure, liftA1, unless, when)
16−import Control.Apply (class Apply, apply, (*>), (<*), (<*>))
17−import Control.Bind (class Bind, bind, ifM, join, (<=<), (=<<), (>=>), (>>=))
18−import Control.Monad (class Monad, ap, liftM1)
19−import Control.Plus (class Plus, empty)
20−
21−import Data.Functor (class Functor, map, void, ($>), (<#>), (<$), (<$>))
22−
23−-- | The `MonadPlus` type class has no members of its own; it just specifies
24−-- | that the type has both `Monad` and `Alternative` instances.
25−-- |
26−-- | Types which have `MonadPlus` instances should also satisfy the following
27−-- | law:
28−-- |
29−-- | - Distributivity: `(x <|> y) >>= f == (x >>= f) <|> (y >>= f)`
30−class (Monad m, Alternative m) <= MonadPlus m
31−
32−instance monadPlusArray :: MonadPlus Array
.spago/p/control-6.0.0/src/Control/Plus.pursdeleted−27
@@ -1,27 +0,0 @@
1−module Control.Plus
2− ( class Plus, empty
3− , module Control.Alt
4− , module Data.Functor
5− ) where
6−
7−import Control.Alt (class Alt, alt, (<|>))
8−
9−import Data.Functor (class Functor, map, void, ($>), (<#>), (<$), (<$>))
10−
11−-- | The `Plus` type class extends the `Alt` type class with a value that
12−-- | should be the left and right identity for `(<|>)`.
13−-- |
14−-- | It is similar to `Monoid`, except that it applies to types of
15−-- | kind `* -> *`, like `Array` or `List`, rather than concrete types like
16−-- | `String` or `Number`.
17−-- |
18−-- | `Plus` instances should satisfy the following laws:
19−-- |
20−-- | - Left identity: `empty <|> x == x`
21−-- | - Right identity: `x <|> empty == x`
22−-- | - Annihilation: `f <$> empty == empty`
23−class Alt f <= Plus f where
24− empty :: forall a. f a
25−
26−instance plusArray :: Plus Array where
27− empty = []
.spago/p/control-6.0.0/src/Data/Monoid/Alternate.pursdeleted−60
@@ -1,60 +0,0 @@
1−module Data.Monoid.Alternate where
2−
3−import Prelude
4−
5−import Control.Alternative (class Alt, class Plus, class Alternative, empty, (<|>))
6−import Control.Comonad (class Comonad, class Extend)
7−import Data.Eq (class Eq1)
8−import Data.Newtype (class Newtype)
9−import Data.Ord (class Ord1)
10−
11−-- | Monoid and semigroup instances corresponding to `Plus` and `Alt` instances
12−-- | for `f`
13−-- |
14−-- | ``` purescript
15−-- | Alternate fx <> Alternate fy == Alternate (fx <|> fy)
16−-- | mempty :: Alternate _ == Alternate empty
17−-- | ```
18−newtype Alternate :: forall k. (k -> Type) -> k -> Type
19−newtype Alternate f a = Alternate (f a)
20−
21−derive instance newtypeAlternate :: Newtype (Alternate f a) _
22−
23−derive newtype instance eqAlternate :: Eq (f a) => Eq (Alternate f a)
24−
25−derive newtype instance eq1Alternate :: Eq1 f => Eq1 (Alternate f)
26−
27−derive newtype instance ordAlternate :: Ord (f a) => Ord (Alternate f a)
28−
29−derive newtype instance ord1Alternate :: Ord1 f => Ord1 (Alternate f)
30−
31−derive newtype instance boundedAlternate :: Bounded (f a) => Bounded (Alternate f a)
32−
33−derive newtype instance functorAlternate :: Functor f => Functor (Alternate f)
34−
35−derive newtype instance applyAlternate :: Apply f => Apply (Alternate f)
36−
37−derive newtype instance applicativeAlternate :: Applicative f => Applicative (Alternate f)
38−
39−derive newtype instance altAlternate :: Alt f => Alt (Alternate f)
40−
41−derive newtype instance plusAlternate :: Plus f => Plus (Alternate f)
42−
43−derive newtype instance alternativeAlternate :: Alternative f => Alternative (Alternate f)
44−
45−derive newtype instance bindAlternate :: Bind f => Bind (Alternate f)
46−
47−derive newtype instance monadAlternate :: Monad f => Monad (Alternate f)
48−
49−derive newtype instance extendAlternate :: Extend f => Extend (Alternate f)
50−
51−derive newtype instance comonadAlternate :: Comonad f => Comonad (Alternate f)
52−
53−instance showAlternate :: Show (f a) => Show (Alternate f a) where
54− show (Alternate a) = "(Alternate " <> show a <> ")"
55−
56−instance semigroupAlternate :: Alt f => Semigroup (Alternate f a) where
57− append (Alternate a) (Alternate b) = Alternate (a <|> b)
58−
59−instance monoidAlternate :: Plus f => Monoid (Alternate f a) where
60− mempty = Alternate empty
.spago/p/datetime-6.1.0/LICENSEdeleted−26
@@ -1,26 +0,0 @@
1−Copyright 2018 PureScript
2−
3−Redistribution and use in source and binary forms, with or without modification,
4−are permitted provided that the following conditions are met:
5−
6−1. Redistributions of source code must retain the above copyright notice, this
7−list of conditions and the following disclaimer.
8−
9−2. Redistributions in binary form must reproduce the above copyright notice,
10−this list of conditions and the following disclaimer in the documentation and/or
11−other materials provided with the distribution.
12−
13−3. Neither the name of the copyright holder nor the names of its contributors
14−may be used to endorse or promote products derived from this software without
15−specific prior written permission.
16−
17−THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18−ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19−WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20−DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
21−ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22−(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23−LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24−ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25−(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26−SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.spago/p/datetime-6.1.0/README.mddeleted−19
@@ -1,19 +0,0 @@
1−# purescript-datetime
2−
3−[![Latest release](http://img.shields.io/github/release/purescript/purescript-datetime.svg)](https://github.com/purescript/purescript-datetime/releases)
4−[![Build status](https://github.com/purescript/purescript-datetime/workflows/CI/badge.svg?branch=master)](https://github.com/purescript/purescript-datetime/actions?query=workflow%3ACI+branch%3Amaster)
5−[![Pursuit](https://pursuit.purescript.org/packages/purescript-datetime/badge)](https://pursuit.purescript.org/packages/purescript-datetime)
6−
7−Date and time types and functions.
8−
9−## Installation
10−
11−```
12−spago install datetime
13−```
14−
15−## Documentation
16−
17−This libary provides platform-independent representations of date and time. Parsing specific date formats, such as the ISO 8601 format, is the responsibility of other libraries, such as the [purescript-js-date](https://github.com/purescript-contrib/purescript-js-date) package. Likewise, writing a date/time type to string to display to humans is the responsibility of other libraries, such as the [purescript-formatters](https://github.com/slamdata/purescript-formatters) package.
18−
19−Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-datetime).
.spago/p/datetime-6.1.0/bower.jsondeleted−40
@@ -1,40 +0,0 @@
1−{
2− "name": "purescript-datetime",
3− "homepage": "https://github.com/purescript/purescript-datetime",
4− "license": "BSD-3-Clause",
5− "repository": {
6− "type": "git",
7− "url": "https://github.com/purescript/purescript-datetime.git"
8− },
9− "ignore": [
10− "**/.*",
11− "bower_components",
12− "node_modules",
13− "output",
14− "bower.json",
15− "package.json"
16− ],
17− "dependencies": {
18− "purescript-bifunctors": "^6.0.0",
19− "purescript-control": "^6.0.0",
20− "purescript-either": "^6.0.0",
21− "purescript-enums": "^6.0.0",
22− "purescript-foldable-traversable": "^6.0.0",
23− "purescript-functions": "^6.0.0",
24− "purescript-gen": "^4.0.0",
25− "purescript-integers": "^6.0.0",
26− "purescript-lists": "^7.0.0",
27− "purescript-maybe": "^6.0.0",
28− "purescript-newtype": "^5.0.0",
29− "purescript-numbers": "^9.0.0",
30− "purescript-ordered-collections": "^3.0.0",
31− "purescript-partial": "^4.0.0",
32− "purescript-prelude": "^6.0.0",
33− "purescript-tuples": "^7.0.0"
34− },
35− "devDependencies": {
36− "purescript-assert": "^6.0.0",
37− "purescript-console": "^6.0.0",
38− "purescript-strings": "^6.0.0"
39− }
40−}
.spago/p/datetime-6.1.0/package.jsondeleted−14
@@ -1,14 +0,0 @@
1−{
2− "private": true,
3− "scripts": {
4− "clean": "rimraf output && rimraf .pulp-cache",
5− "build": "eslint src && pulp build -- --censor-lib --strict",
6− "test": "pulp test"
7− },
8− "devDependencies": {
9− "eslint": "^7.15.0",
10− "pulp": "16.0.0-0",
11− "purescript-psa": "^0.8.2",
12− "rimraf": "^3.0.2"
13− }
14−}
.spago/p/datetime-6.1.0/purs.jsondeleted−27
@@ -1,27 +0,0 @@
1−{
2− "name": "datetime",
3− "version": "6.1.0",
4− "license": "BSD-3-Clause",
5− "location": {
6− "githubOwner": "purescript",
7− "githubRepo": "purescript-datetime"
8− },
9− "dependencies": {
10− "bifunctors": ">=6.0.0 <7.0.0",
11− "control": ">=6.0.0 <7.0.0",
12− "either": ">=6.0.0 <7.0.0",
13− "enums": ">=6.0.0 <7.0.0",
14− "foldable-traversable": ">=6.0.0 <7.0.0",
15− "functions": ">=6.0.0 <7.0.0",
16− "gen": ">=4.0.0 <5.0.0",
17− "integers": ">=6.0.0 <7.0.0",
18− "lists": ">=7.0.0 <8.0.0",
19− "maybe": ">=6.0.0 <7.0.0",
20− "newtype": ">=5.0.0 <6.0.0",
21− "numbers": ">=9.0.0 <10.0.0",
22− "ordered-collections": ">=3.0.0 <4.0.0",
23− "partial": ">=4.0.0 <5.0.0",
24− "prelude": ">=6.0.0 <7.0.0",
25− "tuples": ">=7.0.0 <8.0.0"
26− }
27−}
.spago/p/datetime-6.1.0/src/Data/Date.jsdeleted−22
@@ -1,22 +0,0 @@
1−var createDate = function (y, m, d) {
2− var date = new Date(Date.UTC(y, m, d));
3− if (y >= 0 && y < 100) {
4− date.setUTCFullYear(y);
5− }
6− return date;
7−};
8−
9−export function canonicalDateImpl(ctor, y, m, d) {
10− var date = createDate(y, m - 1, d);
11− return ctor(date.getUTCFullYear())(date.getUTCMonth() + 1)(date.getUTCDate());
12−}
13−
14−export function calcWeekday(y, m, d) {
15− return createDate(y, m - 1, d).getUTCDay();
16−}
17−
18−export function calcDiff(y1, m1, d1, y2, m2, d2) {
19− var dt1 = createDate(y1, m1 - 1, d1);
20− var dt2 = createDate(y2, m2 - 1, d2);
21− return dt1.getTime() - dt2.getTime();
22−}
.spago/p/datetime-6.1.0/src/Data/Date.pursdeleted−148
@@ -1,148 +0,0 @@
1−module Data.Date
2− ( Date
3− , canonicalDate
4− , exactDate
5− , year
6− , month
7− , day
8− , weekday
9− , diff
10− , isLeapYear
11− , lastDayOfMonth
12− , adjust
13− , module Data.Date.Component
14− ) where
15−
16−import Prelude
17−
18−import Data.Date.Component (Day, Month(..), Weekday(..), Year)
19−import Data.Enum (class Enum, toEnum, fromEnum, succ, pred)
20−import Data.Function.Uncurried (Fn3, runFn3, Fn4, runFn4, Fn6, runFn6)
21−import Data.Int (fromNumber)
22−import Data.Maybe (Maybe(..), fromJust, fromMaybe, isNothing)
23−import Data.Time.Duration (class Duration, Days(..), Milliseconds, toDuration)
24−import Partial.Unsafe (unsafePartial)
25−
26−-- | A date value in the Gregorian calendar.
27−data Date = Date Year Month Day
28−
29−-- | Constructs a date from year, month, and day components. The resulting date
30−-- | components may not be identical to the input values, as the date will be
31−-- | canonicalised according to the Gregorian calendar. For example, date
32−-- | values for the invalid date 2016-02-31 will be corrected to 2016-03-02.
33−canonicalDate :: Year -> Month -> Day -> Date
34−canonicalDate y m d = runFn4 canonicalDateImpl mkDate y (fromEnum m) d
35− where
36− mkDate :: Year -> Int -> Day -> Date
37− mkDate = unsafePartial \y' m' d' -> Date y' (fromJust (toEnum m')) d'
38−
39−-- | Constructs a date from year, month, and day components. The result will be
40−-- | `Nothing` if the provided values result in an invalid date.
41−exactDate :: Year -> Month -> Day -> Maybe Date
42−exactDate y m d =
43− let dt = Date y m d
44− in if canonicalDate y m d == dt then Just dt else Nothing
45−
46−derive instance eqDate :: Eq Date
47−derive instance ordDate :: Ord Date
48−
49−instance boundedDate :: Bounded Date where
50− bottom = Date bottom bottom bottom
51− top = Date top top top
52−
53−instance showDate :: Show Date where
54− show (Date y m d) = "(Date " <> show y <> " " <> show m <> " " <> show d <> ")"
55−
56−instance enumDate :: Enum Date where
57− succ (Date y m d) = Date <$> y' <*> pure m' <*> d'
58− where
59− d' = if isNothing sd then toEnum 1 else sd
60− m' = if isNothing sd then fromMaybe January sm else m
61− y' = if isNothing sd && isNothing sm then succ y else Just y
62− sd = let v = succ d in if v > Just l then Nothing else v
63− sm = succ m
64− l = lastDayOfMonth y m
65− pred (Date y m d) = Date <$> y' <*> pure m' <*> d'
66− where
67− d' = if isNothing pd then Just l else pd
68− m' = if isNothing pd then fromMaybe December pm else m
69− y' = if isNothing pd && isNothing pm then pred y else Just y
70− pd = pred d
71− pm = pred m
72− l = lastDayOfMonth y m'
73−
74−-- | The year component of a date value.
75−year :: Date -> Year
76−year (Date y _ _) = y
77−
78−-- | The month component of a date value.
79−month :: Date -> Month
80−month (Date _ m _) = m
81−
82−-- | The day component of a date value.
83−day :: Date -> Day
84−day (Date _ _ d) = d
85−
86−-- | The weekday for a date value.
87−weekday :: Date -> Weekday
88−weekday = unsafePartial \(Date y m d) ->
89− let n = runFn3 calcWeekday y (fromEnum m) d
90− in if n == 0 then fromJust (toEnum 7) else fromJust (toEnum n)
91−
92−-- | Adjusts a date with a Duration in days. The number of days must
93−-- | already be an integer and fall within the valid range of values
94−-- | for the Int type.
95−adjust :: Days -> Date -> Maybe Date
96−adjust (Days n) date = fromNumber n >>= flip adj date
97− where
98− adj 0 dt = Just dt
99− adj i (Date y m d) = adj i' =<< dt'
100− where
101− i' | low = j
102− | hi = j - fromEnum l - 1
103− | otherwise = 0
104− dt' | low = pred =<< Date y m <$> toEnum 1
105− | hi = succ (Date y m l)
106− | otherwise = Date y m <$> toEnum j
107− j = i + fromEnum d
108− low = j < 1
109− hi = j > fromEnum l
110− l = lastDayOfMonth y (if low then fromMaybe December (pred m) else m)
111−
112−-- | Calculates the difference between two dates, returning the result as a
113−-- | duration.
114−diff :: forall d. Duration d => Date -> Date -> d
115−diff (Date y1 m1 d1) (Date y2 m2 d2) =
116− toDuration $ runFn6 calcDiff y1 (fromEnum m1) d1 y2 (fromEnum m2) d2
117−
118−-- | Checks whether a year is a leap year according to the proleptic Gregorian
119−-- | calendar.
120−isLeapYear :: Year -> Boolean
121−isLeapYear y = (mod y' 4 == 0) && ((mod y' 400 == 0) || not (mod y' 100 == 0))
122− where
123− y' = fromEnum y
124−
125−-- | Get the final day of a month and year, accounting for leap years.
126−lastDayOfMonth :: Year -> Month -> Day
127−lastDayOfMonth y m = case m of
128− January -> unsafeDay 31
129− February
130− | isLeapYear y -> unsafeDay 29
131− | otherwise -> unsafeDay 28
132− March -> unsafeDay 31
133− April -> unsafeDay 30
134− May -> unsafeDay 31
135− June -> unsafeDay 30
136− July -> unsafeDay 31
137− August -> unsafeDay 31
138− September -> unsafeDay 30
139− October -> unsafeDay 31
140− November -> unsafeDay 30
141− December -> unsafeDay 31
142− where
143− unsafeDay = unsafePartial fromJust <<< toEnum
144−
145−-- TODO: these could (and probably should) be implemented in PS
146−foreign import canonicalDateImpl :: Fn4 (Year -> Int -> Day -> Date) Year Int Day Date
147−foreign import calcWeekday :: Fn3 Year Int Day Int
148−foreign import calcDiff :: Fn6 Year Int Day Year Int Day Milliseconds
.spago/p/datetime-6.1.0/src/Data/Date/Component.pursdeleted−191
@@ -1,191 +0,0 @@
1−module Data.Date.Component
2− ( Year
3− , Month(..)
4− , Day
5− , Weekday(..)
6− ) where
7−
8−import Prelude
9−
10−import Data.Enum (class Enum, class BoundedEnum, toEnum, fromEnum, Cardinality(..))
11−import Data.Maybe (Maybe(..))
12−
13−-- | A year component for a date.
14−-- |
15−-- | The constructor is private as the `Year` type is bounded to the range
16−-- | -271820 to 275759, inclusive. The `toEnum` function can be used to safely
17−-- | acquire a year value from an integer.
18−newtype Year = Year Int
19−
20−derive newtype instance eqYear :: Eq Year
21−derive newtype instance ordYear :: Ord Year
22−
23−-- Note: these seemingly arbitrary bounds come from relying on JS for date
24−-- manipulations, as it only supports date ±100,000,000 days of the Unix epoch.
25−-- Using these year values means `Date bottom bottom bottom` is a valid date,
26−-- likewise for `top`.
27−instance boundedYear :: Bounded Year where
28− bottom = Year (-271820)
29− top = Year 275759
30−
31−instance enumYear :: Enum Year where
32− succ = toEnum <<< (_ + 1) <<< fromEnum
33− pred = toEnum <<< (_ - 1) <<< fromEnum
34−
35−instance boundedEnumYear :: BoundedEnum Year where
36− cardinality = Cardinality 547580
37− toEnum n
38− | n >= (-271820) && n <= 275759 = Just (Year n)
39− | otherwise = Nothing
40− fromEnum (Year n) = n
41−
42−instance showYear :: Show Year where
43− show (Year y) = "(Year " <> show y <> ")"
44−
45−-- | A month component for a date in the Gregorian calendar.
46−data Month
47− = January
48− | February
49− | March
50− | April
51− | May
52− | June
53− | July
54− | August
55− | September
56− | October
57− | November
58− | December
59−
60−derive instance eqMonth :: Eq Month
61−derive instance ordMonth :: Ord Month
62−
63−instance boundedMonth :: Bounded Month where
64− bottom = January
65− top = December
66−
67−instance enumMonth :: Enum Month where
68− succ = toEnum <<< (_ + 1) <<< fromEnum
69− pred = toEnum <<< (_ - 1) <<< fromEnum
70−
71−instance boundedEnumMonth :: BoundedEnum Month where
72− cardinality = Cardinality 12
73− toEnum = case _ of
74− 1 -> Just January
75− 2 -> Just February
76− 3 -> Just March
77− 4 -> Just April
78− 5 -> Just May
79− 6 -> Just June
80− 7 -> Just July
81− 8 -> Just August
82− 9 -> Just September
83− 10 -> Just October
84− 11 -> Just November
85− 12 -> Just December
86− _ -> Nothing
87− fromEnum = case _ of
88− January -> 1
89− February -> 2
90− March -> 3
91− April -> 4
92− May -> 5
93− June -> 6
94− July -> 7
95− August -> 8
96− September -> 9
97− October -> 10
98− November -> 11
99− December -> 12
100−
101−instance showMonth :: Show Month where
102− show January = "January"
103− show February = "February"
104− show March = "March"
105− show April = "April"
106− show May = "May"
107− show June = "June"
108− show July = "July"
109− show August = "August"
110− show September = "September"
111− show October = "October"
112− show November = "November"
113− show December = "December"
114−
115−-- | A day component for a date.
116−-- |
117−-- | The constructor is private as the `Day` type is bounded to the range
118−-- | 1 to 31, inclusive. The `toEnum` function can be used to safely
119−-- | acquire a day value from an integer.
120−newtype Day = Day Int
121−
122−derive newtype instance eqDay :: Eq Day
123−derive newtype instance ordDay :: Ord Day
124−
125−instance boundedDay :: Bounded Day where
126− bottom = Day 1
127− top = Day 31
128−
129−instance enumDay :: Enum Day where
130− succ = toEnum <<< (_ + 1) <<< fromEnum
131− pred = toEnum <<< (_ - 1) <<< fromEnum
132−
133−instance boundedEnumDay :: BoundedEnum Day where
134− cardinality = Cardinality 31
135− toEnum n
136− | n >= 1 && n <= 31 = Just (Day n)
137− | otherwise = Nothing
138− fromEnum (Day n) = n
139−
140−instance showDay :: Show Day where
141− show (Day d) = "(Day " <> show d <> ")"
142−
143−-- | A type representing the days of the week in the Gregorian calendar.
144−data Weekday
145− = Monday
146− | Tuesday
147− | Wednesday
148− | Thursday
149− | Friday
150− | Saturday
151− | Sunday
152−
153−derive instance eqWeekday :: Eq Weekday
154−derive instance ordWeekday :: Ord Weekday
155−
156−instance boundedWeekday :: Bounded Weekday where
157− bottom = Monday
158− top = Sunday
159−
160−instance enumWeekday :: Enum Weekday where
161− succ = toEnum <<< (_ + 1) <<< fromEnum
162− pred = toEnum <<< (_ - 1) <<< fromEnum
163−
164−instance boundedEnumWeekday :: BoundedEnum Weekday where
165− cardinality = Cardinality 7
166− toEnum = case _ of
167− 1 -> Just Monday
168− 2 -> Just Tuesday
169− 3 -> Just Wednesday
170− 4 -> Just Thursday
171− 5 -> Just Friday
172− 6 -> Just Saturday
173− 7 -> Just Sunday
174− _ -> Nothing
175− fromEnum = case _ of
176− Monday -> 1
177− Tuesday -> 2
178− Wednesday -> 3
179− Thursday -> 4
180− Friday -> 5
181− Saturday -> 6
182− Sunday -> 7
183−
184−instance showWeekday :: Show Weekday where
185− show Monday = "Monday"
186− show Tuesday = "Tuesday"
187− show Wednesday = "Wednesday"
188− show Thursday = "Thursday"
189− show Friday = "Friday"
190− show Saturday = "Saturday"
191− show Sunday = "Sunday"
.spago/p/datetime-6.1.0/src/Data/Date/Component/Gen.pursdeleted−25
@@ -1,25 +0,0 @@
1−module Data.Date.Component.Gen where
2−
3−import Prelude
4−import Control.Monad.Gen (class MonadGen, chooseInt)
5−import Data.Date.Component (Day, Month, Weekday, Year)
6−import Data.Enum (toEnum)
7−import Data.Enum.Gen (genBoundedEnum)
8−import Data.Maybe (fromJust)
9−import Partial.Unsafe (unsafePartial)
10−
11−-- | Generates a random `Year` in the range 1900-2100, inclusive.
12−genYear :: forall m. MonadGen m => m Year
13−genYear = unsafePartial fromJust <<< toEnum <$> chooseInt 1900 2100
14−
15−-- | Generates a random `Month` component.
16−genMonth :: forall m. MonadGen m => m Month
17−genMonth = genBoundedEnum
18−
19−-- | Generates a random `Day` component.
20−genDay :: forall m. MonadGen m => m Day
21−genDay = genBoundedEnum
22−
23−-- | Generates a random `Weekday` component.
24−genWeekday :: forall m. MonadGen m => m Weekday
25−genWeekday = genBoundedEnum
.spago/p/datetime-6.1.0/src/Data/Date/Gen.pursdeleted−24
@@ -1,24 +0,0 @@
1−module Data.Date.Gen
2− ( genDate
3− , module Data.Date.Component.Gen
4− ) where
5−
6−import Prelude
7−import Control.Monad.Gen (class MonadGen, chooseInt)
8−import Data.Date (Date, adjust, exactDate, isLeapYear)
9−import Data.Date.Component.Gen (genDay, genMonth, genWeekday, genYear)
10−import Data.Int (toNumber)
11−import Data.Maybe (fromJust)
12−import Data.Time.Duration (Days(..))
13−import Partial.Unsafe (unsafePartial)
14−
15−-- | Generates a random `Date` between 1st Jan 1900 and 31st Dec 2100,
16−-- | inclusive.
17−genDate :: forall m. MonadGen m => m Date
18−genDate = do
19− year <- genYear
20− let maxDays = if isLeapYear year then 365 else 364
21− days <- Days <<< toNumber <$> chooseInt 0 maxDays
22− pure $ unsafePartial $ fromJust do
23− janFirst <- exactDate year bottom bottom
24− adjust days janFirst
.spago/p/datetime-6.1.0/src/Data/DateTime.jsdeleted−33
@@ -1,33 +0,0 @@
1−var createUTC = function (y, mo, d, h, m, s, ms) {
2− var date = new Date(Date.UTC(y, mo, d, h, m, s, ms));
3− if (y >= 0 && y < 100) {
4− date.setUTCFullYear(y);
5− }
6− return date.getTime();
7−};
8−
9−export function calcDiff(rec1, rec2) {
10− var msUTC1 = createUTC(rec1.year, rec1.month - 1, rec1.day, rec1.hour, rec1.minute, rec1.second, rec1.millisecond);
11− var msUTC2 = createUTC(rec2.year, rec2.month - 1, rec2.day, rec2.hour, rec2.minute, rec2.second, rec2.millisecond);
12− return msUTC1 - msUTC2;
13−}
14−
15−export function adjustImpl(just) {
16− return function (nothing) {
17− return function (offset) {
18− return function (rec) {
19− var msUTC = createUTC(rec.year, rec.month - 1, rec.day, rec.hour, rec.minute, rec.second, rec.millisecond);
20− var dt = new Date(msUTC + offset);
21− return isNaN(dt.getTime()) ? nothing : just({
22− year: dt.getUTCFullYear(),
23− month: dt.getUTCMonth() + 1,
24− day: dt.getUTCDate(),
25− hour: dt.getUTCHours(),
26− minute: dt.getUTCMinutes(),
27− second: dt.getUTCSeconds(),
28− millisecond: dt.getUTCMilliseconds()
29− });
30− };
31− };
32− };
33−}
.spago/p/datetime-6.1.0/src/Data/DateTime.pursdeleted−99
@@ -1,99 +0,0 @@
1−module Data.DateTime
2− ( DateTime(..)
3− , date
4− , modifyDate
5− , modifyDateF
6− , time
7− , modifyTime
8− , modifyTimeF
9− , adjust
10− , diff
11− , module Data.Date
12− , module Data.Time
13− ) where
14−
15−import Prelude
16−
17−import Data.Date (Date, Day, Month(..), Weekday(..), Year, canonicalDate, day, exactDate, month, weekday, year)
18−import Data.Enum (toEnum, fromEnum)
19−import Data.Function.Uncurried (Fn2, runFn2)
20−import Data.Time (Hour, Millisecond, Minute, Second, Time(..), hour, setHour, millisecond, setMillisecond, minute, setMinute, second, setSecond)
21−import Data.Time.Duration (class Duration, fromDuration, toDuration, Milliseconds)
22−import Data.Maybe (Maybe(..))
23−
24−-- | A date/time value in the Gregorian calendar/UTC time zone.
25−data DateTime = DateTime Date Time
26−
27−derive instance eqDateTime :: Eq DateTime
28−derive instance ordDateTime :: Ord DateTime
29−
30−instance boundedDateTime :: Bounded DateTime where
31− bottom = DateTime bottom bottom
32− top = DateTime top top
33−
34−instance showDateTime :: Show DateTime where
35− show (DateTime d t) = "(DateTime " <> show d <> " " <> show t <> ")"
36−
37−date :: DateTime -> Date
38−date (DateTime d _) = d
39−
40−modifyDate :: (Date -> Date) -> DateTime -> DateTime
41−modifyDate f (DateTime d t) = DateTime (f d) t
42−
43−modifyDateF :: forall f. Functor f => (Date -> f Date) -> DateTime -> f DateTime
44−modifyDateF f (DateTime d t) = flip DateTime t <$> f d
45−
46−time :: DateTime -> Time
47−time (DateTime _ t) = t
48−
49−modifyTime :: (Time -> Time) -> DateTime -> DateTime
50−modifyTime f (DateTime d t) = DateTime d (f t)
51−
52−modifyTimeF :: forall f. Functor f => (Time -> f Time) -> DateTime -> f DateTime
53−modifyTimeF f (DateTime d t) = DateTime d <$> f t
54−
55−-- | Adjusts a date/time value with a duration offset. `Nothing` is returned
56−-- | if the resulting date would be outside of the range of valid dates.
57−adjust :: forall d. Duration d => d -> DateTime -> Maybe DateTime
58−adjust d dt =
59− adjustImpl Just Nothing (fromDuration d) (toRecord dt) >>= \rec ->
60− DateTime
61− <$> join (exactDate <$> toEnum rec.year <*> toEnum rec.month <*> toEnum rec.day)
62− <*> (Time <$> toEnum rec.hour <*> toEnum rec.minute <*> toEnum rec.second <*> toEnum rec.millisecond)
63−
64−-- | Calculates the difference between two date/time values, returning the
65−-- | result as a duration.
66−diff :: forall d. Duration d => DateTime -> DateTime -> d
67−diff dt1 dt2 = toDuration $ runFn2 calcDiff (toRecord dt1) (toRecord dt2)
68−
69−type DateRec =
70− { year :: Int
71− , month :: Int
72− , day :: Int
73− , hour :: Int
74− , minute :: Int
75− , second :: Int
76− , millisecond :: Int
77− }
78−
79−toRecord :: DateTime -> DateRec
80−toRecord (DateTime d t) =
81− { year: fromEnum (year d)
82− , month: fromEnum (month d)
83− , day: fromEnum (day d)
84− , hour: fromEnum (hour t)
85− , minute: fromEnum (minute t)
86− , second: fromEnum (second t)
87− , millisecond: fromEnum (millisecond t)
88− }
89−
90−-- TODO: these could (and probably should) be implemented in PS
91−
92−foreign import calcDiff :: Fn2 DateRec DateRec Milliseconds
93−
94−foreign import adjustImpl
95− :: (forall a. a -> Maybe a)
96− -> (forall a. Maybe a)
97− -> Milliseconds
98− -> DateRec
99− -> Maybe DateRec
.spago/p/datetime-6.1.0/src/Data/DateTime/Gen.pursdeleted−16
@@ -1,16 +0,0 @@
1−module Data.DateTime.Gen
2− ( genDateTime
3− , module Data.Date.Gen
4− , module Data.Time.Gen
5− ) where
6−
7−import Prelude
8−import Control.Monad.Gen (class MonadGen)
9−import Data.Date.Gen (genDate, genDay, genMonth, genWeekday, genYear)
10−import Data.DateTime (DateTime(..))
11−import Data.Time.Gen (genHour, genMillisecond, genMinute, genSecond, genTime)
12−
13−-- | Generates a random `DateTime` between 1st Jan 1900 00:00:00 and
14−-- | 31st Dec 2100 23:59:59, inclusive.
15−genDateTime :: forall m. MonadGen m => m DateTime
16−genDateTime = DateTime <$> genDate <*> genTime
.spago/p/datetime-6.1.0/src/Data/DateTime/Instant.jsdeleted−18
@@ -1,18 +0,0 @@
1−var createDateTime = function (y, m, d, h, mi, s, ms) {
2− var dateTime = new Date(Date.UTC(y, m, d, h, mi, s, ms));
3− if (y >= 0 && y < 100) {
4− dateTime.setUTCFullYear(y);
5− }
6− return dateTime;
7−};
8−
9−export function fromDateTimeImpl(y, mo, d, h, mi, s, ms) {
10− return createDateTime(y, mo - 1, d, h, mi, s, ms).getTime();
11−}
12−
13−export function toDateTimeImpl(ctor) {
14− return function (instant) {
15− var dt = new Date(instant);
16− return ctor (dt.getUTCFullYear())(dt.getUTCMonth() + 1)(dt.getUTCDate())(dt.getUTCHours())(dt.getUTCMinutes())(dt.getUTCSeconds())(dt.getUTCMilliseconds());
17− };
18−}
.spago/p/datetime-6.1.0/src/Data/DateTime/Instant.pursdeleted−91
@@ -1,91 +0,0 @@
1−module Data.DateTime.Instant
2− ( Instant
3− , instant
4− , unInstant
5− , fromDateTime
6− , fromDate
7− , toDateTime
8− , diff
9− ) where
10−
11−import Prelude
12−
13−import Data.DateTime (Millisecond, Second, Minute, Hour, Day, Year, DateTime(..), Date, Time(..), canonicalDate, millisecond, second, minute, hour, day, month, year)
14−import Data.Enum (fromEnum, toEnum)
15−import Data.Function.Uncurried (Fn7, runFn7)
16−import Data.Maybe (Maybe(..), fromJust)
17−import Data.Time.Duration (class Duration, Milliseconds(..), negateDuration, toDuration)
18−import Partial.Unsafe (unsafePartial)
19−
20−-- | An instant is a duration in milliseconds relative to the Unix epoch
21−-- | (1970-01-01 00:00:00 UTC).
22−-- |
23−-- | The constructor is private as the `Instant` range matches that of the
24−-- | `DateTime` type.
25−newtype Instant = Instant Milliseconds
26−
27−derive newtype instance eqDateTime :: Eq Instant
28−derive newtype instance ordDateTime :: Ord Instant
29−
30−instance boundedInstant :: Bounded Instant where
31− bottom = Instant (Milliseconds (-8639977881600000.0))
32− top = Instant (Milliseconds 8639977881599999.0)
33−
34−instance showInstant :: Show Instant where
35− show (Instant ms) = "(Instant " <> show ms <> ")"
36−
37−-- Unfortunately Instant cannot be made a `BoundedEnum` as it "should" be,
38−-- unless enum cardinality and from/to range is extended to use a numeric type
39−-- bigger than Int32
40−
41−-- | Attempts to create an `Instant` from a `Milliseconds` duration. The
42−-- | minimum acceptable value equates to the `bottom` `DateTime` and the maximum
43−-- | acceptable value equates to the `top` `DateTime`.
44−instant :: Milliseconds -> Maybe Instant
45−instant ms@(Milliseconds n)
46− | n >= -8639977881600000.0 && n <= 8639977881599999.0 = Just (Instant ms)
47− | otherwise = Nothing
48−
49−-- | Lowers an `Instant` to a `Milliseconds` duration.
50−unInstant :: Instant -> Milliseconds
51−unInstant (Instant ms) = ms
52−
53−-- | Creates an `Instant` from a `DateTime` value.
54−fromDateTime :: DateTime -> Instant
55−fromDateTime (DateTime d t) =
56− runFn7 fromDateTimeImpl
57− (year d) (fromEnum (month d)) (day d)
58− (hour t) (minute t) (second t) (millisecond t)
59−
60−-- | Creates an `Instant` from a `Date` value, using the assumed time 00:00:00.
61−fromDate :: Date -> Instant
62−fromDate d =
63− runFn7 fromDateTimeImpl
64− (year d) (fromEnum (month d)) (day d)
65− bottom bottom bottom bottom
66−
67−-- | Creates a `DateTime` value from an `Instant`.
68−toDateTime :: Instant -> DateTime
69−toDateTime = toDateTimeImpl mkDateTime
70− where
71− mkDateTime = unsafePartial \y mo d h mi s ms ->
72− DateTime (canonicalDate y (fromJust (toEnum mo)) d) (Time h mi s ms)
73−
74−-- TODO: these could (and probably should) be implemented in PS
75−foreign import fromDateTimeImpl :: Fn7 Year Int Day Hour Minute Second Millisecond Instant
76−foreign import toDateTimeImpl :: (Year -> Int -> Day -> Hour -> Minute -> Second -> Millisecond -> DateTime) -> Instant -> DateTime
77−
78−-- | Calculates the difference between two instants, returning the result as a duration.
79−-- | For example:
80−-- | ```
81−-- | do
82−-- | start <- liftEffect Now.now
83−-- | aLongRunningAff
84−-- | end <- liftEffect Now.now
85−-- | let
86−-- | hours :: Duration.Hours
87−-- | hours = Instant.diff end start
88−-- | log ("A long running Aff took " <> show hours)
89−-- | ```
90−diff :: forall d. Duration d => Instant → Instant → d
91−diff dt1 dt2 = toDuration (unInstant dt1 <> negateDuration (unInstant dt2))
.spago/p/datetime-6.1.0/src/Data/Interval.pursdeleted−115
@@ -1,115 +0,0 @@
1−module Data.Interval
2− ( Interval(..)
3− , RecurringInterval(..)
4− , module Exports
5− ) where
6−
7−import Prelude
8−
9−import Control.Extend (class Extend, extend)
10−import Data.Bifoldable (class Bifoldable, bifoldl, bifoldr, bifoldrDefault, bifoldMapDefaultL)
11−import Data.Bifunctor (class Bifunctor, bimap)
12−import Data.Bitraversable (class Bitraversable, bitraverse, bisequenceDefault)
13−import Data.Foldable (class Foldable, foldl, foldr, foldrDefault, foldMapDefaultL)
14−import Data.Interval.Duration (Duration(..), DurationComponent(..), day, hour, millisecond, minute, month, second, week, year) as Exports
15−import Data.Maybe (Maybe)
16−import Data.Traversable (class Traversable, traverse, sequenceDefault)
17−
18−data RecurringInterval d a = RecurringInterval (Maybe Int) (Interval d a)
19−
20−derive instance eqRecurringInterval :: (Eq d, Eq a) => Eq (RecurringInterval d a)
21−derive instance ordRecurringInterval :: (Ord d, Ord a) => Ord (RecurringInterval d a)
22−instance showRecurringInterval :: (Show d, Show a) => Show (RecurringInterval d a) where
23− show (RecurringInterval x y) = "(RecurringInterval " <> show x <> " " <> show y <> ")"
24−
25−interval :: ∀ d a. RecurringInterval d a -> Interval d a
26−interval (RecurringInterval _ i) = i
27−
28−over :: ∀ f d a d' a'. Functor f => (Interval d a -> f (Interval d' a')) -> RecurringInterval d a -> f (RecurringInterval d' a')
29−over f (RecurringInterval n i) = map (RecurringInterval n) (f i)
30−
31−instance functorRecurringInterval :: Functor (RecurringInterval d) where
32− map f (RecurringInterval n i) = RecurringInterval n (map f i)
33−
34−instance bifunctorRecurringInterval :: Bifunctor RecurringInterval where
35− bimap f g (RecurringInterval n i) = RecurringInterval n (bimap f g i)
36−
37−instance foldableRecurringInterval :: Foldable (RecurringInterval d) where
38− foldl f i = foldl f i <<< interval
39− foldr f i = foldr f i <<< interval
40− foldMap = foldMapDefaultL
41−
42−instance bifoldableRecurringInterval :: Bifoldable RecurringInterval where
43− bifoldl f g i = bifoldl f g i <<< interval
44− bifoldr f g i = bifoldr f g i <<< interval
45− bifoldMap = bifoldMapDefaultL
46−
47−instance traversableRecurringInterval :: Traversable (RecurringInterval d) where
48− traverse f i = traverse f `over` i
49− sequence = sequenceDefault
50−
51−instance bitraversableRecurringInterval :: Bitraversable RecurringInterval where
52− bitraverse l r i = bitraverse l r `over` i
53− bisequence = bisequenceDefault
54−
55−instance extendRecurringInterval :: Extend (RecurringInterval d) where
56− extend f a@(RecurringInterval n i) = RecurringInterval n (extend (const (f a)) i)
57−
58−data Interval d a
59− = StartEnd a a
60− | DurationEnd d a
61− | StartDuration a d
62− | DurationOnly d
63−
64−derive instance eqInterval :: (Eq d, Eq a) => Eq (Interval d a)
65−derive instance ordInterval :: (Ord d, Ord a) => Ord (Interval d a)
66−instance showInterval :: (Show d, Show a) => Show (Interval d a) where
67− show (StartEnd x y) = "(StartEnd " <> show x <> " " <> show y <> ")"
68− show (DurationEnd d x) = "(DurationEnd " <> show d <> " " <> show x <> ")"
69− show (StartDuration x d) = "(StartDuration " <> show x <> " " <> show d <> ")"
70− show (DurationOnly d) = "(DurationOnly " <> show d <> ")"
71−
72−instance functorInterval :: Functor (Interval d) where
73− map = bimap identity
74−
75−instance bifunctorInterval :: Bifunctor Interval where
76− bimap _ f (StartEnd x y) = StartEnd (f x) (f y)
77− bimap g f (DurationEnd d x) = DurationEnd (g d) (f x)
78− bimap g f (StartDuration x d) = StartDuration (f x) (g d)
79− bimap g _ (DurationOnly d) = DurationOnly (g d)
80−
81−instance foldableInterval :: Foldable (Interval d) where
82− foldl f z (StartEnd x y) = (z `f` x) `f` y
83− foldl f z (DurationEnd _ x) = z `f` x
84− foldl f z (StartDuration x _) = z `f` x
85− foldl _ z _ = z
86− foldr x = foldrDefault x
87− foldMap = foldMapDefaultL
88−
89−instance bifoldableInterval :: Bifoldable Interval where
90− bifoldl _ f z (StartEnd x y) = (z `f` x) `f` y
91− bifoldl g f z (DurationEnd d x) = (z `g` d) `f` x
92− bifoldl g f z (StartDuration x d) = (z `g` d) `f` x
93− bifoldl g _ z (DurationOnly d) = z `g` d
94− bifoldr x = bifoldrDefault x
95− bifoldMap = bifoldMapDefaultL
96−
97−instance traversableInterval :: Traversable (Interval d) where
98− traverse f (StartEnd x y) = StartEnd <$> f x <*> f y
99− traverse f (DurationEnd d x) = f x <#> DurationEnd d
100− traverse f (StartDuration x d) = f x <#> (_ `StartDuration` d)
101− traverse _ (DurationOnly d) = pure (DurationOnly d)
102− sequence = sequenceDefault
103−
104−instance bitraversableInterval :: Bitraversable Interval where
105− bitraverse _ r (StartEnd x y) = StartEnd <$> r x <*> r y
106− bitraverse l r (DurationEnd d x) = DurationEnd <$> l d <*> r x
107− bitraverse l r (StartDuration x d) = StartDuration <$> r x <*> l d
108− bitraverse l _ (DurationOnly d) = DurationOnly <$> l d
109− bisequence = bisequenceDefault
110−
111−instance extendInterval :: Extend (Interval d) where
112− extend f a@(StartEnd _ _) = StartEnd (f a) (f a)
113− extend f a@(DurationEnd d _) = DurationEnd d (f a)
114− extend f a@(StartDuration _ d) = StartDuration (f a) d
115− extend _ (DurationOnly d) = DurationOnly d
.spago/p/datetime-6.1.0/src/Data/Interval/Duration.pursdeleted−73
@@ -1,73 +0,0 @@
1−module Data.Interval.Duration
2− ( Duration(..)
3− , DurationComponent(..)
4− , year
5− , month
6− , week
7− , day
8− , hour
9− , minute
10− , second
11− , millisecond
12− ) where
13−
14−import Prelude
15−
16−import Data.Map as Map
17−import Data.Newtype (class Newtype)
18−
19−newtype Duration = Duration (Map.Map DurationComponent Number)
20−
21−derive instance eqDuration :: Eq Duration
22−derive instance ordDuration :: Ord Duration
23−derive instance newtypeDuration :: Newtype Duration _
24−
25−instance showDuration :: Show Duration where
26− show (Duration d) = "(Duration " <> show d <> ")"
27−
28−instance semigroupDuration :: Semigroup Duration where
29− append (Duration a) (Duration b) = Duration (Map.unionWith (+) a b)
30−
31−instance monoidDuration :: Monoid Duration where
32− mempty = Duration Map.empty
33−
34−data DurationComponent = Second | Minute | Hour | Day | Week | Month | Year
35−derive instance eqDurationComponent :: Eq DurationComponent
36−derive instance ordDurationComponent :: Ord DurationComponent
37−
38−instance showDurationComponent :: Show DurationComponent where
39− show Minute = "Minute"
40− show Second = "Second"
41− show Hour = "Hour"
42− show Day = "Day"
43− show Week = "Week"
44− show Month = "Month"
45− show Year = "Year"
46−
47−
48−week :: Number -> Duration
49−week = durationFromComponent Week
50−
51−year :: Number -> Duration
52−year = durationFromComponent Year
53−
54−month :: Number -> Duration
55−month = durationFromComponent Month
56−
57−day :: Number -> Duration
58−day = durationFromComponent Day
59−
60−hour :: Number -> Duration
61−hour = durationFromComponent Hour
62−
63−minute :: Number -> Duration
64−minute = durationFromComponent Minute
65−
66−second :: Number -> Duration
67−second = durationFromComponent Second
68−
69−millisecond :: Number -> Duration
70−millisecond = durationFromComponent Second <<< (_ / 1000.0)
71−
72−durationFromComponent :: DurationComponent -> Number -> Duration
73−durationFromComponent k v = Duration (Map.singleton k v)
.spago/p/datetime-6.1.0/src/Data/Interval/Duration/Iso.pursdeleted−97
@@ -1,97 +0,0 @@
1−module Data.Interval.Duration.Iso
2− ( IsoDuration
3− , unIsoDuration
4− , mkIsoDuration
5− , Error(..)
6− , Errors
7− , prettyError
8− ) where
9−
10−import Prelude
11−
12−import Control.Plus (empty)
13−import Data.Either (Either(..))
14−import Data.Foldable (fold, foldMap)
15−import Data.Interval.Duration (Duration(..), DurationComponent(..))
16−import Data.List (List(..), reverse, span, null)
17−import Data.List.NonEmpty (fromList)
18−import Data.List.Types (NonEmptyList)
19−import Data.Map as Map
20−import Data.Number as Number
21−import Data.Maybe (Maybe(..), isJust)
22−import Data.Monoid.Additive (Additive(..))
23−import Data.Newtype (unwrap)
24−import Data.Tuple (Tuple(..), snd)
25−
26−newtype IsoDuration = IsoDuration Duration
27−
28−derive instance eqIsoDuration :: Eq IsoDuration
29−derive instance ordIsoDuration :: Ord IsoDuration
30−instance showIsoDuration :: Show IsoDuration where
31− show (IsoDuration d) = "(IsoDuration " <> show d <> ")"
32−
33−type Errors = NonEmptyList Error
34−
35−data Error
36− = IsEmpty
37− | InvalidWeekComponentUsage
38− | ContainsNegativeValue DurationComponent
39− | InvalidFractionalUse DurationComponent
40−
41−derive instance eqError :: Eq Error
42−derive instance ordError :: Ord Error
43−instance showError :: Show Error where
44− show (IsEmpty) = "(IsEmpty)"
45− show (InvalidWeekComponentUsage) = "(InvalidWeekComponentUsage)"
46− show (ContainsNegativeValue c) = "(ContainsNegativeValue " <> show c <> ")"
47− show (InvalidFractionalUse c) = "(InvalidFractionalUse " <> show c <> ")"
48−
49−prettyError :: Error -> String
50−prettyError (IsEmpty) = "Duration is empty (has no components)"
51−prettyError (InvalidWeekComponentUsage) = "Week component of Duration is used with other components"
52−prettyError (ContainsNegativeValue c) = "Component `" <> show c <> "` contains negative value"
53−prettyError (InvalidFractionalUse c) = "Invalid usage of Fractional value at component `" <> show c <> "`"
54−
55−
56−unIsoDuration :: IsoDuration -> Duration
57−unIsoDuration (IsoDuration a) = a
58−
59−mkIsoDuration :: Duration -> Either Errors IsoDuration
60−mkIsoDuration d = case fromList (checkValidIsoDuration d) of
61− Just errs -> Left errs
62− Nothing -> Right (IsoDuration d)
63−
64−checkValidIsoDuration :: Duration -> List Error
65−checkValidIsoDuration (Duration asMap) = check {asList, asMap}
66− where
67− asList = reverse (Map.toUnfoldable asMap)
68− check = fold
69− [ checkWeekUsage
70− , checkEmptiness
71− , checkFractionalUse
72− , checkNegativeValues
73− ]
74−
75−
76−type CheckEnv =
77− { asList :: List (Tuple DurationComponent Number)
78− , asMap :: Map.Map DurationComponent Number}
79−
80−checkWeekUsage :: CheckEnv -> List Error
81−checkWeekUsage {asMap} = if isJust (Map.lookup Week asMap) && Map.size asMap > 1
82− then pure InvalidWeekComponentUsage else empty
83−
84−checkEmptiness :: CheckEnv -> List Error
85−checkEmptiness {asList} = if null asList then pure IsEmpty else empty
86−
87−checkFractionalUse :: CheckEnv -> List Error
88−checkFractionalUse {asList} = case _.rest (span (snd >>> not isFractional) asList) of
89− Cons (Tuple c _) rest | checkRest rest -> pure (InvalidFractionalUse c)
90− _ -> empty
91− where
92− isFractional a = Number.floor a /= a
93− checkRest rest = unwrap (foldMap (snd >>> Number.abs >>> Additive) rest) > 0.0
94−
95−checkNegativeValues :: CheckEnv -> List Error
96−checkNegativeValues {asList} = flip foldMap asList \(Tuple c num) ->
97− if num >= 0.0 then empty else pure (ContainsNegativeValue c)
.spago/p/datetime-6.1.0/src/Data/Time.pursdeleted−123
@@ -1,123 +0,0 @@
1−module Data.Time
2− ( Time(..)
3− , hour, setHour
4− , minute, setMinute
5− , second, setSecond
6− , millisecond, setMillisecond
7− , adjust
8− , diff
9− , module Data.Time.Component
10− ) where
11−
12−import Prelude
13−
14−import Data.Enum (fromEnum, toEnum)
15−import Data.Int as Int
16−import Data.Maybe (fromJust)
17−import Data.Number as Number
18−import Data.Newtype (unwrap)
19−import Data.Time.Component (Hour, Millisecond, Minute, Second)
20−import Data.Time.Duration (class Duration, Days(..), Milliseconds(..), fromDuration, negateDuration, toDuration)
21−import Data.Tuple (Tuple(..))
22−import Partial.Unsafe (unsafePartial)
23−
24−data Time = Time Hour Minute Second Millisecond
25−
26−derive instance eqTime :: Eq Time
27−derive instance ordTime :: Ord Time
28−
29−instance boundedTime :: Bounded Time where
30− bottom = Time bottom bottom bottom bottom
31− top = Time top top top top
32−
33−instance showTime :: Show Time where
34− show (Time h m s ms) = "(Time " <> show h <> " " <> show m <> " " <> show s <> " " <> show ms <> ")"
35−
36−-- | The hour component of a time value.
37−hour :: Time -> Hour
38−hour (Time h _ _ _) = h
39−
40−-- | Alters the hour component of a time value.
41−setHour :: Hour -> Time -> Time
42−setHour h (Time _ m s ms) = Time h m s ms
43−
44−-- | The minute component of a time value.
45−minute :: Time -> Minute
46−minute (Time _ m _ _) = m
47−
48−-- | Alters the minute component of a time value.
49−setMinute :: Minute -> Time -> Time
50−setMinute m (Time h _ s ms) = Time h m s ms
51−
52−-- | The second component of a time value.
53−second :: Time -> Second
54−second (Time _ _ s _) = s
55−
56−-- | Alters the second component of a time value.
57−setSecond :: Second -> Time -> Time
58−setSecond s (Time h m _ ms) = Time h m s ms
59−
60−-- | The millisecond component of a time value.
61−millisecond :: Time -> Millisecond
62−millisecond (Time _ _ _ ms) = ms
63−
64−-- | Alters the millisecond component of a time value.
65−setMillisecond :: Millisecond -> Time -> Time
66−setMillisecond ms (Time h m s _) = Time h m s ms
67−
68−-- | Adjusts a time value with a duration offset. The result includes a
69−-- | remainder value of the whole number of days involved in the adjustment,
70−-- | for example, if a time of 23:00:00:00 has a duration of +2 hours added to
71−-- | it, the result will be 1 day, and 01:00:00:00. Correspondingly, if the
72−-- | duration is negative, a negative number of days may also be returned as
73−-- | the remainder.
74−adjust :: forall d. Duration d => d -> Time -> Tuple Days Time
75−adjust d t =
76− let
77− d' = fromDuration d
78− tLength = timeToMillis t
79− dayLength = 86400000.0
80− wholeDays = Days $ Number.floor (unwrap d' / dayLength)
81− msAdjust = d' <> negateDuration (fromDuration wholeDays)
82− msAdjusted = tLength <> msAdjust
83− wrap = if msAdjusted > maxTime then 1.0 else if msAdjusted < minTime then -1.0 else 0.0
84− in
85− Tuple
86− (wholeDays <> Days wrap)
87− (millisToTime (msAdjusted <> Milliseconds (dayLength * -wrap)))
88−
89−maxTime :: Milliseconds
90−maxTime = timeToMillis top
91−
92−minTime :: Milliseconds
93−minTime = timeToMillis bottom
94−
95−timeToMillis :: Time -> Milliseconds
96−timeToMillis t = Milliseconds
97− $ 3600000.0 * Int.toNumber (fromEnum (hour t))
98− + 60000.0 * Int.toNumber (fromEnum (minute t))
99− + 1000.0 * Int.toNumber (fromEnum (second t))
100− + Int.toNumber (fromEnum (millisecond t))
101−
102−millisToTime :: Milliseconds -> Time
103−millisToTime (Milliseconds ms') =
104− let
105− hourLength = 3600000.0
106− minuteLength = 60000.0
107− secondLength = 1000.0
108− hours = Number.floor (ms' / hourLength)
109− minutes = Number.floor ((ms' - hours * hourLength) / minuteLength)
110− seconds = Number.floor ((ms' - (hours * hourLength + minutes * minuteLength)) / secondLength)
111− milliseconds = ms' - (hours * hourLength + minutes * minuteLength + seconds * secondLength)
112− in
113− unsafePartial fromJust $
114− Time
115− <$> toEnum (Int.floor hours)
116− <*> toEnum (Int.floor minutes)
117− <*> toEnum (Int.floor seconds)
118− <*> toEnum (Int.floor milliseconds)
119−
120−-- | Calculates the difference between two times, returning the result as a
121−-- | duration.
122−diff :: forall d. Duration d => Time -> Time -> d
123−diff t1 t2 = toDuration (timeToMillis t1 <> negateDuration (timeToMillis t2))
.spago/p/datetime-6.1.0/src/Data/Time/Component.pursdeleted−128
@@ -1,128 +0,0 @@
1−module Data.Time.Component
2− ( Hour
3− , Minute
4− , Second
5− , Millisecond
6− ) where
7−
8−import Prelude
9−
10−import Data.Enum (class Enum, class BoundedEnum, toEnum, fromEnum, Cardinality(..))
11−import Data.Maybe (Maybe(..))
12−
13−-- | An hour component for a time value.
14−-- |
15−-- | The constructor is private as values for the type are restricted to the
16−-- | range 0 to 23, inclusive. The `toEnum` function can be used to safely
17−-- | acquire an `Hour` value from an integer. Correspondingly, an `Hour` can be
18−-- | lowered to a plain integer with the `fromEnum` function.
19−newtype Hour = Hour Int
20−
21−derive newtype instance eqHour :: Eq Hour
22−derive newtype instance ordHour :: Ord Hour
23−
24−instance boundedHour :: Bounded Hour where
25− bottom = Hour 0
26− top = Hour 23
27−
28−instance enumHour :: Enum Hour where
29− succ = toEnum <<< (_ + 1) <<< fromEnum
30− pred = toEnum <<< (_ - 1) <<< fromEnum
31−
32−instance boundedEnumHour :: BoundedEnum Hour where
33− cardinality = Cardinality 24
34− toEnum n
35− | n >= 0 && n <= 23 = Just (Hour n)
36− | otherwise = Nothing
37− fromEnum (Hour n) = n
38−
39−instance showHour :: Show Hour where
40− show (Hour h) = "(Hour " <> show h <> ")"
41−
42−-- | An minute component for a time value.
43−-- |
44−-- | The constructor is private as values for the type are restricted to the
45−-- | range 0 to 59, inclusive. The `toEnum` function can be used to safely
46−-- | acquire an `Minute` value from an integer. Correspondingly, a `Minute` can
47−-- | be lowered to a plain integer with the `fromEnum` function.
48−newtype Minute = Minute Int
49−
50−derive newtype instance eqMinute :: Eq Minute
51−derive newtype instance ordMinute :: Ord Minute
52−
53−instance boundedMinute :: Bounded Minute where
54− bottom = Minute 0
55− top = Minute 59
56−
57−instance enumMinute :: Enum Minute where
58− succ = toEnum <<< (_ + 1) <<< fromEnum
59− pred = toEnum <<< (_ - 1) <<< fromEnum
60−
61−instance boundedEnumMinute :: BoundedEnum Minute where
62− cardinality = Cardinality 60
63− toEnum n
64− | n >= 0 && n <= 59 = Just (Minute n)
65− | otherwise = Nothing
66− fromEnum (Minute n) = n
67−
68−instance showMinute :: Show Minute where
69− show (Minute m) = "(Minute " <> show m <> ")"
70−
71−-- | An second component for a time value.
72−-- |
73−-- | The constructor is private as values for the type are restricted to the
74−-- | range 0 to 59, inclusive. The `toEnum` function can be used to safely
75−-- | acquire an `Second` value from an integer. Correspondingly, a `Second` can
76−-- | be lowered to a plain integer with the `fromEnum` function.
77−newtype Second = Second Int
78−
79−derive newtype instance eqSecond :: Eq Second
80−derive newtype instance ordSecond :: Ord Second
81−
82−instance boundedSecond :: Bounded Second where
83− bottom = Second 0
84− top = Second 59
85−
86−instance enumSecond :: Enum Second where
87− succ = toEnum <<< (_ + 1) <<< fromEnum
88− pred = toEnum <<< (_ - 1) <<< fromEnum
89−
90−instance boundedEnumSecond :: BoundedEnum Second where
91− cardinality = Cardinality 60
92− toEnum n
93− | n >= 0 && n <= 59 = Just (Second n)
94− | otherwise = Nothing
95− fromEnum (Second n) = n
96−
97−instance showSecond :: Show Second where
98− show (Second m) = "(Second " <> show m <> ")"
99−
100−-- | An millisecond component for a time value.
101−-- |
102−-- | The constructor is private as values for the type are restricted to the
103−-- | range 0 to 999, inclusive. The `toEnum` function can be used to safely
104−-- | acquire an `Millisecond` value from an integer. Correspondingly, a
105−-- | `Millisecond` can be lowered to a plain integer with the `fromEnum`
106−-- | function.
107−newtype Millisecond = Millisecond Int
108−
109−derive newtype instance eqMillisecond :: Eq Millisecond
110−derive newtype instance ordMillisecond :: Ord Millisecond
111−
112−instance boundedMillisecond :: Bounded Millisecond where
113− bottom = Millisecond 0
114− top = Millisecond 999
115−
116−instance enumMillisecond :: Enum Millisecond where
117− succ = toEnum <<< (_ + 1) <<< fromEnum
118− pred = toEnum <<< (_ - 1) <<< fromEnum
119−
120−instance boundedEnumMillisecond :: BoundedEnum Millisecond where
121− cardinality = Cardinality 1000
122− toEnum n
123− | n >= 0 && n <= 999 = Just (Millisecond n)
124− | otherwise = Nothing
125− fromEnum (Millisecond n) = n
126−
127−instance showMillisecond :: Show Millisecond where
128− show (Millisecond m) = "(Millisecond " <> show m <> ")"
.spago/p/datetime-6.1.0/src/Data/Time/Component/Gen.pursdeleted−21
@@ -1,21 +0,0 @@
1−module Data.Time.Component.Gen where
2−
3−import Control.Monad.Gen (class MonadGen)
4−import Data.Enum.Gen (genBoundedEnum)
5−import Data.Time.Component (Hour, Millisecond, Minute, Second)
6−
7−-- | Generates a random `Hour` component.
8−genHour :: forall m. MonadGen m => m Hour
9−genHour = genBoundedEnum
10−
11−-- | Generates a random `Minute` component.
12−genMinute :: forall m. MonadGen m => m Minute
13−genMinute = genBoundedEnum
14−
15−-- | Generates a random `Second` component.
16−genSecond :: forall m. MonadGen m => m Second
17−genSecond = genBoundedEnum
18−
19−-- | Generates a random `Millisecond` component.
20−genMillisecond :: forall m. MonadGen m => m Millisecond
21−genMillisecond = genBoundedEnum
.spago/p/datetime-6.1.0/src/Data/Time/Duration.pursdeleted−119
@@ -1,119 +0,0 @@
1−module Data.Time.Duration where
2−
3−import Prelude
4−
5−import Data.Newtype (class Newtype, over)
6−
7−-- | A duration measured in milliseconds.
8−newtype Milliseconds = Milliseconds Number
9−
10−derive instance newtypeMilliseconds :: Newtype Milliseconds _
11−derive newtype instance eqMilliseconds :: Eq Milliseconds
12−derive newtype instance ordMilliseconds :: Ord Milliseconds
13−
14−instance semigroupMilliseconds :: Semigroup Milliseconds where
15− append (Milliseconds x) (Milliseconds y) = Milliseconds (x + y)
16−
17−instance monoidMilliseconds :: Monoid Milliseconds where
18− mempty = Milliseconds 0.0
19−
20−instance showMilliseconds :: Show Milliseconds where
21− show (Milliseconds n) = "(Milliseconds " <> show n <> ")"
22−
23−-- | A duration measured in seconds.
24−newtype Seconds = Seconds Number
25−
26−derive instance newtypeSeconds :: Newtype Seconds _
27−derive newtype instance eqSeconds :: Eq Seconds
28−derive newtype instance ordSeconds :: Ord Seconds
29−
30−instance semigroupSeconds :: Semigroup Seconds where
31− append (Seconds x) (Seconds y) = Seconds (x + y)
32−
33−instance monoidSeconds :: Monoid Seconds where
34− mempty = Seconds 0.0
35−
36−instance showSeconds :: Show Seconds where
37− show (Seconds n) = "(Seconds " <> show n <> ")"
38−
39−-- | A duration measured in minutes.
40−newtype Minutes = Minutes Number
41−
42−derive instance newtypeMinutes :: Newtype Minutes _
43−derive newtype instance eqMinutes :: Eq Minutes
44−derive newtype instance ordMinutes :: Ord Minutes
45−
46−instance semigroupMinutes :: Semigroup Minutes where
47− append (Minutes x) (Minutes y) = Minutes (x + y)
48−
49−instance monoidMinutes :: Monoid Minutes where
50− mempty = Minutes 0.0
51−
52−instance showMinutes :: Show Minutes where
53− show (Minutes n) = "(Minutes " <> show n <> ")"
54−
55−-- | A duration measured in hours.
56−newtype Hours = Hours Number
57−
58−derive instance newtypeHours :: Newtype Hours _
59−derive newtype instance eqHours :: Eq Hours
60−derive newtype instance ordHours :: Ord Hours
61−
62−instance semigroupHours :: Semigroup Hours where
63− append (Hours x) (Hours y) = Hours (x + y)
64−
65−instance monoidHours :: Monoid Hours where
66− mempty = Hours 0.0
67−
68−instance showHours :: Show Hours where
69− show (Hours n) = "(Hours " <> show n <> ")"
70−
71−-- | A duration measured in days, where a day is assumed to be exactly 24 hours.
72−newtype Days = Days Number
73−
74−derive instance newtypeDays :: Newtype Days _
75−derive newtype instance eqDays :: Eq Days
76−derive newtype instance ordDays :: Ord Days
77−
78−instance semigroupDays :: Semigroup Days where
79− append (Days x) (Days y) = Days (x + y)
80−
81−instance monoidDays :: Monoid Days where
82− mempty = Days 0.0
83−
84−instance showDays :: Show Days where
85− show (Days n) = "(Days " <> show n <> ")"
86−
87−-- | A class for enabling conversions between duration types.
88−class Duration a where
89− fromDuration :: a -> Milliseconds
90− toDuration :: Milliseconds -> a
91−
92−-- | Converts directly between durations of differing types.
93−convertDuration :: forall a b. Duration a => Duration b => a -> b
94−convertDuration = toDuration <<< fromDuration
95−
96−-- | Negates a duration, turning a positive duration negative or a negative
97−-- | duration positive.
98−negateDuration :: forall a. Duration a => a -> a
99−negateDuration = toDuration <<< over Milliseconds negate <<< fromDuration
100−
101−instance durationMilliseconds :: Duration Milliseconds where
102− fromDuration = identity
103− toDuration = identity
104−
105−instance durationSeconds :: Duration Seconds where
106− fromDuration = over Seconds (_ * 1000.0)
107− toDuration = over Milliseconds (_ / 1000.0)
108−
109−instance durationMinutes :: Duration Minutes where
110− fromDuration = over Minutes (_ * 60000.0)
111− toDuration = over Milliseconds (_ / 60000.0)
112−
113−instance durationHours :: Duration Hours where
114− fromDuration = over Hours (_ * 3600000.0)
115− toDuration = over Milliseconds (_ / 3600000.0)
116−
117−instance durationDays :: Duration Days where
118− fromDuration = over Days (_ * 86400000.0)
119− toDuration = over Milliseconds (_ / 86400000.0)
.spago/p/datetime-6.1.0/src/Data/Time/Duration/Gen.pursdeleted−27
@@ -1,27 +0,0 @@
1−module Data.Time.Duration.Gen where
2−
3−import Prelude
4−
5−import Control.Monad.Gen (class MonadGen)
6−import Control.Monad.Gen as Gen
7−import Data.Time.Duration (Days(..), Hours(..), Milliseconds(..), Minutes(..), Seconds(..))
8−
9−-- | Generates a random `Milliseconds` duration, up to 10 minutes.
10−genMilliseconds :: forall m. MonadGen m => m Milliseconds
11−genMilliseconds = Milliseconds <$> Gen.chooseFloat 0.0 600000.0
12−
13−-- | Generates a random `Seconds` duration, up to 10 minutes.
14−genSeconds :: forall m. MonadGen m => m Seconds
15−genSeconds = Seconds <$> Gen.chooseFloat 0.0 600.0
16−
17−-- | Generates a random `Seconds` duration, up to 10 hours.
18−genMinutes :: forall m. MonadGen m => m Minutes
19−genMinutes = Minutes <$> Gen.chooseFloat 0.0 600.0
20−
21−-- | Generates a random `Hours` duration, up to 10 days.
22−genHours :: forall m. MonadGen m => m Hours
23−genHours = Hours <$> Gen.chooseFloat 0.0 240.0
24−
25−-- | Generates a random `Days` duration, up to 6 weeks.
26−genDays :: forall m. MonadGen m => m Days
27−genDays = Days <$> Gen.chooseFloat 0.0 42.0
.spago/p/datetime-6.1.0/src/Data/Time/Gen.pursdeleted−13
@@ -1,13 +0,0 @@
1−module Data.Time.Gen
2− ( genTime
3− , module Data.Time.Component.Gen
4− ) where
5−
6−import Prelude
7−import Control.Monad.Gen (class MonadGen)
8−import Data.Time (Time(..))
9−import Data.Time.Component.Gen (genHour, genMillisecond, genMinute, genSecond)
10−
11−-- | Generates a random `Time` between 00:00:00 and 23:59:59, inclusive.
12−genTime :: forall m. MonadGen m => m Time
13−genTime = Time <$> genHour <*> genMinute <*> genSecond <*> genMillisecond
.spago/p/distributive-6.0.0/LICENSEdeleted−26
@@ -1,26 +0,0 @@
1−Copyright 2018 PureScript
2−
3−Redistribution and use in source and binary forms, with or without modification,
4−are permitted provided that the following conditions are met:
5−
6−1. Redistributions of source code must retain the above copyright notice, this
7−list of conditions and the following disclaimer.
8−
9−2. Redistributions in binary form must reproduce the above copyright notice,
10−this list of conditions and the following disclaimer in the documentation and/or
11−other materials provided with the distribution.
12−
13−3. Neither the name of the copyright holder nor the names of its contributors
14−may be used to endorse or promote products derived from this software without
15−specific prior written permission.
16−
17−THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18−ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19−WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20−DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
21−ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22−(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23−LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24−ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25−(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26−SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.spago/p/distributive-6.0.0/README.mddeleted−17
@@ -1,17 +0,0 @@
1−# purescript-distributive
2−
3−[![Latest release](http://img.shields.io/github/release/purescript/purescript-distributive.svg)](https://github.com/purescript/purescript-distributive/releases)
4−[![Build status](https://github.com/purescript/purescript-distributive/workflows/CI/badge.svg?branch=master)](https://github.com/purescript/purescript-distributive/actions?query=workflow%3ACI+branch%3Amaster)
5−[![Pursuit](https://pursuit.purescript.org/packages/purescript-distributive/badge)](https://pursuit.purescript.org/packages/purescript-distributive)
6−
7−Distributive typeclass - the categorical dual of `Traversable`.
8−
9−## Installation
10−
11−```
12−spago install distributive
13−```
14−
15−## Documentation
16−
17−Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-distributive).
.spago/p/distributive-6.0.0/bower.jsondeleted−30
@@ -1,30 +0,0 @@
1−{
2− "name": "purescript-distributive",
3− "homepage": "https://github.com/purescript/purescript-distributive",
4− "authors": [
5− "Hardy Jones <jones3.hardy@gmail.com> (https://github.com/joneshf)",
6− "John A. De Goes <john@degoes.net> (http://degoes.net)",
7− "Sean Chalmers <sclhiannan@gmail.com>"
8− ],
9− "license": "BSD-3-Clause",
10− "repository": {
11− "type": "git",
12− "url": "https://github.com/purescript/purescript-distributive.git"
13− },
14− "ignore": [
15− "**/.*",
16− "bower_components",
17− "node_modules",
18− "output",
19− "test",
20− "bower.json",
21− "package.json"
22− ],
23− "dependencies": {
24− "purescript-identity": "^6.0.0",
25− "purescript-newtype": "^5.0.0",
26− "purescript-prelude": "^6.0.0",
27− "purescript-tuples": "^7.0.0",
28− "purescript-type-equality": "^4.0.1"
29− }
30−}
.spago/p/distributive-6.0.0/package.jsondeleted−12
@@ -1,12 +0,0 @@
1−{
2− "private": true,
3− "scripts": {
4− "clean": "rimraf output && rimraf .pulp-cache",
5− "build": "pulp build -- --censor-lib --strict"
6− },
7− "devDependencies": {
8− "pulp": "16.0.0-0",
9− "purescript-psa": "^0.8.2",
10− "rimraf": "^3.0.2"
11− }
12−}
.spago/p/distributive-6.0.0/purs.jsondeleted−16
@@ -1,16 +0,0 @@
1−{
2− "name": "distributive",
3− "version": "6.0.0",
4− "license": "BSD-3-Clause",
5− "location": {
6− "githubOwner": "purescript",
7− "githubRepo": "purescript-distributive"
8− },
9− "dependencies": {
10− "identity": ">=6.0.0 <7.0.0",
11− "newtype": ">=5.0.0 <6.0.0",
12− "prelude": ">=6.0.0 <7.0.0",
13− "tuples": ">=7.0.0 <8.0.0",
14− "type-equality": ">=4.0.1 <5.0.0"
15− }
16−}
.spago/p/distributive-6.0.0/src/Data/Distributive.pursdeleted−67
@@ -1,67 +0,0 @@
1−module Data.Distributive where
2−
3−import Prelude
4−
5−import Data.Identity (Identity(..))
6−import Data.Newtype (unwrap)
7−import Data.Tuple (Tuple(..), snd)
8−import Type.Equality (class TypeEquals, from)
9−
10−-- | Categorical dual of `Traversable`:
11−-- |
12−-- | - `distribute` is the dual of `sequence` - it zips an arbitrary collection
13−-- | of containers.
14−-- | - `collect` is the dual of `traverse` - it traverses an arbitrary
15−-- | collection of values.
16−-- |
17−-- | Laws:
18−-- |
19−-- | - `distribute = collect identity`
20−-- | - `distribute <<< distribute = identity`
21−-- | - `collect f = distribute <<< map f`
22−-- | - `map f = unwrap <<< collect (Identity <<< f)`
23−-- | - `map distribute <<< collect f = unwrap <<< collect (Compose <<< f)`
24−class Functor f <= Distributive f where
25− distribute :: forall a g. Functor g => g (f a) -> f (g a)
26− collect :: forall a b g. Functor g => (a -> f b) -> g a -> f (g b)
27−
28−instance distributiveIdentity :: Distributive Identity where
29− distribute = Identity <<< map unwrap
30− collect f = Identity <<< map (unwrap <<< f)
31−
32−instance distributiveFunction :: Distributive ((->) e) where
33− distribute a e = map (_ $ e) a
34− collect f = distribute <<< map f
35−
36−instance distributiveTuple :: TypeEquals a Unit => Distributive (Tuple a) where
37− collect = collectDefault
38− distribute = Tuple (from unit) <<< map snd
39−
40−-- | A default implementation of `distribute`, based on `collect`.
41−distributeDefault
42− :: forall a f g
43− . Distributive f
44− => Functor g
45− => g (f a)
46− -> f (g a)
47−distributeDefault = collect identity
48−
49−-- | A default implementation of `collect`, based on `distribute`.
50−collectDefault
51− :: forall a b f g
52− . Distributive f
53− => Functor g
54− => (a -> f b)
55− -> g a
56− -> f (g b)
57−collectDefault f = distribute <<< map f
58−
59−-- | Zip an arbitrary collection of containers and summarize the results
60−cotraverse
61− :: forall a b f g
62− . Distributive f
63− => Functor g
64− => (g a -> b)
65− -> g (f a)
66− -> f b
67−cotraverse f = map f <<< distribute
.spago/p/effect-4.0.0/LICENSEdeleted−26
@@ -1,26 +0,0 @@
1−Copyright 2018 PureScript
2−
3−Redistribution and use in source and binary forms, with or without modification,
4−are permitted provided that the following conditions are met:
5−
6−1. Redistributions of source code must retain the above copyright notice, this
7−list of conditions and the following disclaimer.
8−
9−2. Redistributions in binary form must reproduce the above copyright notice,
10−this list of conditions and the following disclaimer in the documentation and/or
11−other materials provided with the distribution.
12−
13−3. Neither the name of the copyright holder nor the names of its contributors
14−may be used to endorse or promote products derived from this software without
15−specific prior written permission.
16−
17−THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18−ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19−WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20−DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
21−ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22−(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23−LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24−ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25−(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26−SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.spago/p/effect-4.0.0/README.mddeleted−173
@@ -1,173 +0,0 @@
1−# purescript-effect
2−
3−[![Latest release](http://img.shields.io/github/release/purescript/purescript-effect.svg)](https://github.com/purescript/purescript-effect/releases)
4−[![Build status](https://github.com/purescript/purescript-effect/workflows/CI/badge.svg?branch=master)](https://github.com/purescript/purescript-effect/actions?query=workflow%3ACI+branch%3Amaster)
5−[![Pursuit](https://pursuit.purescript.org/packages/purescript-effect/badge)](https://pursuit.purescript.org/packages/purescript-effect)
6−
7−The `Effect` monad, for handling native side effects.
8−
9−## Installation
10−
11−```
12−spago install effect
13−```
14−
15−## Documentation
16−
17−Values in PureScript do not have side-effects by default. This package provides
18−the standard type PureScript uses to handle "native" effects, i.e. effects
19−which are provided by the runtime system, and which cannot be emulated by pure
20−functions. Some examples of native effects are:
21−
22−- Console IO
23−- Random number generation
24−- Exceptions
25−- Reading/writing mutable state
26−
27−And in the browser:
28−
29−- DOM manipulation
30−- XMLHttpRequest / AJAX calls
31−- Interacting with a websocket
32−- Writing/reading to/from local storage
33−
34−All of these things may be represented in PureScript by the `Effect` type.
35−A value of the type `Effect a` represents a computation which may perform
36−some native effects, and which produces a value of the type `a` once it
37−finishes. For example, the module `Effect.Random` from `purescript-random`
38−exports a value `random`, whose type is `Effect Number`. When run, this
39−effect produces a random number between 0 and 1. To give another example,
40−the module `Effect.Console` exports a function `log`, whose type is
41−`String -> Effect Unit`. This function takes a string and produces an
42−effect which, when run, prints the provided string to the console.
43−
44−```purescript
45−module RandomExample where
46−import Prelude
47−import Effect (Effect)
48−import Effect.Random (random)
49−import Effect.Console (log)
50−
51−printRandom :: Effect Unit
52−printRandom = do
53− n <- random
54− log (show n)
55−```
56−
57−In this example, `printRandom` is an effect which generates a random
58−number between 0 and 1 and prints it to the console. You can test it out
59−in the repl:
60−
61−```
62−> import RandomExample
63−> printRandom
64−0.71831842260513870
65−unit
66−```
67−
68−The `unit` is there because all effects must produce a value. When there
69−is nothing useful to return, we usually use the type `Unit`, which has
70−just one value: `unit`.
71−
72−### Effects and Purity
73−
74−Note that using `Effect` does not compromise the purity of your program.
75−Functions which make use of `Effect` are still pure, in the sense that
76−all functions will return the same outputs given the same inputs.
77−
78−This is enabled by having the `Effect` type denote _values_ which can be
79−run to produce native effects; an `Effect a` is a computation which has
80−not yet necessarily been performed. In fact, there is no way of "running"
81−an `Effect` manually; we cannot provide a (safe) function of the type
82−`forall a. Effect a -> a`, because such a function would violate purity;
83−it could produce different outputs given the same input. (Note that there
84−is actually such a function in the module `Effect.Unsafe`, but it is best
85−avoided outside of exceptional circumstances.)
86−
87−Instead, the recommended way of "running" an effect is to include it as
88−part of your program's `main` value.
89−
90−A consequence of being able to represent native effects purely using
91−`Effect` is that you can construct and pass `Effect` values around your
92−programs freely. For example, we can write functions which can decide
93−whether to run a given effect just once, many times, or not at all:
94−
95−```purescript
96−-- | Runs an effect three times, provided that the given condition is
97−-- | true.
98−thriceIf :: Boolean -> Effect Unit -> Effect Unit
99−thriceIf cond effect =
100− if cond
101− then do
102− effect
103− effect
104− effect
105− else
106− pure unit
107−```
108−
109−### Using Effects via the Foreign Function Interface
110−
111−A computation of type `Effect a` is implemented in JavaScript as a
112−zero-argument function whose body is expected to perform its side-effects
113−before finally returning its result. For example, suppose we wanted a
114−computation which would increment a global counter and return the new
115−result each time it was run. We can implement this as follows:
116−
117−```purescript
118−-- Counter.purs
119−foreign import incrCounter :: Effect Int
120−```
121−
122−and in the corresponding JavaScript module:
123−
124−```javascript
125−// Counter.js
126−exports.incrCounter = function () {
127− if (!window.globalCounter) {
128− window.globalCounter = 0;
129− }
130− return ++window.globalCounter;
131−};
132−```
133−
134−For more information about the FFI (Foreign Function Interface), see
135−the [documentation repository](https://github.com/purescript/documentation).
136−This package also provides a module
137−[Effect.Uncurried](https://pursuit.purescript.org/packages/purescript-effect/docs/Effect.Uncurried)
138−to simplify the process of making uncurried effectful JavaScript functions
139−available to PureScript via the FFI.
140−
141−### The Effect type is Magic
142−
143−The PureScript compiler has special support for the `Effect` monad.
144−Ordinarily, a chain of monadic binds might result in poor performance when
145−executed. However, the compiler can generate code for the `Effect` monad
146−without explicit calls to the monadic bind function `>>=`.
147−
148−Take the random number generation example from above. When compiled, the
149−compiler produces the following JavaScript:
150−
151−```javascript
152−var printRandom = function __do() {
153− var $0 = Effect_Random.random();
154− return Effect_Console.log(Data_Show.show(Data_Show.showNumber)($0))();
155−};
156−```
157−
158−whereas a more naive compiler might, for instance, produce:
159−
160−```javascript
161−var printRandom = Control_Bind.bind(Effect.bindEffect)(Effect_Random.random)(
162− function ($0) {
163− return Effect_Console.log(Data_Show.show(Data_Show.showNumber)($0));
164− }
165−);
166−```
167−
168−While this is a small improvement, the benefit is greater when using
169−multiple nested calls to `>>=`.
170−
171−### API reference
172−
173−Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-effect).
.spago/p/effect-4.0.0/bower.jsondeleted−21
@@ -1,21 +0,0 @@
1−{
2− "name": "purescript-effect",
3− "homepage": "https://github.com/purescript/purescript-effect",
4− "license": "BSD-3-Clause",
5− "repository": {
6− "type": "git",
7− "url": "https://github.com/purescript/purescript-effect.git"
8− },
9− "ignore": [
10− "**/.*",
11− "bower_components",
12− "node_modules",
13− "output",
14− "test",
15− "bower.json",
16− "package.json"
17− ],
18− "dependencies": {
19− "purescript-prelude": "^6.0.0"
20− }
21−}
.spago/p/effect-4.0.0/package.jsondeleted−13
@@ -1,13 +0,0 @@
1−{
2− "private": true,
3− "scripts": {
4− "clean": "rimraf output && rimraf .pulp-cache",
5− "build": "eslint src && pulp build -- --censor-lib --strict"
6− },
7− "devDependencies": {
8− "eslint": "^7.15.0",
9− "pulp": "16.0.0-0",
10− "purescript-psa": "^0.8.2",
11− "rimraf": "^3.0.2"
12− }
13−}
.spago/p/effect-4.0.0/purs.jsondeleted−12
@@ -1,12 +0,0 @@
1−{
2− "name": "effect",
3− "version": "4.0.0",
4− "license": "BSD-3-Clause",
5− "location": {
6− "githubOwner": "purescript",
7− "githubRepo": "purescript-effect"
8− },
9− "dependencies": {
10− "prelude": ">=6.0.0 <7.0.0"
11− }
12−}
.spago/p/effect-4.0.0/src/Effect.jsdeleted−51
@@ -1,51 +0,0 @@
1−export const pureE = function (a) {
2− return function () {
3− return a;
4− };
5−};
6−
7−export const bindE = function (a) {
8− return function (f) {
9− return function () {
10− return f(a())();
11− };
12− };
13−};
14−
15−export const untilE = function (f) {
16− return function () {
17− while (!f());
18− };
19−};
20−
21−export const whileE = function (f) {
22− return function (a) {
23− return function () {
24− while (f()) {
25− a();
26− }
27− };
28− };
29−};
30−
31−export const forE = function (lo) {
32− return function (hi) {
33− return function (f) {
34− return function () {
35− for (var i = lo; i < hi; i++) {
36− f(i)();
37− }
38− };
39− };
40− };
41−};
42−
43−export const foreachE = function (as) {
44− return function (f) {
45− return function () {
46− for (var i = 0, l = as.length; i < l; i++) {
47− f(as[i])();
48− }
49− };
50− };
51−};
.spago/p/effect-4.0.0/src/Effect.pursdeleted−72
@@ -1,72 +0,0 @@
1−-- | This module provides the `Effect` type, which is used to represent
2−-- | _native_ effects. The `Effect` type provides a typed API for effectful
3−-- | computations, while at the same time generating efficient JavaScript.
4−module Effect
5− ( Effect
6− , untilE, whileE, forE, foreachE
7− ) where
8−
9−import Prelude
10−
11−import Control.Apply (lift2)
12−
13−-- | A native effect. The type parameter denotes the return type of running the
14−-- | effect, that is, an `Effect Int` is a possibly-effectful computation which
15−-- | eventually produces a value of the type `Int` when it finishes.
16−foreign import data Effect :: Type -> Type
17−
18−type role Effect representational
19−
20−instance functorEffect :: Functor Effect where
21− map = liftA1
22−
23−instance applyEffect :: Apply Effect where
24− apply = ap
25−
26−instance applicativeEffect :: Applicative Effect where
27− pure = pureE
28−
29−foreign import pureE :: forall a. a -> Effect a
30−
31−instance bindEffect :: Bind Effect where
32− bind = bindE
33−
34−foreign import bindE :: forall a b. Effect a -> (a -> Effect b) -> Effect b
35−
36−instance monadEffect :: Monad Effect
37−
38−-- | The `Semigroup` instance for effects allows you to run two effects, one
39−-- | after the other, and then combine their results using the result type's
40−-- | `Semigroup` instance.
41−instance semigroupEffect :: Semigroup a => Semigroup (Effect a) where
42− append = lift2 append
43−
44−-- | If you have a `Monoid a` instance, then `mempty :: Effect a` is defined as
45−-- | `pure mempty`.
46−instance monoidEffect :: Monoid a => Monoid (Effect a) where
47− mempty = pureE mempty
48−
49−-- | Loop until a condition becomes `true`.
50−-- |
51−-- | `untilE b` is an effectful computation which repeatedly runs the effectful
52−-- | computation `b`, until its return value is `true`.
53−foreign import untilE :: Effect Boolean -> Effect Unit
54−
55−-- | Loop while a condition is `true`.
56−-- |
57−-- | `whileE b m` is effectful computation which runs the effectful computation
58−-- | `b`. If its result is `true`, it runs the effectful computation `m` and
59−-- | loops. If not, the computation ends.
60−foreign import whileE :: forall a. Effect Boolean -> Effect a -> Effect Unit
61−
62−-- | Loop over a consecutive collection of numbers.
63−-- |
64−-- | `forE lo hi f` runs the computation returned by the function `f` for each
65−-- | of the inputs between `lo` (inclusive) and `hi` (exclusive).
66−foreign import forE :: Int -> Int -> (Int -> Effect Unit) -> Effect Unit
67−
68−-- | Loop over an array of values.
69−-- |
70−-- | `foreachE xs f` runs the computation returned by the function `f` for each
71−-- | of the inputs `xs`.
72−foreign import foreachE :: forall a. Array a -> (a -> Effect Unit) -> Effect Unit
.spago/p/effect-4.0.0/src/Effect/Class.pursdeleted−19
@@ -1,19 +0,0 @@
1−module Effect.Class where
2−
3−import Control.Category (identity)
4−import Control.Monad (class Monad)
5−import Effect (Effect)
6−
7−-- | The `MonadEffect` class captures those monads which support native effects.
8−-- |
9−-- | Instances are provided for `Effect` itself, and the standard monad
10−-- | transformers.
11−-- |
12−-- | `liftEffect` can be used in any appropriate monad transformer stack to lift an
13−-- | action of type `Effect a` into the monad.
14−-- |
15−class Monad m <= MonadEffect m where
16− liftEffect :: forall a. Effect a -> m a
17−
18−instance monadEffectEffect :: MonadEffect Effect where
19− liftEffect = identity
.spago/p/effect-4.0.0/src/Effect/Uncurried.jsdeleted−229
@@ -1,229 +0,0 @@
1−export const mkEffectFn1 = function mkEffectFn1(fn) {
2− return function(x) {
3− return fn(x)();
4− };
5−};
6−
7−export const mkEffectFn2 = function mkEffectFn2(fn) {
8− return function(a, b) {
9− return fn(a)(b)();
10− };
11−};
12−
13−export const mkEffectFn3 = function mkEffectFn3(fn) {
14− return function(a, b, c) {
15− return fn(a)(b)(c)();
16− };
17−};
18−
19−export const mkEffectFn4 = function mkEffectFn4(fn) {
20− return function(a, b, c, d) {
21− return fn(a)(b)(c)(d)();
22− };
23−};
24−
25−export const mkEffectFn5 = function mkEffectFn5(fn) {
26− return function(a, b, c, d, e) {
27− return fn(a)(b)(c)(d)(e)();
28− };
29−};
30−
31−export const mkEffectFn6 = function mkEffectFn6(fn) {
32− return function(a, b, c, d, e, f) {
33− return fn(a)(b)(c)(d)(e)(f)();
34− };
35−};
36−
37−export const mkEffectFn7 = function mkEffectFn7(fn) {
38− return function(a, b, c, d, e, f, g) {
39− return fn(a)(b)(c)(d)(e)(f)(g)();
40− };
41−};
42−
43−export const mkEffectFn8 = function mkEffectFn8(fn) {
44− return function(a, b, c, d, e, f, g, h) {
45− return fn(a)(b)(c)(d)(e)(f)(g)(h)();
46− };
47−};
48−
49−export const mkEffectFn9 = function mkEffectFn9(fn) {
50− return function(a, b, c, d, e, f, g, h, i) {
51− return fn(a)(b)(c)(d)(e)(f)(g)(h)(i)();
52− };
53−};
54−
55−export const mkEffectFn10 = function mkEffectFn10(fn) {
56− return function(a, b, c, d, e, f, g, h, i, j) {
57− return fn(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)();
58− };
59−};
60−
61−export const runEffectFn1 = function runEffectFn1(fn) {
62− return function(a) {
63− return function() {
64− return fn(a);
65− };
66− };
67−};
68−
69−export const runEffectFn2 = function runEffectFn2(fn) {
70− return function(a) {
71− return function(b) {
72− return function() {
73− return fn(a, b);
74− };
75− };
76− };
77−};
78−
79−export const runEffectFn3 = function runEffectFn3(fn) {
80− return function(a) {
81− return function(b) {
82− return function(c) {
83− return function() {
84− return fn(a, b, c);
85− };
86− };
87− };
88− };
89−};
90−
91−export const runEffectFn4 = function runEffectFn4(fn) {
92− return function(a) {
93− return function(b) {
94− return function(c) {
95− return function(d) {
96− return function() {
97− return fn(a, b, c, d);
98− };
99− };
100− };
101− };
102− };
103−};
104−
105−export const runEffectFn5 = function runEffectFn5(fn) {
106− return function(a) {
107− return function(b) {
108− return function(c) {
109− return function(d) {
110− return function(e) {
111− return function() {
112− return fn(a, b, c, d, e);
113− };
114− };
115− };
116− };
117− };
118− };
119−};
120−
121−export const runEffectFn6 = function runEffectFn6(fn) {
122− return function(a) {
123− return function(b) {
124− return function(c) {
125− return function(d) {
126− return function(e) {
127− return function(f) {
128− return function() {
129− return fn(a, b, c, d, e, f);
130− };
131− };
132− };
133− };
134− };
135− };
136− };
137−};
138−
139−export const runEffectFn7 = function runEffectFn7(fn) {
140− return function(a) {
141− return function(b) {
142− return function(c) {
143− return function(d) {
144− return function(e) {
145− return function(f) {
146− return function(g) {
147− return function() {
148− return fn(a, b, c, d, e, f, g);
149− };
150− };
151− };
152− };
153− };
154− };
155− };
156− };
157−};
158−
159−export const runEffectFn8 = function runEffectFn8(fn) {
160− return function(a) {
161− return function(b) {
162− return function(c) {
163− return function(d) {
164− return function(e) {
165− return function(f) {
166− return function(g) {
167− return function(h) {
168− return function() {
169− return fn(a, b, c, d, e, f, g, h);
170− };
171− };
172− };
173− };
174− };
175− };
176− };
177− };
178− };
179−};
180−
181−export const runEffectFn9 = function runEffectFn9(fn) {
182− return function(a) {
183− return function(b) {
184− return function(c) {
185− return function(d) {
186− return function(e) {
187− return function(f) {
188− return function(g) {
189− return function(h) {
190− return function(i) {
191− return function() {
192− return fn(a, b, c, d, e, f, g, h, i);
193− };
194− };
195− };
196− };
197− };
198− };
199− };
200− };
201− };
202− };
203−};
204−
205−export const runEffectFn10 = function runEffectFn10(fn) {
206− return function(a) {
207− return function(b) {
208− return function(c) {
209− return function(d) {
210− return function(e) {
211− return function(f) {
212− return function(g) {
213− return function(h) {
214− return function(i) {
215− return function(j) {
216− return function() {
217− return fn(a, b, c, d, e, f, g, h, i, j);
218− };
219− };
220− };
221− };
222− };
223− };
224− };
225− };
226− };
227− };
228− };
229−};
.spago/p/effect-4.0.0/src/Effect/Uncurried.pursdeleted−286
@@ -1,286 +0,0 @@
1−-- | This module defines types for effectful uncurried functions, as well as
2−-- | functions for converting back and forth between them.
3−-- |
4−-- | This makes it possible to give a PureScript type to JavaScript functions
5−-- | such as this one:
6−-- |
7−-- | ```javascript
8−-- | function logMessage(level, message) {
9−-- | console.log(level + ": " + message);
10−-- | }
11−-- | ```
12−-- |
13−-- | In particular, note that `logMessage` performs effects immediately after
14−-- | receiving all of its parameters, so giving it the type `Data.Function.Fn2
15−-- | String String Unit`, while convenient, would effectively be a lie.
16−-- |
17−-- | One way to handle this would be to convert the function into the normal
18−-- | PureScript form (namely, a curried function returning an Effect action),
19−-- | and performing the marshalling in JavaScript, in the FFI module, like this:
20−-- |
21−-- | ```purescript
22−-- | -- In the PureScript file:
23−-- | foreign import logMessage :: String -> String -> Effect Unit
24−-- | ```
25−-- |
26−-- | ```javascript
27−-- | // In the FFI file:
28−-- | exports.logMessage = function(level) {
29−-- | return function(message) {
30−-- | return function() {
31−-- | logMessage(level, message);
32−-- | };
33−-- | };
34−-- | };
35−-- | ```
36−-- |
37−-- | This method, unfortunately, turns out to be both tiresome and error-prone.
38−-- | This module offers an alternative solution. By providing you with:
39−-- |
40−-- | * the ability to give the real `logMessage` function a PureScript type,
41−-- | and
42−-- | * functions for converting between this form and the normal PureScript
43−-- | form,
44−-- |
45−-- | the FFI boilerplate is no longer needed. The previous example becomes:
46−-- |
47−-- | ```purescript
48−-- | -- In the PureScript file:
49−-- | foreign import logMessageImpl :: EffectFn2 String String Unit
50−-- | ```
51−-- |
52−-- | ```javascript
53−-- | // In the FFI file:
54−-- | exports.logMessageImpl = logMessage
55−-- | ```
56−-- |
57−-- | You can then use `runEffectFn2` to provide a nicer version:
58−-- |
59−-- | ```purescript
60−-- | logMessage :: String -> String -> Effect Unit
61−-- | logMessage = runEffectFn2 logMessageImpl
62−-- | ```
63−-- |
64−-- | (note that this has the same type as the original `logMessage`).
65−-- |
66−-- | Effectively, we have reduced the risk of errors by moving as much code into
67−-- | PureScript as possible, so that we can leverage the type system. Hopefully,
68−-- | this is a little less tiresome too.
69−-- |
70−-- | Here's a slightly more advanced example. Here, because we are using
71−-- | callbacks, we need to use `mkEffectFn{N}` as well.
72−-- |
73−-- | Suppose our `logMessage` changes so that it sometimes sends details of the
74−-- | message to some external server, and in those cases, we want the resulting
75−-- | `HttpResponse` (for whatever reason).
76−-- |
77−-- | ```javascript
78−-- | function logMessage(level, message, callback) {
79−-- | console.log(level + ": " + message);
80−-- | if (level > LogLevel.WARN) {
81−-- | LogAggregatorService.post("/logs", {
82−-- | level: level,
83−-- | message: message
84−-- | }, callback);
85−-- | } else {
86−-- | callback(null);
87−-- | }
88−-- | }
89−-- | ```
90−-- |
91−-- | The import then looks like this:
92−-- | ```purescript
93−-- | foreign import logMessageImpl
94−-- | EffectFn3
95−-- | String
96−-- | String
97−-- | (EffectFn1 (Nullable HttpResponse) Unit)
98−-- | Unit
99−-- | ```
100−-- |
101−-- | And, as before, the FFI file is extremely simple:
102−-- |
103−-- | ```javascript
104−-- | exports.logMessageImpl = logMessage
105−-- | ```
106−-- |
107−-- | Finally, we use `runEffectFn{N}` and `mkEffectFn{N}` for a more comfortable
108−-- | PureScript version:
109−-- |
110−-- | ```purescript
111−-- | logMessage ::
112−-- | String ->
113−-- | String ->
114−-- | (Nullable HttpResponse -> Effect Unit) ->
115−-- | Effect Unit
116−-- | logMessage level message callback =
117−-- | runEffectFn3 logMessageImpl level message (mkEffectFn1 callback)
118−-- | ```
119−-- |
120−-- | The general naming scheme for functions and types in this module is as
121−-- | follows:
122−-- |
123−-- | * `EffectFn{N}` means, an uncurried function which accepts N arguments and
124−-- | performs some effects. The first N arguments are the actual function's
125−-- | argument. The last type argument is the return type.
126−-- | * `runEffectFn{N}` takes an `EffectFn` of N arguments, and converts it into
127−-- | the normal PureScript form: a curried function which returns an Effect
128−-- | action.
129−-- | * `mkEffectFn{N}` is the inverse of `runEffectFn{N}`. It can be useful for
130−-- | callbacks.
131−-- |
132−
133−module Effect.Uncurried where
134−
135−import Data.Monoid (class Monoid, class Semigroup, mempty, (<>))
136−import Effect (Effect)
137−
138−foreign import data EffectFn1 :: Type -> Type -> Type
139−
140−type role EffectFn1 representational representational
141−
142−foreign import data EffectFn2 :: Type -> Type -> Type -> Type
143−
144−type role EffectFn2 representational representational representational
145−
146−foreign import data EffectFn3 :: Type -> Type -> Type -> Type -> Type
147−
148−type role EffectFn3 representational representational representational representational
149−
150−foreign import data EffectFn4 :: Type -> Type -> Type -> Type -> Type -> Type
151−
152−type role EffectFn4 representational representational representational representational representational
153−
154−foreign import data EffectFn5 :: Type -> Type -> Type -> Type -> Type -> Type -> Type
155−
156−type role EffectFn5 representational representational representational representational representational representational
157−
158−foreign import data EffectFn6 :: Type -> Type -> Type -> Type -> Type -> Type -> Type -> Type
159−
160−type role EffectFn6 representational representational representational representational representational representational representational
161−
162−foreign import data EffectFn7 :: Type -> Type -> Type -> Type -> Type -> Type -> Type -> Type -> Type
163−
164−type role EffectFn7 representational representational representational representational representational representational representational representational
165−
166−foreign import data EffectFn8 :: Type -> Type -> Type -> Type -> Type -> Type -> Type -> Type -> Type -> Type
167−
168−type role EffectFn8 representational representational representational representational representational representational representational representational representational
169−
170−foreign import data EffectFn9 :: Type -> Type -> Type -> Type -> Type -> Type -> Type -> Type -> Type -> Type -> Type
171−
172−type role EffectFn9 representational representational representational representational representational representational representational representational representational representational
173−
174−foreign import data EffectFn10 :: Type -> Type -> Type -> Type -> Type -> Type -> Type -> Type -> Type -> Type -> Type -> Type
175−
176−type role EffectFn10 representational representational representational representational representational representational representational representational representational representational representational
177−
178−foreign import mkEffectFn1 :: forall a r.
179− (a -> Effect r) -> EffectFn1 a r
180−foreign import mkEffectFn2 :: forall a b r.
181− (a -> b -> Effect r) -> EffectFn2 a b r
182−foreign import mkEffectFn3 :: forall a b c r.
183− (a -> b -> c -> Effect r) -> EffectFn3 a b c r
184−foreign import mkEffectFn4 :: forall a b c d r.
185− (a -> b -> c -> d -> Effect r) -> EffectFn4 a b c d r
186−foreign import mkEffectFn5 :: forall a b c d e r.
187− (a -> b -> c -> d -> e -> Effect r) -> EffectFn5 a b c d e r
188−foreign import mkEffectFn6 :: forall a b c d e f r.
189− (a -> b -> c -> d -> e -> f -> Effect r) -> EffectFn6 a b c d e f r
190−foreign import mkEffectFn7 :: forall a b c d e f g r.
191− (a -> b -> c -> d -> e -> f -> g -> Effect r) -> EffectFn7 a b c d e f g r
192−foreign import mkEffectFn8 :: forall a b c d e f g h r.
193− (a -> b -> c -> d -> e -> f -> g -> h -> Effect r) -> EffectFn8 a b c d e f g h r
194−foreign import mkEffectFn9 :: forall a b c d e f g h i r.
195− (a -> b -> c -> d -> e -> f -> g -> h -> i -> Effect r) -> EffectFn9 a b c d e f g h i r
196−foreign import mkEffectFn10 :: forall a b c d e f g h i j r.
197− (a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> Effect r) -> EffectFn10 a b c d e f g h i j r
198−
199−foreign import runEffectFn1 :: forall a r.
200− EffectFn1 a r -> a -> Effect r
201−foreign import runEffectFn2 :: forall a b r.
202− EffectFn2 a b r -> a -> b -> Effect r
203−foreign import runEffectFn3 :: forall a b c r.
204− EffectFn3 a b c r -> a -> b -> c -> Effect r
205−foreign import runEffectFn4 :: forall a b c d r.
206− EffectFn4 a b c d r -> a -> b -> c -> d -> Effect r
207−foreign import runEffectFn5 :: forall a b c d e r.
208− EffectFn5 a b c d e r -> a -> b -> c -> d -> e -> Effect r
209−foreign import runEffectFn6 :: forall a b c d e f r.
210− EffectFn6 a b c d e f r -> a -> b -> c -> d -> e -> f -> Effect r
211−foreign import runEffectFn7 :: forall a b c d e f g r.
212− EffectFn7 a b c d e f g r -> a -> b -> c -> d -> e -> f -> g -> Effect r
213−foreign import runEffectFn8 :: forall a b c d e f g h r.
214− EffectFn8 a b c d e f g h r -> a -> b -> c -> d -> e -> f -> g -> h -> Effect r
215−foreign import runEffectFn9 :: forall a b c d e f g h i r.
216− EffectFn9 a b c d e f g h i r -> a -> b -> c -> d -> e -> f -> g -> h -> i -> Effect r
217−foreign import runEffectFn10 :: forall a b c d e f g h i j r.
218− EffectFn10 a b c d e f g h i j r -> a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> Effect r
219−
220−-- The reason these are written eta-expanded instead of as:
221−-- ```
222−-- append f1 f2 = mkEffectFnN $ runEffectFnN f1 <> runEffectFnN f2
223−-- ```
224−-- is to help the compiler recognize that it can emit uncurried
225−-- JS functions (which are more efficient), when an appended
226−-- EffectFn is applied to all its arguments
227−
228−instance semigroupEffectFn1 :: Semigroup r => Semigroup (EffectFn1 a r) where
229− append f1 f2 = mkEffectFn1 \a -> runEffectFn1 f1 a <> runEffectFn1 f2 a
230−
231−instance semigroupEffectFn2 :: Semigroup r => Semigroup (EffectFn2 a b r) where
232− append f1 f2 = mkEffectFn2 \a b -> runEffectFn2 f1 a b <> runEffectFn2 f2 a b
233−
234−instance semigroupEffectFn3 :: Semigroup r => Semigroup (EffectFn3 a b c r) where
235− append f1 f2 = mkEffectFn3 \a b c -> runEffectFn3 f1 a b c <> runEffectFn3 f2 a b c
236−
237−instance semigroupEffectFn4 :: Semigroup r => Semigroup (EffectFn4 a b c d r) where
238− append f1 f2 = mkEffectFn4 \a b c d -> runEffectFn4 f1 a b c d <> runEffectFn4 f2 a b c d
239−
240−instance semigroupEffectFn5 :: Semigroup r => Semigroup (EffectFn5 a b c d e r) where
241− append f1 f2 = mkEffectFn5 \a b c d e -> runEffectFn5 f1 a b c d e <> runEffectFn5 f2 a b c d e
242−
243−instance semigroupEffectFn6 :: Semigroup r => Semigroup (EffectFn6 a b c d e f r) where
244− append f1 f2 = mkEffectFn6 \a b c d e f -> runEffectFn6 f1 a b c d e f <> runEffectFn6 f2 a b c d e f
245−
246−instance semigroupEffectFn7 :: Semigroup r => Semigroup (EffectFn7 a b c d e f g r) where
247− append f1 f2 = mkEffectFn7 \a b c d e f g -> runEffectFn7 f1 a b c d e f g <> runEffectFn7 f2 a b c d e f g
248−
249−instance semigroupEffectFn8 :: Semigroup r => Semigroup (EffectFn8 a b c d e f g h r) where
250− append f1 f2 = mkEffectFn8 \a b c d e f g h -> runEffectFn8 f1 a b c d e f g h <> runEffectFn8 f2 a b c d e f g h
251−
252−instance semigroupEffectFn9 :: Semigroup r => Semigroup (EffectFn9 a b c d e f g h i r) where
253− append f1 f2 = mkEffectFn9 \a b c d e f g h i -> runEffectFn9 f1 a b c d e f g h i <> runEffectFn9 f2 a b c d e f g h i
254−
255−instance semigroupEffectFn10 :: Semigroup r => Semigroup (EffectFn10 a b c d e f g h i j r) where
256− append f1 f2 = mkEffectFn10 \a b c d e f g h i j -> runEffectFn10 f1 a b c d e f g h i j <> runEffectFn10 f2 a b c d e f g h i j
257−
258−instance monoidEffectFn1 :: Monoid r => Monoid (EffectFn1 a r) where
259− mempty = mkEffectFn1 \_ -> mempty
260−
261−instance monoidEffectFn2 :: Monoid r => Monoid (EffectFn2 a b r) where
262− mempty = mkEffectFn2 \_ _ -> mempty
263−
264−instance monoidEffectFn3 :: Monoid r => Monoid (EffectFn3 a b c r) where
265− mempty = mkEffectFn3 \_ _ _ -> mempty
266−
267−instance monoidEffectFn4 :: Monoid r => Monoid (EffectFn4 a b c d r) where
268− mempty = mkEffectFn4 \_ _ _ _ -> mempty
269−
270−instance monoidEffectFn5 :: Monoid r => Monoid (EffectFn5 a b c d e r) where
271− mempty = mkEffectFn5 \_ _ _ _ _ -> mempty
272−
273−instance monoidEffectFn6 :: Monoid r => Monoid (EffectFn6 a b c d e f r) where
274− mempty = mkEffectFn6 \_ _ _ _ _ _ -> mempty
275−
276−instance monoidEffectFn7 :: Monoid r => Monoid (EffectFn7 a b c d e f g r) where
277− mempty = mkEffectFn7 \_ _ _ _ _ _ _ -> mempty
278−
279−instance monoidEffectFn8 :: Monoid r => Monoid (EffectFn8 a b c d e f g h r) where
280− mempty = mkEffectFn8 \_ _ _ _ _ _ _ _ -> mempty
281−
282−instance monoidEffectFn9 :: Monoid r => Monoid (EffectFn9 a b c d e f g h i r) where
283− mempty = mkEffectFn9 \_ _ _ _ _ _ _ _ _ -> mempty
284−
285−instance monoidEffectFn10 :: Monoid r => Monoid (EffectFn10 a b c d e f g h i j r) where
286− mempty = mkEffectFn10 \_ _ _ _ _ _ _ _ _ _ -> mempty
.spago/p/effect-4.0.0/src/Effect/Unsafe.jsdeleted−3
@@ -1,3 +0,0 @@
1−export const unsafePerformEffect = function (f) {
2− return f();
3−};
.spago/p/effect-4.0.0/src/Effect/Unsafe.pursdeleted−8
@@ -1,8 +0,0 @@
1−module Effect.Unsafe where
2−
3−import Effect (Effect)
4−
5−-- | Run an effectful computation.
6−-- |
7−-- | *Note*: use of this function can result in arbitrary side-effects.
8−foreign import unsafePerformEffect :: forall a. Effect a -> a
.spago/p/either-6.1.0/LICENSEdeleted−26
@@ -1,26 +0,0 @@
1−Copyright 2018 PureScript
2−
3−Redistribution and use in source and binary forms, with or without modification,
4−are permitted provided that the following conditions are met:
5−
6−1. Redistributions of source code must retain the above copyright notice, this
7−list of conditions and the following disclaimer.
8−
9−2. Redistributions in binary form must reproduce the above copyright notice,
10−this list of conditions and the following disclaimer in the documentation and/or
11−other materials provided with the distribution.
12−
13−3. Neither the name of the copyright holder nor the names of its contributors
14−may be used to endorse or promote products derived from this software without
15−specific prior written permission.
16−
17−THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18−ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19−WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20−DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
21−ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22−(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23−LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24−ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25−(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26−SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.spago/p/either-6.1.0/README.mddeleted−19
@@ -1,19 +0,0 @@
1−# purescript-either
2−
3−[![Latest release](http://img.shields.io/github/release/purescript/purescript-either.svg)](https://github.com/purescript/purescript-either/releases)
4−[![Build status](https://github.com/purescript/purescript-either/workflows/CI/badge.svg?branch=master)](https://github.com/purescript/purescript-either/actions?query=workflow%3ACI+branch%3Amaster)
5−[![Pursuit](https://pursuit.purescript.org/packages/purescript-either/badge)](https://pursuit.purescript.org/packages/purescript-either)
6−
7−The `Either` type provides is used to represent values that can be one of two possibilities. For example, `Either Int Number` can be used in a place where either integers or floating point numbers are acceptable.
8−
9−A common use for this type is error handling, where by convention the `Left` constructor carries error messages and the `Right` constructor carries expected values (“`Right` is right”). This convention is used as the `Functor`, `Applicative`, `Monad`, etc. instances all operate on the `Right` part of the `Either`.
10−
11−## Installation
12−
13−```
14−spago install either
15−```
16−
17−## Documentation
18−
19−Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-either).
.spago/p/either-6.1.0/bower.jsondeleted−29
@@ -1,29 +0,0 @@
1−{
2− "name": "purescript-either",
3− "homepage": "https://github.com/purescript/purescript-either",
4− "license": "BSD-3-Clause",
5− "repository": {
6− "type": "git",
7− "url": "https://github.com/purescript/purescript-either.git"
8− },
9− "ignore": [
10− "**/.*",
11− "bower_components",
12− "node_modules",
13− "output",
14− "test",
15− "bower.json",
16− "package.json"
17− ],
18− "dependencies": {
19− "purescript-control": "^6.0.0",
20− "purescript-invariant": "^6.0.0",
21− "purescript-maybe": "^6.0.0",
22− "purescript-prelude": "^6.0.0"
23− },
24− "devDependencies": {
25− "purescript-assert": "^6.0.0",
26− "purescript-console": "^6.0.0",
27− "purescript-effect": "^4.0.0"
28− }
29−}
.spago/p/either-6.1.0/package.jsondeleted−13
@@ -1,13 +0,0 @@
1−{
2− "private": true,
3− "scripts": {
4− "clean": "rimraf output && rimraf .pulp-cache",
5− "build": "pulp build -- --censor-lib --strict",
6− "test": "pulp test"
7− },
8− "devDependencies": {
9− "pulp": "16.0.0-0",
10− "purescript-psa": "^0.8.2",
11− "rimraf": "^3.0.2"
12− }
13−}
.spago/p/either-6.1.0/purs.jsondeleted−15
@@ -1,15 +0,0 @@
1−{
2− "name": "either",
3− "version": "6.1.0",
4− "license": "BSD-3-Clause",
5− "location": {
6− "githubOwner": "purescript",
7− "githubRepo": "purescript-either"
8− },
9− "dependencies": {
10− "control": ">=6.0.0 <7.0.0",
11− "invariant": ">=6.0.0 <7.0.0",
12− "maybe": ">=6.0.0 <7.0.0",
13− "prelude": ">=6.0.0 <7.0.0"
14− }
15−}
.spago/p/either-6.1.0/src/Data/Either.pursdeleted−294
@@ -1,294 +0,0 @@
1−module Data.Either where
2−
3−import Prelude
4−
5−import Control.Alt (class Alt, (<|>))
6−import Control.Extend (class Extend)
7−import Data.Eq (class Eq1)
8−import Data.Functor.Invariant (class Invariant, imapF)
9−import Data.Generic.Rep (class Generic)
10−import Data.Maybe (Maybe(..), maybe, maybe')
11−import Data.Ord (class Ord1)
12−
13−-- | The `Either` type is used to represent a choice between two types of value.
14−-- |
15−-- | A common use case for `Either` is error handling, where `Left` is used to
16−-- | carry an error value and `Right` is used to carry a success value.
17−data Either a b = Left a | Right b
18−
19−-- | The `Functor` instance allows functions to transform the contents of a
20−-- | `Right` with the `<$>` operator:
21−-- |
22−-- | ``` purescript
23−-- | f <$> Right x == Right (f x)
24−-- | ```
25−-- |
26−-- | `Left` values are untouched:
27−-- |
28−-- | ``` purescript
29−-- | f <$> Left y == Left y
30−-- | ```
31−derive instance functorEither :: Functor (Either a)
32−
33−derive instance genericEither :: Generic (Either a b) _
34−
35−instance invariantEither :: Invariant (Either a) where
36− imap = imapF
37−
38−-- | The `Apply` instance allows functions contained within a `Right` to
39−-- | transform a value contained within a `Right` using the `(<*>)` operator:
40−-- |
41−-- | ``` purescript
42−-- | Right f <*> Right x == Right (f x)
43−-- | ```
44−-- |
45−-- | `Left` values are left untouched:
46−-- |
47−-- | ``` purescript
48−-- | Left f <*> Right x == Left f
49−-- | Right f <*> Left y == Left y
50−-- | ```
51−-- |
52−-- | Combining `Functor`'s `<$>` with `Apply`'s `<*>` can be used to transform a
53−-- | pure function to take `Either`-typed arguments so `f :: a -> b -> c`
54−-- | becomes `f :: Either l a -> Either l b -> Either l c`:
55−-- |
56−-- | ``` purescript
57−-- | f <$> Right x <*> Right y == Right (f x y)
58−-- | ```
59−-- |
60−-- | The `Left`-preserving behaviour of both operators means the result of
61−-- | an expression like the above but where any one of the values is `Left`
62−-- | means the whole result becomes `Left` also, taking the first `Left` value
63−-- | found:
64−-- |
65−-- | ``` purescript
66−-- | f <$> Left x <*> Right y == Left x
67−-- | f <$> Right x <*> Left y == Left y
68−-- | f <$> Left x <*> Left y == Left x
69−-- | ```
70−instance applyEither :: Apply (Either e) where
71− apply (Left e) _ = Left e
72− apply (Right f) r = f <$> r
73−
74−-- | The `Applicative` instance enables lifting of values into `Either` with the
75−-- | `pure` function:
76−-- |
77−-- | ``` purescript
78−-- | pure x :: Either _ _ == Right x
79−-- | ```
80−-- |
81−-- | Combining `Functor`'s `<$>` with `Apply`'s `<*>` and `Applicative`'s
82−-- | `pure` can be used to pass a mixture of `Either` and non-`Either` typed
83−-- | values to a function that does not usually expect them, by using `pure`
84−-- | for any value that is not already `Either` typed:
85−-- |
86−-- | ``` purescript
87−-- | f <$> Right x <*> pure y == Right (f x y)
88−-- | ```
89−-- |
90−-- | Even though `pure = Right` it is recommended to use `pure` in situations
91−-- | like this as it allows the choice of `Applicative` to be changed later
92−-- | without having to go through and replace `Right` with a new constructor.
93−instance applicativeEither :: Applicative (Either e) where
94− pure = Right
95−
96−-- | The `Alt` instance allows for a choice to be made between two `Either`
97−-- | values with the `<|>` operator, where the first `Right` encountered
98−-- | is taken.
99−-- |
100−-- | ``` purescript
101−-- | Right x <|> Right y == Right x
102−-- | Left x <|> Right y == Right y
103−-- | Left x <|> Left y == Left y
104−-- | ```
105−instance altEither :: Alt (Either e) where
106− alt (Left _) r = r
107− alt l _ = l
108−
109−-- | The `Bind` instance allows sequencing of `Either` values and functions that
110−-- | return an `Either` by using the `>>=` operator:
111−-- |
112−-- | ``` purescript
113−-- | Left x >>= f = Left x
114−-- | Right x >>= f = f x
115−-- | ```
116−-- |
117−-- | `Either`'s "do notation" can be understood to work like this:
118−-- | ``` purescript
119−-- | x :: forall e a. Either e a
120−-- | x = --
121−-- |
122−-- | y :: forall e b. Either e b
123−-- | y = --
124−-- |
125−-- | foo :: forall e a. (a -> b -> c) -> Either e c
126−-- | foo f = do
127−-- | x' <- x
128−-- | y' <- y
129−-- | pure (f x' y')
130−-- | ```
131−-- |
132−-- | ...which is equivalent to...
133−-- |
134−-- | ``` purescript
135−-- | x >>= (\x' -> y >>= (\y' -> pure (f x' y')))
136−-- | ```
137−-- |
138−-- | ...and is the same as writing...
139−-- |
140−-- | ```
141−-- | foo :: forall e a. (a -> b -> c) -> Either e c
142−-- | foo f = case x of
143−-- | Left e ->
144−-- | Left e
145−-- | Right x -> case y of
146−-- | Left e ->
147−-- | Left e
148−-- | Right y ->
149−-- | Right (f x y)
150−-- | ```
151−instance bindEither :: Bind (Either e) where
152− bind = either (\e _ -> Left e) (\a f -> f a)
153−
154−-- | The `Monad` instance guarantees that there are both `Applicative` and
155−-- | `Bind` instances for `Either`.
156−instance monadEither :: Monad (Either e)
157−
158−-- | The `Extend` instance allows sequencing of `Either` values and functions
159−-- | that accept an `Either` and return a non-`Either` result using the
160−-- | `<<=` operator.
161−-- |
162−-- | ``` purescript
163−-- | f <<= Left x = Left x
164−-- | f <<= Right x = Right (f (Right x))
165−-- | ```
166−instance extendEither :: Extend (Either e) where
167− extend _ (Left y) = Left y
168− extend f x = Right (f x)
169−
170−-- | The `Show` instance allows `Either` values to be rendered as a string with
171−-- | `show` whenever there is an `Show` instance for both type the `Either` can
172−-- | contain.
173−instance showEither :: (Show a, Show b) => Show (Either a b) where
174− show (Left x) = "(Left " <> show x <> ")"
175− show (Right y) = "(Right " <> show y <> ")"
176−
177−-- | The `Eq` instance allows `Either` values to be checked for equality with
178−-- | `==` and inequality with `/=` whenever there is an `Eq` instance for both
179−-- | types the `Either` can contain.
180−derive instance eqEither :: (Eq a, Eq b) => Eq (Either a b)
181−
182−derive instance eq1Either :: Eq a => Eq1 (Either a)
183−
184−-- | The `Ord` instance allows `Either` values to be compared with
185−-- | `compare`, `>`, `>=`, `<` and `<=` whenever there is an `Ord` instance for
186−-- | both types the `Either` can contain.
187−-- |
188−-- | Any `Left` value is considered to be less than a `Right` value.
189−derive instance ordEither :: (Ord a, Ord b) => Ord (Either a b)
190−
191−derive instance ord1Either :: Ord a => Ord1 (Either a)
192−
193−instance boundedEither :: (Bounded a, Bounded b) => Bounded (Either a b) where
194− top = Right top
195− bottom = Left bottom
196−
197−instance semigroupEither :: (Semigroup b) => Semigroup (Either a b) where
198− append x y = append <$> x <*> y
199−
200−-- | Takes two functions and an `Either` value, if the value is a `Left` the
201−-- | inner value is applied to the first function, if the value is a `Right`
202−-- | the inner value is applied to the second function.
203−-- |
204−-- | ``` purescript
205−-- | either f g (Left x) == f x
206−-- | either f g (Right y) == g y
207−-- | ```
208−either :: forall a b c. (a -> c) -> (b -> c) -> Either a b -> c
209−either f _ (Left a) = f a
210−either _ g (Right b) = g b
211−
212−-- | Combine two alternatives.
213−choose :: forall m a b. Alt m => m a -> m b -> m (Either a b)
214−choose a b = Left <$> a <|> Right <$> b
215−
216−-- | Returns `true` when the `Either` value was constructed with `Left`.
217−isLeft :: forall a b. Either a b -> Boolean
218−isLeft = either (const true) (const false)
219−
220−-- | Returns `true` when the `Either` value was constructed with `Right`.
221−isRight :: forall a b. Either a b -> Boolean
222−isRight = either (const false) (const true)
223−
224−-- | A function that extracts the value from the `Left` data constructor.
225−-- | The first argument is a default value, which will be returned in the
226−-- | case where a `Right` is passed to `fromLeft`.
227−fromLeft :: forall a b. a -> Either a b -> a
228−fromLeft _ (Left a) = a
229−fromLeft default _ = default
230−
231−-- | Similar to `fromLeft` but for use in cases where the default value may be
232−-- | expensive to compute. As PureScript is not lazy, the standard `fromLeft`
233−-- | has to evaluate the default value before returning the result,
234−-- | whereas here the value is only computed when the `Either` is known
235−-- | to be `Right`.
236−fromLeft' :: forall a b. (Unit -> a) -> Either a b -> a
237−fromLeft' _ (Left a) = a
238−fromLeft' default _ = default unit
239−
240−-- | A function that extracts the value from the `Right` data constructor.
241−-- | The first argument is a default value, which will be returned in the
242−-- | case where a `Left` is passed to `fromRight`.
243−fromRight :: forall a b. b -> Either a b -> b
244−fromRight _ (Right b) = b
245−fromRight default _ = default
246−
247−-- | Similar to `fromRight` but for use in cases where the default value may be
248−-- | expensive to compute. As PureScript is not lazy, the standard `fromRight`
249−-- | has to evaluate the default value before returning the result,
250−-- | whereas here the value is only computed when the `Either` is known
251−-- | to be `Left`.
252−fromRight' :: forall a b. (Unit -> b) -> Either a b -> b
253−fromRight' _ (Right b) = b
254−fromRight' default _ = default unit
255−
256−-- | Takes a default and a `Maybe` value, if the value is a `Just`, turn it into
257−-- | a `Right`, if the value is a `Nothing` use the provided default as a `Left`
258−-- |
259−-- | ```purescript
260−-- | note "default" Nothing = Left "default"
261−-- | note "default" (Just 1) = Right 1
262−-- | ```
263−note :: forall a b. a -> Maybe b -> Either a b
264−note a = maybe (Left a) Right
265−
266−-- | Similar to `note`, but for use in cases where the default value may be
267−-- | expensive to compute.
268−-- |
269−-- | ```purescript
270−-- | note' (\_ -> "default") Nothing = Left "default"
271−-- | note' (\_ -> "default") (Just 1) = Right 1
272−-- | ```
273−note' :: forall a b. (Unit -> a) -> Maybe b -> Either a b
274−note' f = maybe' (Left <<< f) Right
275−
276−-- | Turns an `Either` into a `Maybe`, by throwing potential `Left` values away and converting
277−-- | them into `Nothing`. `Right` values get turned into `Just`s.
278−-- |
279−-- | ```purescript
280−-- | hush (Left "ParseError") = Nothing
281−-- | hush (Right 42) = Just 42
282−-- | ```
283−hush :: forall a b. Either a b -> Maybe b
284−hush = either (const Nothing) Just
285−
286−-- | Turns an `Either` into a `Maybe`, by throwing potential `Right` values away and converting
287−-- | them into `Nothing`. `Left` values get turned into `Just`s.
288−-- |
289−-- | ```purescript
290−-- | blush (Left "ParseError") = Just "Parse Error"
291−-- | blush (Right 42) = Nothing
292−-- | ```
293−blush :: forall a b. Either a b -> Maybe a
294−blush = either Just (const Nothing)
.spago/p/either-6.1.0/src/Data/Either/Inject.pursdeleted−23
@@ -1,23 +0,0 @@
1−module Data.Either.Inject where
2−
3−import Prelude
4−
5−import Data.Either (Either(..), either)
6−import Data.Maybe (Maybe(..))
7−
8−class Inject a b where
9− inj :: a -> b
10− prj :: b -> Maybe a
11−
12−instance injectReflexive :: Inject a a where
13− inj = identity
14− prj = Just
15−
16−else instance injectLeft :: Inject a (Either a b) where
17− inj = Left
18− prj = either Just (const Nothing)
19−
20−else instance injectRight :: Inject a b => Inject a (Either c b) where
21− inj = Right <<< inj
22− prj = either (const Nothing) prj
23−
.spago/p/either-6.1.0/src/Data/Either/Nested.pursdeleted−278
@@ -1,278 +0,0 @@
1−-- | Utilities for n-eithers: sums types with more than two terms built from nested eithers.
2−-- |
3−-- | Nested eithers arise naturally in sum combinators. You shouldn't
4−-- | represent sum data using nested eithers, but if combinators you're working with
5−-- | create them, utilities in this module will allow to to more easily work
6−-- | with them, including translating to and from more traditional sum types.
7−-- |
8−-- | ```purescript
9−-- | data Color = Red Number | Green Number | Blue Number
10−-- |
11−-- | fromEither3 :: Either3 Number Number Number -> Color
12−-- | fromEither3 = either3 Red Green Blue
13−-- |
14−-- | toEither3 :: Color -> Either3 Number Number Number
15−-- | toEither3 (Red v) = in1 v
16−-- | toEither3 (Green v) = in2 v
17−-- | toEither3 (Blue v) = in3 v
18−-- | ```
19−module Data.Either.Nested
20− ( type (\/), (\/)
21− , in1, in2, in3, in4, in5, in6, in7, in8, in9, in10
22− , at1, at2, at3, at4, at5, at6, at7, at8, at9, at10
23− , Either1, Either2, Either3, Either4, Either5, Either6, Either7, Either8, Either9, Either10
24− , either1, either2, either3, either4, either5, either6, either7, either8, either9, either10
25− ) where
26−
27−import Data.Either (Either(..), either)
28−import Data.Void (Void, absurd)
29−
30−infixr 6 type Either as \/
31−
32−-- | The `\/` operator alias for the `either` function allows easy matching on nested Eithers. For example, consider the function
33−-- |
34−-- | ```purescript
35−-- | f :: (Int \/ String \/ Boolean) -> String
36−-- | f (Left x) = show x
37−-- | f (Right (Left y)) = y
38−-- | f (Right (Right z)) = if z then "Yes" else "No"
39−-- | ```
40−-- |
41−-- | The `\/` operator alias allows us to rewrite this function as
42−-- |
43−-- | ```purescript
44−-- | f :: (Int \/ String \/ Boolean) -> String
45−-- | f = show \/ identity \/ if _ then "Yes" else "No"
46−-- | ```
47−infixr 6 either as \/
48−
49−type Either1 a = a \/ Void
50−type Either2 a b = a \/ b \/ Void
51−type Either3 a b c = a \/ b \/ c \/ Void
52−type Either4 a b c d = a \/ b \/ c \/ d \/ Void
53−type Either5 a b c d e = a \/ b \/ c \/ d \/ e \/ Void
54−type Either6 a b c d e f = a \/ b \/ c \/ d \/ e \/ f \/ Void
55−type Either7 a b c d e f g = a \/ b \/ c \/ d \/ e \/ f \/ g \/ Void
56−type Either8 a b c d e f g h = a \/ b \/ c \/ d \/ e \/ f \/ g \/ h \/ Void
57−type Either9 a b c d e f g h i = a \/ b \/ c \/ d \/ e \/ f \/ g \/ h \/ i \/ Void
58−type Either10 a b c d e f g h i j = a \/ b \/ c \/ d \/ e \/ f \/ g \/ h \/ i \/ j \/ Void
59−
60−in1 :: forall a z. a -> a \/ z
61−in1 = Left
62−
63−in2 :: forall a b z. b -> a \/ b \/ z
64−in2 v = Right (Left v)
65−
66−in3 :: forall a b c z. c -> a \/ b \/ c \/ z
67−in3 v = Right (Right (Left v))
68−
69−in4 :: forall a b c d z. d -> a \/ b \/ c \/ d \/ z
70−in4 v = Right (Right (Right (Left v)))
71−
72−in5 :: forall a b c d e z. e -> a \/ b \/ c \/ d \/ e \/ z
73−in5 v = Right (Right (Right (Right (Left v))))
74−
75−in6 :: forall a b c d e f z. f -> a \/ b \/ c \/ d \/ e \/ f \/ z
76−in6 v = Right (Right (Right (Right (Right (Left v)))))
77−
78−in7 :: forall a b c d e f g z. g -> a \/ b \/ c \/ d \/ e \/ f \/ g \/ z
79−in7 v = Right (Right (Right (Right (Right (Right (Left v))))))
80−
81−in8 :: forall a b c d e f g h z. h -> a \/ b \/ c \/ d \/ e \/ f \/ g \/ h \/ z
82−in8 v = Right (Right (Right (Right (Right (Right (Right (Left v)))))))
83−
84−in9 :: forall a b c d e f g h i z. i -> a \/ b \/ c \/ d \/ e \/ f \/ g \/ h \/ i \/ z
85−in9 v = Right (Right (Right (Right (Right (Right (Right (Right (Left v))))))))
86−
87−in10 :: forall a b c d e f g h i j z. j -> a \/ b \/ c \/ d \/ e \/ f \/ g \/ h \/ i \/ j \/ z
88−in10 v = Right (Right (Right (Right (Right (Right (Right (Right (Right (Left v)))))))))
89−
90−at1 :: forall r a z. r -> (a -> r) -> a \/ z -> r
91−at1 b f y = case y of
92− Left r -> f r
93− _ -> b
94−
95−at2 :: forall r a b z. r -> (b -> r) -> a \/ b \/ z -> r
96−at2 b f y = case y of
97− Right (Left r) -> f r
98− _ -> b
99−
100−at3 :: forall r a b c z. r -> (c -> r) -> a \/ b \/ c \/ z -> r
101−at3 b f y = case y of
102− Right (Right (Left r)) -> f r
103− _ -> b
104−
105−at4 :: forall r a b c d z. r -> (d -> r) -> a \/ b \/ c \/ d \/ z -> r
106−at4 b f y = case y of
107− Right (Right (Right (Left r))) -> f r
108− _ -> b
109−
110−at5 :: forall r a b c d e z. r -> (e -> r) -> a \/ b \/ c \/ d \/ e \/ z -> r
111−at5 b f y = case y of
112− Right (Right (Right (Right (Left r)))) -> f r
113− _ -> b
114−
115−at6 :: forall r a b c d e f z. r -> (f -> r) -> a \/ b \/ c \/ d \/ e \/ f \/ z -> r
116−at6 b f y = case y of
117− Right (Right (Right (Right (Right (Left r))))) -> f r
118− _ -> b
119−
120−at7 :: forall r a b c d e f g z. r -> (g -> r) -> a \/ b \/ c \/ d \/ e \/ f \/ g \/ z -> r
121−at7 b f y = case y of
122− Right (Right (Right (Right (Right (Right (Left r)))))) -> f r
123− _ -> b
124−
125−at8 :: forall r a b c d e f g h z. r -> (h -> r) -> a \/ b \/ c \/ d \/ e \/ f \/ g \/ h \/ z -> r
126−at8 b f y = case y of
127− Right (Right (Right (Right (Right (Right (Right (Left r))))))) -> f r
128− _ -> b
129−
130−at9 :: forall r a b c d e f g h i z. r -> (i -> r) -> a \/ b \/ c \/ d \/ e \/ f \/ g \/ h \/ i \/ z -> r
131−at9 b f y = case y of
132− Right (Right (Right (Right (Right (Right (Right (Right (Left r)))))))) -> f r
133− _ -> b
134−
135−at10 :: forall r a b c d e f g h i j z. r -> (j -> r) -> a \/ b \/ c \/ d \/ e \/ f \/ g \/ h \/ i \/ j \/ z -> r
136−at10 b f y = case y of
137− Right (Right (Right (Right (Right (Right (Right (Right (Right (Left r))))))))) -> f r
138− _ -> b
139−
140−either1 :: forall a. Either1 a -> a
141−either1 y = case y of
142− Left r -> r
143− Right _1 -> absurd _1
144−
145−either2 :: forall r a b. (a -> r) -> (b -> r) -> Either2 a b -> r
146−either2 a b y = case y of
147− Left r -> a r
148− Right _1 -> case _1 of
149− Left r -> b r
150− Right _2 -> absurd _2
151−
152−either3 :: forall r a b c. (a -> r) -> (b -> r) -> (c -> r) -> Either3 a b c -> r
153−either3 a b c y = case y of
154− Left r -> a r
155− Right _1 -> case _1 of
156− Left r -> b r
157− Right _2 -> case _2 of
158− Left r -> c r
159− Right _3 -> absurd _3
160−
161−either4 :: forall r a b c d. (a -> r) -> (b -> r) -> (c -> r) -> (d -> r) -> Either4 a b c d -> r
162−either4 a b c d y = case y of
163− Left r -> a r
164− Right _1 -> case _1 of
165− Left r -> b r
166− Right _2 -> case _2 of
167− Left r -> c r
168− Right _3 -> case _3 of
169− Left r -> d r
170− Right _4 -> absurd _4
171−
172−either5 :: forall r a b c d e. (a -> r) -> (b -> r) -> (c -> r) -> (d -> r) -> (e -> r) -> Either5 a b c d e -> r
173−either5 a b c d e y = case y of
174− Left r -> a r
175− Right _1 -> case _1 of
176− Left r -> b r
177− Right _2 -> case _2 of
178− Left r -> c r
179− Right _3 -> case _3 of
180− Left r -> d r
181− Right _4 -> case _4 of
182− Left r -> e r
183− Right _5 -> absurd _5
184−
185−either6 :: forall r a b c d e f. (a -> r) -> (b -> r) -> (c -> r) -> (d -> r) -> (e -> r) -> (f -> r) -> Either6 a b c d e f -> r
186−either6 a b c d e f y = case y of
187− Left r -> a r
188− Right _1 -> case _1 of
189− Left r -> b r
190− Right _2 -> case _2 of
191− Left r -> c r
192− Right _3 -> case _3 of
193− Left r -> d r
194− Right _4 -> case _4 of
195− Left r -> e r
196− Right _5 -> case _5 of
197− Left r -> f r
198− Right _6 -> absurd _6
199−
200−either7 :: forall r a b c d e f g. (a -> r) -> (b -> r) -> (c -> r) -> (d -> r) -> (e -> r) -> (f -> r) -> (g -> r) -> Either7 a b c d e f g -> r
201−either7 a b c d e f g y = case y of
202− Left r -> a r
203− Right _1 -> case _1 of
204− Left r -> b r
205− Right _2 -> case _2 of
206− Left r -> c r
207− Right _3 -> case _3 of
208− Left r -> d r
209− Right _4 -> case _4 of
210− Left r -> e r
211− Right _5 -> case _5 of
212− Left r -> f r
213− Right _6 -> case _6 of
214− Left r -> g r
215− Right _7 -> absurd _7
216−
217−either8 :: forall r a b c d e f g h. (a -> r) -> (b -> r) -> (c -> r) -> (d -> r) -> (e -> r) -> (f -> r) -> (g -> r) -> (h -> r) -> Either8 a b c d e f g h -> r
218−either8 a b c d e f g h y = case y of
219− Left r -> a r
220− Right _1 -> case _1 of
221− Left r -> b r
222− Right _2 -> case _2 of
223− Left r -> c r
224− Right _3 -> case _3 of
225− Left r -> d r
226− Right _4 -> case _4 of
227− Left r -> e r
228− Right _5 -> case _5 of
229− Left r -> f r
230− Right _6 -> case _6 of
231− Left r -> g r
232− Right _7 -> case _7 of
233− Left r -> h r
234− Right _8 -> absurd _8
235−
236−either9 :: forall r a b c d e f g h i. (a -> r) -> (b -> r) -> (c -> r) -> (d -> r) -> (e -> r) -> (f -> r) -> (g -> r) -> (h -> r) -> (i -> r) -> Either9 a b c d e f g h i -> r
237−either9 a b c d e f g h i y = case y of
238− Left r -> a r
239− Right _1 -> case _1 of
240− Left r -> b r
241− Right _2 -> case _2 of
242− Left r -> c r
243− Right _3 -> case _3 of
244− Left r -> d r
245− Right _4 -> case _4 of
246− Left r -> e r
247− Right _5 -> case _5 of
248− Left r -> f r
249− Right _6 -> case _6 of
250− Left r -> g r
251− Right _7 -> case _7 of
252− Left r -> h r
253− Right _8 -> case _8 of
254− Left r -> i r
255− Right _9 -> absurd _9
256−
257−either10 :: forall r a b c d e f g h i j. (a -> r) -> (b -> r) -> (c -> r) -> (d -> r) -> (e -> r) -> (f -> r) -> (g -> r) -> (h -> r) -> (i -> r) -> (j -> r) -> Either10 a b c d e f g h i j -> r
258−either10 a b c d e f g h i j y = case y of
259− Left r -> a r
260− Right _1 -> case _1 of
261− Left r -> b r
262− Right _2 -> case _2 of
263− Left r -> c r
264− Right _3 -> case _3 of
265− Left r -> d r
266− Right _4 -> case _4 of
267− Left r -> e r
268− Right _5 -> case _5 of
269− Left r -> f r
270− Right _6 -> case _6 of
271− Left r -> g r
272− Right _7 -> case _7 of
273− Left r -> h r
274− Right _8 -> case _8 of
275− Left r -> i r
276− Right _9 -> case _9 of
277− Left r -> j r
278− Right _10 -> absurd _10
.spago/p/enums-6.0.1/LICENSEdeleted−26
@@ -1,26 +0,0 @@
1−Copyright 2018 PureScript
2−
3−Redistribution and use in source and binary forms, with or without modification,
4−are permitted provided that the following conditions are met:
5−
6−1. Redistributions of source code must retain the above copyright notice, this
7−list of conditions and the following disclaimer.
8−
9−2. Redistributions in binary form must reproduce the above copyright notice,
10−this list of conditions and the following disclaimer in the documentation and/or
11−other materials provided with the distribution.
12−
13−3. Neither the name of the copyright holder nor the names of its contributors
14−may be used to endorse or promote products derived from this software without
15−specific prior written permission.
16−
17−THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18−ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19−WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20−DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
21−ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22−(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23−LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24−ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25−(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26−SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.spago/p/enums-6.0.1/README.mddeleted−17
@@ -1,17 +0,0 @@
1−# purescript-enums
2−
3−[![Latest release](http://img.shields.io/github/release/purescript/purescript-enums.svg)](https://github.com/purescript/purescript-enums/releases)
4−[![Build status](https://github.com/purescript/purescript-enums/workflows/CI/badge.svg?branch=master)](https://github.com/purescript/purescript-enums/actions?query=workflow%3ACI+branch%3Amaster)
5−[![Pursuit](https://pursuit.purescript.org/packages/purescript-enums/badge)](https://pursuit.purescript.org/packages/purescript-enums)
6−
7−Operations for sequentially ordered types.
8−
9−## Installation
10−
11−```
12−spago install enums
13−```
14−
15−## Documentation
16−
17−Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-enums).
.spago/p/enums-6.0.1/bower.jsondeleted−35
@@ -1,35 +0,0 @@
1−{
2− "name": "purescript-enums",
3− "homepage": "https://github.com/purescript/purescript-enums",
4− "license": "BSD-3-Clause",
5− "repository": {
6− "type": "git",
7− "url": "https://github.com/purescript/purescript-enums.git"
8− },
9− "ignore": [
10− "**/.*",
11− "bower_components",
12− "node_modules",
13− "output",
14− "test",
15− "bower.json",
16− "gulpfile.js",
17− "package.json"
18− ],
19− "dependencies": {
20− "purescript-control": "^6.0.0",
21− "purescript-either": "^6.0.0",
22− "purescript-gen": "^4.0.0",
23− "purescript-maybe": "^6.0.0",
24− "purescript-newtype": "^5.0.0",
25− "purescript-nonempty": "^7.0.0",
26− "purescript-partial": "^4.0.0",
27− "purescript-prelude": "^6.0.0",
28− "purescript-tuples": "^7.0.0",
29− "purescript-unfoldable": "^6.0.0"
30− },
31− "devDependencies": {
32− "purescript-assert": "^6.0.0",
33− "purescript-console": "^6.0.0"
34− }
35−}
.spago/p/enums-6.0.1/package.jsondeleted−13
@@ -1,13 +0,0 @@
1−{
2− "private": true,
3− "scripts": {
4− "clean": "rimraf output && rimraf .pulp-cache",
5− "build": "pulp build -- --censor-lib --strict",
6− "test": "pulp test"
7− },
8− "devDependencies": {
9− "pulp": "16.0.0-0",
10− "purescript-psa": "^0.8.2",
11− "rimraf": "^3.0.2"
12− }
13−}
.spago/p/enums-6.0.1/purs.jsondeleted−21
@@ -1,21 +0,0 @@
1−{
2− "name": "enums",
3− "version": "6.0.1",
4− "license": "BSD-3-Clause",
5− "location": {
6− "githubOwner": "purescript",
7− "githubRepo": "purescript-enums"
8− },
9− "dependencies": {
10− "control": ">=6.0.0 <7.0.0",
11− "either": ">=6.0.0 <7.0.0",
12− "gen": ">=4.0.0 <5.0.0",
13− "maybe": ">=6.0.0 <7.0.0",
14− "newtype": ">=5.0.0 <6.0.0",
15− "nonempty": ">=7.0.0 <8.0.0",
16− "partial": ">=4.0.0 <5.0.0",
17− "prelude": ">=6.0.0 <7.0.0",
18− "tuples": ">=7.0.0 <8.0.0",
19− "unfoldable": ">=6.0.0 <7.0.0"
20− }
21−}
.spago/p/enums-6.0.1/src/Data/Enum.jsdeleted−7
@@ -1,7 +0,0 @@
1−export function toCharCode(c) {
2− return c.charCodeAt(0);
3−}
4−
5−export function fromCharCode(c) {
6− return String.fromCharCode(c);
7−}
.spago/p/enums-6.0.1/src/Data/Enum.pursdeleted−321
@@ -1,321 +0,0 @@
1−module Data.Enum
2− ( class Enum, succ, pred
3− , class BoundedEnum, cardinality, toEnum, fromEnum
4− , toEnumWithDefaults
5− , Cardinality(..)
6− , enumFromTo
7− , enumFromThenTo
8− , upFrom
9− , upFromIncluding
10− , downFrom
11− , downFromIncluding
12− , defaultSucc
13− , defaultPred
14− , defaultCardinality
15− , defaultToEnum
16− , defaultFromEnum
17− ) where
18−
19−import Prelude
20−
21−import Control.MonadPlus (guard)
22−import Data.Either (Either(..))
23−import Data.Maybe (Maybe(..), maybe, fromJust)
24−import Data.Newtype (class Newtype)
25−import Data.Tuple (Tuple(..))
26−import Data.Unfoldable (class Unfoldable, singleton, unfoldr)
27−import Data.Unfoldable1 (class Unfoldable1, unfoldr1)
28−import Partial.Unsafe (unsafePartial)
29−
30−-- | Type class for enumerations.
31−-- |
32−-- | Laws:
33−-- | - Successor: `all (a < _) (succ a)`
34−-- | - Predecessor: `all (_ < a) (pred a)`
35−-- | - Succ retracts pred: `pred >=> succ >=> pred = pred`
36−-- | - Pred retracts succ: `succ >=> pred >=> succ = succ`
37−-- | - Non-skipping succ: `b <= a || any (_ <= b) (succ a)`
38−-- | - Non-skipping pred: `a <= b || any (b <= _) (pred a)`
39−-- |
40−-- | The retraction laws can intuitively be understood as saying that `succ` is
41−-- | the opposite of `pred`; if you apply `succ` and then `pred` to something,
42−-- | you should end up with what you started with (although of course this
43−-- | doesn't apply if you tried to `succ` the last value in an enumeration and
44−-- | therefore got `Nothing` out).
45−-- |
46−-- | The non-skipping laws can intuitively be understood as saying that `succ`
47−-- | shouldn't skip over any elements of your type. For example, _without_ the
48−-- | non-skipping laws, it would be permissible to write an `Enum Int` instance
49−-- | where `succ x = Just (x+2)`, and similarly `pred x = Just (x-2)`.
50−class Ord a <= Enum a where
51− succ :: a -> Maybe a
52− pred :: a -> Maybe a
53−
54−instance enumBoolean :: Enum Boolean where
55− succ false = Just true
56− succ _ = Nothing
57− pred true = Just false
58− pred _= Nothing
59−
60−instance enumInt :: Enum Int where
61− succ n = if n < top then Just (n + 1) else Nothing
62− pred n = if n > bottom then Just (n - 1) else Nothing
63−
64−instance enumChar :: Enum Char where
65− succ = defaultSucc charToEnum toCharCode
66− pred = defaultPred charToEnum toCharCode
67−
68−instance enumUnit :: Enum Unit where
69− succ = const Nothing
70− pred = const Nothing
71−
72−instance enumOrdering :: Enum Ordering where
73− succ LT = Just EQ
74− succ EQ = Just GT
75− succ GT = Nothing
76− pred LT = Nothing
77− pred EQ = Just LT
78− pred GT = Just EQ
79−
80−instance enumMaybe :: BoundedEnum a => Enum (Maybe a) where
81− succ Nothing = Just (Just bottom)
82− succ (Just a) = Just <$> succ a
83− pred Nothing = Nothing
84− pred (Just a) = Just (pred a)
85−
86−instance enumEither :: (BoundedEnum a, BoundedEnum b) => Enum (Either a b) where
87− succ (Left a) = maybe (Just (Right bottom)) (Just <<< Left) (succ a)
88− succ (Right b) = maybe Nothing (Just <<< Right) (succ b)
89− pred (Left a) = maybe Nothing (Just <<< Left) (pred a)
90− pred (Right b) = maybe (Just (Left top)) (Just <<< Right) (pred b)
91−
92−instance enumTuple :: (Enum a, BoundedEnum b) => Enum (Tuple a b) where
93− succ (Tuple a b) = maybe (flip Tuple bottom <$> succ a) (Just <<< Tuple a) (succ b)
94− pred (Tuple a b) = maybe (flip Tuple top <$> pred a) (Just <<< Tuple a) (pred b)
95−
96−-- | Type class for finite enumerations.
97−-- |
98−-- | This should not be considered a part of a numeric hierarchy, as in Haskell.
99−-- | Rather, this is a type class for small, ordered sum types with
100−-- | statically-determined cardinality and the ability to easily compute
101−-- | successor and predecessor elements like `DayOfWeek`.
102−-- |
103−-- | Laws:
104−-- |
105−-- | - ```succ bottom >>= succ >>= succ ... succ [cardinality - 1 times] == top```
106−-- | - ```pred top >>= pred >>= pred ... pred [cardinality - 1 times] == bottom```
107−-- | - ```forall a > bottom: pred a >>= succ == Just a```
108−-- | - ```forall a < top: succ a >>= pred == Just a```
109−-- | - ```forall a > bottom: fromEnum <$> pred a = pred (fromEnum a)```
110−-- | - ```forall a < top: fromEnum <$> succ a = succ (fromEnum a)```
111−-- | - ```e1 `compare` e2 == fromEnum e1 `compare` fromEnum e2```
112−-- | - ```toEnum (fromEnum a) = Just a```
113−class (Bounded a, Enum a) <= BoundedEnum a where
114− cardinality :: Cardinality a
115− toEnum :: Int -> Maybe a
116− fromEnum :: a -> Int
117−
118−instance boundedEnumBoolean :: BoundedEnum Boolean where
119− cardinality = Cardinality 2
120− toEnum 0 = Just false
121− toEnum 1 = Just true
122− toEnum _ = Nothing
123− fromEnum false = 0
124− fromEnum true = 1
125−
126−instance boundedEnumChar :: BoundedEnum Char where
127− cardinality = Cardinality (toCharCode top - toCharCode bottom)
128− toEnum = charToEnum
129− fromEnum = toCharCode
130−
131−instance boundedEnumUnit :: BoundedEnum Unit where
132− cardinality = Cardinality 1
133− toEnum 0 = Just unit
134− toEnum _ = Nothing
135− fromEnum = const 0
136−
137−instance boundedEnumOrdering :: BoundedEnum Ordering where
138− cardinality = Cardinality 3
139− toEnum 0 = Just LT
140− toEnum 1 = Just EQ
141− toEnum 2 = Just GT
142− toEnum _ = Nothing
143− fromEnum LT = 0
144− fromEnum EQ = 1
145− fromEnum GT = 2
146−
147−-- | Like `toEnum` but returns the first argument if `x` is less than
148−-- | `fromEnum bottom` and the second argument if `x` is greater than
149−-- | `fromEnum top`.
150−-- |
151−-- | ``` purescript
152−-- | toEnumWithDefaults False True (-1) -- False
153−-- | toEnumWithDefaults False True 0 -- False
154−-- | toEnumWithDefaults False True 1 -- True
155−-- | toEnumWithDefaults False True 2 -- True
156−-- | ```
157−toEnumWithDefaults :: forall a. BoundedEnum a => a -> a -> Int -> a
158−toEnumWithDefaults low high x = case toEnum x of
159− Just enum -> enum
160− Nothing -> if x < fromEnum (bottom :: a) then low else high
161−
162−-- | A type for the size of finite enumerations.
163−newtype Cardinality :: forall k. k -> Type
164−newtype Cardinality a = Cardinality Int
165−
166−type role Cardinality representational
167−
168−derive instance newtypeCardinality :: Newtype (Cardinality a) _
169−derive newtype instance eqCardinality :: Eq (Cardinality a)
170−derive newtype instance ordCardinality :: Ord (Cardinality a)
171−
172−instance showCardinality :: Show (Cardinality a) where
173− show (Cardinality n) = "(Cardinality " <> show n <> ")"
174−
175−-- | Returns a contiguous sequence of elements from the first value to the
176−-- | second value (inclusive).
177−-- |
178−-- | ``` purescript
179−-- | enumFromTo 0 3 = [0, 1, 2, 3]
180−-- | enumFromTo 'c' 'a' = ['c', 'b', 'a']
181−-- | ```
182−-- |
183−-- | The example shows `Array` return values, but the result can be any type
184−-- | with an `Unfoldable1` instance.
185−enumFromTo :: forall a u. Enum a => Unfoldable1 u => a -> a -> u a
186−enumFromTo = case _, _ of
187− from, to
188− | from == to -> singleton from
189− | from < to -> unfoldr1 (go succ (<=) to) from
190− | otherwise -> unfoldr1 (go pred (>=) to) from
191− where
192− go step op to a = Tuple a (step a >>= \a' -> guard (a' `op` to) $> a')
193−
194−-- | Returns a sequence of elements from the first value, taking steps
195−-- | according to the difference between the first and second value, up to
196−-- | (but not exceeding) the third value.
197−-- |
198−-- | ``` purescript
199−-- | enumFromThenTo 0 2 6 = [0, 2, 4, 6]
200−-- | enumFromThenTo 0 3 5 = [0, 3]
201−-- | ```
202−-- |
203−-- | Note that there is no `BoundedEnum` instance for integers, they're just
204−-- | being used here for illustrative purposes to help clarify the behaviour.
205−-- |
206−-- | The example shows `Array` return values, but the result can be any type
207−-- | with an `Unfoldable1` instance.
208−enumFromThenTo :: forall f a. Unfoldable f => Functor f => BoundedEnum a => a -> a -> a -> f a
209−enumFromThenTo = unsafePartial \a b c ->
210− let
211− a' = fromEnum a
212− b' = fromEnum b
213− c' = fromEnum c
214− in
215− (toEnum >>> fromJust) <$> unfoldr (go (b' - a') c') a'
216− where
217− go step to e
218− | e <= to = Just (Tuple e (e + step))
219− | otherwise = Nothing
220−
221−-- | Produces all successors of an `Enum` value, excluding the start value.
222−upFrom :: forall a u. Enum a => Unfoldable u => a -> u a
223−upFrom = unfoldr (map diag <<< succ)
224−
225−-- | Produces all successors of an `Enum` value, including the start value.
226−-- |
227−-- | `upFromIncluding bottom` will return all values in an `Enum`.
228−upFromIncluding :: ∀ a u. Enum a => Unfoldable1 u => a -> u a
229−upFromIncluding = unfoldr1 (Tuple <*> succ)
230−
231−-- | Produces all predecessors of an `Enum` value, excluding the start value.
232−downFrom :: forall a u. Enum a => Unfoldable u => a -> u a
233−downFrom = unfoldr (map diag <<< pred)
234−
235−-- | Produces all predecessors of an `Enum` value, including the start value.
236−-- |
237−-- | `downFromIncluding top` will return all values in an `Enum`, in reverse
238−-- | order.
239−downFromIncluding :: forall a u. Enum a => Unfoldable1 u => a -> u a
240−downFromIncluding = unfoldr1 (Tuple <*> pred)
241−
242−-- | Provides a default implementation for `succ`, given a function that maps
243−-- | integers to values in the `Enum`, and a function that maps values in the
244−-- | `Enum` back to integers. The integer mapping must agree in both directions
245−-- | for this to implement a law-abiding `succ`.
246−-- |
247−-- | If a `BoundedEnum` instance exists for `a`, the `toEnum` and `fromEnum`
248−-- | functions can be used here:
249−-- |
250−-- | ``` purescript
251−-- | succ = defaultSucc toEnum fromEnum
252−-- | ```
253−defaultSucc :: forall a. (Int -> Maybe a) -> (a -> Int) -> a -> Maybe a
254−defaultSucc toEnum' fromEnum' a = toEnum' (fromEnum' a + 1)
255−
256−-- | Provides a default implementation for `pred`, given a function that maps
257−-- | integers to values in the `Enum`, and a function that maps values in the
258−-- | `Enum` back to integers. The integer mapping must agree in both directions
259−-- | for this to implement a law-abiding `pred`.
260−-- |
261−-- | If a `BoundedEnum` instance exists for `a`, the `toEnum` and `fromEnum`
262−-- | functions can be used here:
263−-- |
264−-- | ``` purescript
265−-- | pred = defaultPred toEnum fromEnum
266−-- | ```
267−defaultPred :: forall a. (Int -> Maybe a) -> (a -> Int) -> a -> Maybe a
268−defaultPred toEnum' fromEnum' a = toEnum' (fromEnum' a - 1)
269−
270−-- | Provides a default implementation for `cardinality`.
271−-- |
272−-- | Runs in `O(n)` where `n` is `fromEnum top`
273−defaultCardinality :: forall a. Bounded a => Enum a => Cardinality a
274−defaultCardinality = Cardinality $ go 1 (bottom :: a) where
275− go i x =
276− case succ x of
277− Just x' -> go (i + 1) x'
278− Nothing -> i
279−
280−-- | Provides a default implementation for `toEnum`.
281−-- |
282−-- | - Assumes `fromEnum bottom = 0`.
283−-- | - Cannot be used in conjuction with `defaultSucc`.
284−-- |
285−-- | Runs in `O(n)` where `n` is `fromEnum a`.
286−defaultToEnum :: forall a. Bounded a => Enum a => Int -> Maybe a
287−defaultToEnum i' =
288− if i' < 0
289− then Nothing
290− else go i' bottom
291− where
292− go i x =
293− if i == 0
294− then Just x
295− -- We avoid using >>= here because it foils tail-call optimization
296− else case succ x of
297− Just x' -> go (i - 1) x'
298− Nothing -> Nothing
299−
300−-- | Provides a default implementation for `fromEnum`.
301−-- |
302−-- | - Assumes `toEnum 0 = Just bottom`.
303−-- | - Cannot be used in conjuction with `defaultPred`.
304−-- |
305−-- | Runs in `O(n)` where `n` is `fromEnum a`.
306−defaultFromEnum :: forall a. Enum a => a -> Int
307−defaultFromEnum = go 0 where
308− go i x =
309− case pred x of
310− Just x' -> go (i + 1) x'
311− Nothing -> i
312−
313−diag :: forall a. a -> Tuple a a
314−diag a = Tuple a a
315−
316−charToEnum :: Int -> Maybe Char
317−charToEnum n | n >= toCharCode bottom && n <= toCharCode top = Just (fromCharCode n)
318−charToEnum _ = Nothing
319−
320−foreign import toCharCode :: Char -> Int
321−foreign import fromCharCode :: Int -> Char
.spago/p/enums-6.0.1/src/Data/Enum/Gen.pursdeleted−18
@@ -1,18 +0,0 @@
1−module Data.Enum.Gen where
2−
3−import Prelude
4−
5−import Control.Monad.Gen (class MonadGen, elements)
6−import Data.Enum (class BoundedEnum, succ, enumFromTo)
7−import Data.Maybe (Maybe(..))
8−import Data.NonEmpty ((:|))
9−
10−-- | Create a random generator for a finite enumeration.
11−genBoundedEnum :: forall m a. MonadGen m => BoundedEnum a => m a
12−genBoundedEnum =
13− case succ bottom of
14− Just a →
15− let possibilities = enumFromTo a top :: Array a
16− in elements (bottom :| possibilities)
17− Nothing →
18− pure bottom
.spago/p/enums-6.0.1/src/Data/Enum/Generic.pursdeleted−118
@@ -1,118 +0,0 @@
1−module Data.Enum.Generic where
2−
3−import Prelude
4−
5−import Data.Enum (class BoundedEnum, class Enum, Cardinality(..), cardinality, fromEnum, pred, succ, toEnum)
6−import Data.Generic.Rep (class Generic, Argument(..), Constructor(..), NoArguments(..), Product(..), Sum(..), from, to)
7−import Data.Bounded.Generic (class GenericBottom, class GenericTop, genericBottom', genericTop')
8−import Data.Maybe (Maybe(..))
9−import Data.Newtype (unwrap)
10−
11−class GenericEnum a where
12− genericPred' :: a -> Maybe a
13− genericSucc' :: a -> Maybe a
14−
15−instance genericEnumNoArguments :: GenericEnum NoArguments where
16− genericPred' _ = Nothing
17− genericSucc' _ = Nothing
18−
19−instance genericEnumArgument :: Enum a => GenericEnum (Argument a) where
20− genericPred' (Argument a) = Argument <$> pred a
21− genericSucc' (Argument a) = Argument <$> succ a
22−
23−instance genericEnumConstructor :: GenericEnum a => GenericEnum (Constructor name a) where
24− genericPred' (Constructor a) = Constructor <$> genericPred' a
25− genericSucc' (Constructor a) = Constructor <$> genericSucc' a
26−
27−instance genericEnumSum :: (GenericEnum a, GenericTop a, GenericEnum b, GenericBottom b) => GenericEnum (Sum a b) where
28− genericPred' = case _ of
29− Inl a -> Inl <$> genericPred' a
30− Inr b -> case genericPred' b of
31− Nothing -> Just (Inl genericTop')
32− Just b' -> Just (Inr b')
33− genericSucc' = case _ of
34− Inl a -> case genericSucc' a of
35− Nothing -> Just (Inr genericBottom')
36− Just a' -> Just (Inl a')
37− Inr b -> Inr <$> genericSucc' b
38−
39−instance genericEnumProduct :: (GenericEnum a, GenericTop a, GenericBottom a, GenericEnum b, GenericTop b, GenericBottom b) => GenericEnum (Product a b) where
40− genericPred' (Product a b) = case genericPred' b of
41− Just p -> Just $ Product a p
42− Nothing -> flip Product genericTop' <$> genericPred' a
43− genericSucc' (Product a b) = case genericSucc' b of
44− Just s -> Just $ Product a s
45− Nothing -> flip Product genericBottom' <$> genericSucc' a
46−
47−
48−-- | A `Generic` implementation of the `pred` member from the `Enum` type class.
49−genericPred :: forall a rep. Generic a rep => GenericEnum rep => a -> Maybe a
50−genericPred = map to <<< genericPred' <<< from
51−
52−-- | A `Generic` implementation of the `succ` member from the `Enum` type class.
53−genericSucc :: forall a rep. Generic a rep => GenericEnum rep => a -> Maybe a
54−genericSucc = map to <<< genericSucc' <<< from
55−
56−class GenericBoundedEnum a where
57− genericCardinality' :: Cardinality a
58− genericToEnum' :: Int -> Maybe a
59− genericFromEnum' :: a -> Int
60−
61−instance genericBoundedEnumNoArguments :: GenericBoundedEnum NoArguments where
62− genericCardinality' = Cardinality 1
63− genericToEnum' i = if i == 0 then Just NoArguments else Nothing
64− genericFromEnum' _ = 0
65−
66−instance genericBoundedEnumArgument :: BoundedEnum a => GenericBoundedEnum (Argument a) where
67− genericCardinality' = Cardinality (unwrap (cardinality :: Cardinality a))
68− genericToEnum' i = Argument <$> toEnum i
69− genericFromEnum' (Argument a) = fromEnum a
70−
71−instance genericBoundedEnumConstructor :: GenericBoundedEnum a => GenericBoundedEnum (Constructor name a) where
72− genericCardinality' = Cardinality (unwrap (genericCardinality' :: Cardinality a))
73− genericToEnum' i = Constructor <$> genericToEnum' i
74− genericFromEnum' (Constructor a) = genericFromEnum' a
75−
76−instance genericBoundedEnumSum :: (GenericBoundedEnum a, GenericBoundedEnum b) => GenericBoundedEnum (Sum a b) where
77− genericCardinality' =
78− Cardinality
79− $ unwrap (genericCardinality' :: Cardinality a)
80− + unwrap (genericCardinality' :: Cardinality b)
81− genericToEnum' n = to genericCardinality'
82− where
83− to :: Cardinality a -> Maybe (Sum a b)
84− to (Cardinality ca)
85− | n >= 0 && n < ca = Inl <$> genericToEnum' n
86− | otherwise = Inr <$> genericToEnum' (n - ca)
87− genericFromEnum' = case _ of
88− Inl a -> genericFromEnum' a
89− Inr b -> genericFromEnum' b + unwrap (genericCardinality' :: Cardinality a)
90−
91−
92−instance genericBoundedEnumProduct :: (GenericBoundedEnum a, GenericBoundedEnum b) => GenericBoundedEnum (Product a b) where
93− genericCardinality' =
94− Cardinality
95− $ unwrap (genericCardinality' :: Cardinality a)
96− * unwrap (genericCardinality' :: Cardinality b)
97− genericToEnum' n = to genericCardinality'
98− where to :: Cardinality b -> Maybe (Product a b)
99− to (Cardinality cb) = Product <$> (genericToEnum' $ n `div` cb) <*> (genericToEnum' $ n `mod` cb)
100− genericFromEnum' = from genericCardinality'
101− where from :: Cardinality b -> (Product a b) -> Int
102− from (Cardinality cb) (Product a b) = genericFromEnum' a * cb + genericFromEnum' b
103−
104−
105−-- | A `Generic` implementation of the `cardinality` member from the
106−-- | `BoundedEnum` type class.
107−genericCardinality :: forall a rep. Generic a rep => GenericBoundedEnum rep => Cardinality a
108−genericCardinality = Cardinality (unwrap (genericCardinality' :: Cardinality rep))
109−
110−-- | A `Generic` implementation of the `toEnum` member from the `BoundedEnum`
111−-- | type class.
112−genericToEnum :: forall a rep. Generic a rep => GenericBoundedEnum rep => Int -> Maybe a
113−genericToEnum = map to <<< genericToEnum'
114−
115−-- | A `Generic` implementation of the `fromEnum` member from the `BoundedEnum`
116−-- | type class.
117−genericFromEnum :: forall a rep. Generic a rep => GenericBoundedEnum rep => a -> Int
118−genericFromEnum = genericFromEnum' <<< from
.spago/p/exceptions-6.1.0/LICENSEdeleted−26
@@ -1,26 +0,0 @@
1−Copyright 2018 PureScript
2−
3−Redistribution and use in source and binary forms, with or without modification,
4−are permitted provided that the following conditions are met:
5−
6−1. Redistributions of source code must retain the above copyright notice, this
7−list of conditions and the following disclaimer.
8−
9−2. Redistributions in binary form must reproduce the above copyright notice,
10−this list of conditions and the following disclaimer in the documentation and/or
11−other materials provided with the distribution.
12−
13−3. Neither the name of the copyright holder nor the names of its contributors
14−may be used to endorse or promote products derived from this software without
15−specific prior written permission.
16−
17−THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18−ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19−WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20−DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
21−ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22−(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23−LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24−ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25−(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26−SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.spago/p/exceptions-6.1.0/README.mddeleted−17
@@ -1,17 +0,0 @@
1−# purescript-exceptions
2−
3−[![Latest release](http://img.shields.io/github/release/purescript/purescript-exceptions.svg)](https://github.com/purescript/purescript-exceptions/releases)
4−[![Build status](https://github.com/purescript/purescript-exceptions/workflows/CI/badge.svg?branch=master)](https://github.com/purescript/purescript-exceptions/actions?query=workflow%3ACI+branch%3Amaster)
5−[![Pursuit](https://pursuit.purescript.org/packages/purescript-exceptions/badge)](https://pursuit.purescript.org/packages/purescript-exceptions)
6−
7−Exception effects.
8−
9−## Installation
10−
11−```
12−spago install exceptions
13−```
14−
15−## Documentation
16−
17−Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-exceptions).
.spago/p/exceptions-6.1.0/bower.jsondeleted−24
@@ -1,24 +0,0 @@
1−{
2− "name": "purescript-exceptions",
3− "homepage": "https://github.com/purescript/purescript-exceptions",
4− "license": "BSD-3-Clause",
5− "repository": {
6− "type": "git",
7− "url": "https://github.com/purescript/purescript-exceptions.git"
8− },
9− "ignore": [
10− "**/.*",
11− "bower_components",
12− "node_modules",
13− "output",
14− "test",
15− "bower.json",
16− "package.json"
17− ],
18− "dependencies": {
19− "purescript-effect": "^4.0.0",
20− "purescript-either": "^6.0.0",
21− "purescript-maybe": "^6.0.0",
22− "purescript-prelude": "^6.0.0"
23− }
24−}
.spago/p/exceptions-6.1.0/package.jsondeleted−13
@@ -1,13 +0,0 @@
1−{
2− "private": true,
3− "scripts": {
4− "clean": "rimraf output && rimraf .pulp-cache",
5− "build": "eslint src && pulp build -- --censor-lib --strict"
6− },
7− "devDependencies": {
8− "eslint": "^7.15.0",
9− "pulp": "16.0.0-0",
10− "purescript-psa": "^0.8.2",
11− "rimraf": "^3.0.2"
12− }
13−}
.spago/p/exceptions-6.1.0/purs.jsondeleted−15
@@ -1,15 +0,0 @@
1−{
2− "name": "exceptions",
3− "version": "6.1.0",
4− "license": "BSD-3-Clause",
5− "location": {
6− "githubOwner": "purescript",
7− "githubRepo": "purescript-exceptions"
8− },
9− "dependencies": {
10− "effect": ">=4.0.0 <5.0.0",
11− "either": ">=6.0.0 <7.0.0",
12− "maybe": ">=6.0.0 <7.0.0",
13− "prelude": ">=6.0.0 <7.0.0"
14− }
15−}
.spago/p/exceptions-6.1.0/src/Effect/Exception.jsdeleted−59
@@ -1,59 +0,0 @@
1−export function showErrorImpl(err) {
2− return err.stack || err.toString();
3−}
4−
5−export function error(msg) {
6− return new Error(msg);
7−}
8−
9−export function errorWithCause(msg) {
10− return function(cause) {
11− return new Error(msg, { cause });
12− };
13−}
14−
15−export function errorWithName(msg) {
16− return function(name) {
17− const e = new Error(msg);
18− e.name = name;
19− return e;
20− };
21−}
22−
23−export function message(e) {
24− return e.message;
25−}
26−
27−export function name(e) {
28− return e.name || "Error";
29−}
30−
31−export function stackImpl(just) {
32− return function (nothing) {
33− return function (e) {
34− return e.stack ? just(e.stack) : nothing;
35− };
36− };
37−}
38−
39−export function throwException(e) {
40− return function () {
41− throw e;
42− };
43−}
44−
45−export function catchException(c) {
46− return function (t) {
47− return function () {
48− try {
49− return t();
50− } catch (e) {
51− if (e instanceof Error || Object.prototype.toString.call(e) === "[object Error]") {
52− return c(e)();
53− } else {
54− return c(new Error(e.toString()))();
55− }
56− }
57− };
58− };
59−}
.spago/p/exceptions-6.1.0/src/Effect/Exception.pursdeleted−110
@@ -1,110 +0,0 @@
1−-- | This module defines an effect, actions and handlers for working
2−-- | with JavaScript exceptions.
3−
4−module Effect.Exception
5− ( Error
6− , catchException
7− , error
8− , errorWithCause
9− , errorWithName
10− , message
11− , name
12− , stack
13− , throw
14− , throwException
15− , try
16− )
17− where
18−
19−import Prelude
20−
21−import Effect (Effect)
22−
23−import Data.Either (Either(..))
24−import Data.Maybe (Maybe(..))
25−
26−-- | The type of JavaScript errors
27−foreign import data Error :: Type
28−
29−instance showError :: Show Error where
30− show = showErrorImpl
31−
32−foreign import showErrorImpl :: Error -> String
33−
34−-- | Create a JavaScript error, specifying a message
35−foreign import error :: String -> Error
36−
37−-- | Create a JavaScript error, specifying a message and a cause
38−foreign import errorWithCause :: String -> Error -> Error
39−
40−-- | Create a JavaScript error, specifying a message and a name
41−foreign import errorWithName :: String -> String -> Error
42−
43−-- | Get the error message from a JavaScript error
44−foreign import message :: Error -> String
45−
46−-- | Get the error name when defined, or fallback to 'Error'
47−foreign import name :: Error -> String
48−
49−-- | Get the stack trace from a JavaScript error
50−stack :: Error -> Maybe String
51−stack = stackImpl Just Nothing
52−
53−foreign import stackImpl
54− :: (forall a. a -> Maybe a)
55− -> (forall a. Maybe a)
56− -> Error
57− -> Maybe String
58−
59−-- | Throw an exception
60−-- |
61−-- | For example:
62−-- |
63−-- | ```purescript
64−-- | main = do
65−-- | x <- readNumber
66−-- | when (x < 0) $ throwException $
67−-- | error "Expected a non-negative number"
68−-- | ```
69−foreign import throwException
70− :: forall a
71− . Error
72− -> Effect a
73−
74−-- | Catch an exception by providing an exception handler.
75−-- |
76−-- | For example:
77−-- |
78−-- | ```purescript
79−-- | main = catchException Console.logShow do
80−-- | Console.log "Exceptions thrown in this block will be logged to the console"
81−-- | ```
82−foreign import catchException
83− :: forall a
84− . (Error -> Effect a)
85− -> Effect a
86− -> Effect a
87−
88−-- | A shortcut allowing you to throw an error in one step. Defined as
89−-- | `throwException <<< error`.
90−throw :: forall a. String -> Effect a
91−throw = throwException <<< error
92−
93−-- | Runs an Eff and returns eventual Exceptions as a `Left` value. If the
94−-- | computation succeeds the result gets wrapped in a `Right`.
95−-- |
96−-- | For example:
97−-- |
98−-- | ```purescript
99−-- | main :: Effect Unit
100−-- | main = do
101−-- | result <- try (readTextFile UTF8 "README.md")
102−-- | case result of
103−-- | Right lines ->
104−-- | Console.log ("README: \n" <> lines )
105−-- | Left error ->
106−-- | Console.error ("Couldn't open README.md. Error was: " <> show error)
107−-- | ```
108−
109−try :: forall a. Effect a -> Effect (Either Error a)
110−try action = catchException (pure <<< Left) (Right <$> action)
.spago/p/exceptions-6.1.0/src/Effect/Exception/Unsafe.pursdeleted−14
@@ -1,14 +0,0 @@
1−module Effect.Exception.Unsafe where
2−
3−import Effect.Exception (Error, error, throwException)
4−import Effect.Unsafe (unsafePerformEffect)
5−import Control.Semigroupoid ((<<<))
6−
7−-- | Throw an exception in pure code. This function should be used very
8−-- | sparingly, as it can cause unexpected crashes at runtime.
9−unsafeThrowException :: forall a. Error -> a
10−unsafeThrowException = unsafePerformEffect <<< throwException
11−
12−-- | Defined as `unsafeThrowException <<< error`.
13−unsafeThrow :: forall a. String -> a
14−unsafeThrow = unsafeThrowException <<< error
.spago/p/exists-6.0.0/LICENSEdeleted−26
@@ -1,26 +0,0 @@
1−Copyright 2018 PureScript
2−
3−Redistribution and use in source and binary forms, with or without modification,
4−are permitted provided that the following conditions are met:
5−
6−1. Redistributions of source code must retain the above copyright notice, this
7−list of conditions and the following disclaimer.
8−
9−2. Redistributions in binary form must reproduce the above copyright notice,
10−this list of conditions and the following disclaimer in the documentation and/or
11−other materials provided with the distribution.
12−
13−3. Neither the name of the copyright holder nor the names of its contributors
14−may be used to endorse or promote products derived from this software without
15−specific prior written permission.
16−
17−THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18−ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19−WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20−DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
21−ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22−(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23−LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24−ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25−(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26−SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.spago/p/exists-6.0.0/README.mddeleted−37
@@ -1,37 +0,0 @@
1−# purescript-exists
2−
3−[![Latest release](http://img.shields.io/github/release/purescript/purescript-exists.svg)](https://github.com/purescript/purescript-exists/releases)
4−[![Build status](https://github.com/purescript/purescript-exists/workflows/CI/badge.svg?branch=master)](https://github.com/purescript/purescript-exists/actions?query=workflow%3ACI+branch%3Amaster)
5−[![Pursuit](https://pursuit.purescript.org/packages/purescript-exists/badge)](https://pursuit.purescript.org/packages/purescript-exists)
6−
7−The `Exists` type, for encoding existential types.
8−
9−## Installation
10−
11−```
12−spago install exists
13−```
14−
15−## Overview
16−
17−The type `Exists f` is isomorphic to the existential type `exists a. f a`.
18−
19−For example, consider the type `exists s. Tuple s (s -> Tuple s a)` which represents infinite streams of elements of type `a`.
20−
21−This type can be constructed by creating a type constructor `StreamF` as follows:
22−
23−```purescript
24−data StreamF a s = StreamF s (s -> Tuple s a)
25−```
26−
27−We can then define the type of streams using `Exists`:
28−
29−```purescript
30−type Stream a = Exists (StreamF a)
31−```
32−
33−The `mkExists` and `runExists` functions then enable packing and unpacking of `SteamF` into/out of `Stream`.
34−
35−## Documentation
36−
37−Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-exists).
.spago/p/exists-6.0.0/bower.jsondeleted−25
@@ -1,25 +0,0 @@
1−{
2− "name": "purescript-exists",
3− "homepage": "https://github.com/purescript/purescript-exists",
4− "description": "Existential types as a library",
5− "license": "BSD-3-Clause",
6− "repository": {
7− "type": "git",
8− "url": "https://github.com/purescript/purescript-exists.git"
9− },
10− "ignore": [
11− "**/.*",
12− "bower_components",
13− "node_modules",
14− "output",
15− "test",
16− "bower.json",
17− "package.json"
18− ],
19− "dependencies": {
20− "purescript-unsafe-coerce": "^6.0.0"
21− },
22− "devDependencies": {
23− "purescript-console": "^6.0.0"
24− }
25−}
.spago/p/exists-6.0.0/package.jsondeleted−13
@@ -1,13 +0,0 @@
1−{
2− "private": true,
3− "scripts": {
4− "clean": "rimraf output && rimraf .pulp-cache",
5− "build": "pulp build -- --censor-lib --strict",
6− "test": "pulp test"
7− },
8− "devDependencies": {
9− "pulp": "16.0.0-0",
10− "purescript-psa": "^0.8.2",
11− "rimraf": "^3.0.2"
12− }
13−}
.spago/p/exists-6.0.0/purs.jsondeleted−13
@@ -1,13 +0,0 @@
1−{
2− "name": "exists",
3− "version": "6.0.0",
4− "license": "BSD-3-Clause",
5− "location": {
6− "githubOwner": "purescript",
7− "githubRepo": "purescript-exists"
8− },
9− "description": "Existential types as a library",
10− "dependencies": {
11− "unsafe-coerce": ">=6.0.0 <7.0.0"
12− }
13−}
.spago/p/exists-6.0.0/src/Data/Exists.pursdeleted−57
@@ -1,57 +0,0 @@
1−module Data.Exists where
2−
3−import Unsafe.Coerce (unsafeCoerce)
4−
5−-- | This type constructor can be used to existentially quantify over a type.
6−-- |
7−-- | Specifically, the type `Exists f` is isomorphic to the existential type `exists a. f a`.
8−-- |
9−-- | Existential types can be encoded using universal types (`forall`) for endofunctors in more general
10−-- | categories. The benefit of this library is that, by using the FFI, we can create an efficient
11−-- | representation of the existential by simply hiding type information.
12−-- |
13−-- | For example, consider the type `exists s. Tuple s (s -> Tuple s a)` which represents infinite streams
14−-- | of elements of type `a`.
15−-- |
16−-- | This type can be constructed by creating a type constructor `StreamF` as follows:
17−-- |
18−-- | ```purescript
19−-- | data StreamF a s = StreamF s (s -> Tuple s a)
20−-- | ```
21−-- |
22−-- | We can then define the type of streams using `Exists`:
23−-- |
24−-- | ```purescript
25−-- | type Stream a = Exists (StreamF a)
26−-- | ```
27−foreign import data Exists :: forall k. (k -> Type) -> Type
28−
29−type role Exists representational
30−
31−-- | The `mkExists` function is used to introduce a value of type `Exists f`, by providing a value of
32−-- | type `f a`, for some type `a` which will be hidden in the existentially-quantified type.
33−-- |
34−-- | For example, to create a value of type `Stream Number`, we might use `mkExists` as follows:
35−-- |
36−-- | ```purescript
37−-- | nats :: Stream Number
38−-- | nats = mkExists $ StreamF 0 (\n -> Tuple (n + 1) n)
39−-- | ```
40−mkExists :: forall f a. f a -> Exists f
41−mkExists = unsafeCoerce
42−
43−-- | The `runExists` function is used to eliminate a value of type `Exists f`. The rank 2 type ensures
44−-- | that the existentially-quantified type does not escape its scope. Since the function is required
45−-- | to work for _any_ type `a`, it will work for the existentially-quantified type.
46−-- |
47−-- | For example, we can write a function to obtain the head of a stream by using `runExists` as follows:
48−-- |
49−-- | ```purescript
50−-- | head :: forall a. Stream a -> a
51−-- | head = runExists head'
52−-- | where
53−-- | head' :: forall s. StreamF a s -> a
54−-- | head' (StreamF s f) = snd (f s)
55−-- | ```
56−runExists :: forall f r. (forall a. f a -> r) -> Exists f -> r
57−runExists = unsafeCoerce
.spago/p/exitcodes-4.0.0/README.mddeleted−74
@@ -1,74 +0,0 @@
1−# purescript-exitcodes
2−
3−[![Latest release](http://img.shields.io/bower/v/purescript-exitcodes.svg)](https://github.com/Risto-Stevcev/purescript-exitcodes/releases)
4−[![Pursuit](http://pursuit.purescript.org/packages/purescript-exitcodes/badge)](https://pursuit.purescript.org/packages/purescript-exitcodes)
5−
6−## Usage
7−
8−This library is useful to aid in the readability of exit codes for APIs that use them. You can restrict your API to only use these codes, or if you are using an API that takes an `Int` for an exit code, you can make the code more explicit by deriving it via `fromEnum`:
9−
10−```purescript
11−> fromEnum Error
12−1
13−
14−> fromEnum SIGKILL
15−137
16−```
17−
18−
19−## References
20−
21−The exit codes follow the Bash and BSD standards. Here are some excerpts for reference (see the full text for complete details).
22−
23−### Advanced Bash Scripting Guide excerpt
24−
25−| Exit Code Number | Meaning | Example | Comments |
26−|------------------|------------------------------------------------------------|-------------------------|--------------------------------------------------------------------------------------------------------------|
27−| 1 | Catchall for general errors | let "var1 = 1/0" | Miscellaneous errors, such as "divide by zero" and other impermissible operations |
28−| 2 | Misuse of shell builtins (according to Bash documentation) | empty_function() {} | Missing keyword or command, or permission problem (and diff return code on a failed binary file comparison). |
29−| 126 | Command invoked cannot execute | /dev/null | Permission problem or command is not an executable |
30−| 127 | "command not found" | illegal_command | Possible problem with $PATH or a typo |
31−| 128 | Invalid argument to exit | exit 3.14159 | exit takes only integer args in the range 0 - 255 (see first footnote) |
32−| 128+n | Fatal error signal "n" | kill -9 $PPID of script | $? returns 137 (128 + 9) |
33−| 130 | Script terminated by Control-C | Ctl-C | Control-C is fatal error signal 2, (130 = 128 + 2, see above) |
34−| 255* | Exit status out of range | exit -1 | exit takes only integer args in the range 0 - 255 |
35−
36−### Signal manpage excerpt
37−
38−| Signal | Value | Action | Comment |
39−|----------|---------|--------|-------------------------------------------------------------------------|
40−|SIGHUP | 1 | Term | Hangup detected on controlling terminal or death of controlling process |
41−|SIGINT | 2 | Term | Interrupt from keyboard |
42−|SIGQUIT | 3 | Core | Quit from keyboard |
43−|SIGILL | 4 | Core | Illegal Instruction |
44−|SIGABRT | 6 | Core | Abort signal from abort(3) |
45−|SIGFPE | 8 | Core | Floating point exception |
46−|SIGKILL | 9 | Term | Kill signal |
47−|SIGSEGV | 11 | Core | Invalid memory reference |
48−|SIGPIPE | 13 | Term | Broken pipe: write to pipe with no readers |
49−|SIGALRM | 14 | Term | Timer signal from alarm(2) |
50−|SIGTERM | 15 | Term | Termination signal |
51−
52−### Sysexits.h excerpt
53−
54−```c
55−#define EX_OK 0 /* successful termination */
56−
57−#define EX__BASE 64 /* base value for error messages */
58−
59−#define EX_USAGE 64 /* command line usage error */
60−#define EX_DATAERR 65 /* data format error */
61−#define EX_NOINPUT 66 /* cannot open input */
62−#define EX_NOUSER 67 /* addressee unknown */
63−#define EX_NOHOST 68 /* host name unknown */
64−#define EX_UNAVAILABLE 69 /* service unavailable */
65−#define EX_SOFTWARE 70 /* internal software error */
66−#define EX_OSERR 71 /* system error (e.g., can't fork) */
67−#define EX_OSFILE 72 /* critical OS file missing */
68−#define EX_CANTCREAT 73 /* can't create (user) output file */
69−#define EX_IOERR 74 /* input/output error */
70−#define EX_TEMPFAIL 75 /* temp failure; user is invited to retry */
71−#define EX_PROTOCOL 76 /* remote error in protocol */
72−#define EX_NOPERM 77 /* permission denied */
73−#define EX_CONFIG 78 /* configuration error */
74−```
.spago/p/exitcodes-4.0.0/bower.jsondeleted−19
@@ -1,19 +0,0 @@
1−{
2− "name": "purescript-exitcodes",
3− "homepage": "https://github.com/Risto-Stevcev/purescript-exitcodes",
4− "description": "A purescript library for Bash and BSD compliant exit codes",
5− "license": "MIT",
6− "repository": {
7− "type": "git",
8− "url": "git://github.com/Risto-Stevcev/purescript-exitcodes.git"
9− },
10− "ignore": [
11− "**/.*",
12− "node_modules",
13− "bower_components",
14− "output"
15− ],
16− "dependencies": {
17− "purescript-enums": "^4.0.1"
18− }
19−}
.spago/p/exitcodes-4.0.0/purs.jsondeleted−13
@@ -1,13 +0,0 @@
1−{
2− "name": "exitcodes",
3− "version": "4.0.0",
4− "license": "MIT",
5− "description": "A purescript library for Bash and BSD compliant exit codes",
6− "location": {
7− "githubOwner": "Risto-Stevcev",
8− "githubRepo": "purescript-exitcodes"
9− },
10− "dependencies": {
11− "enums": ">=4.0.1 <7.0.0"
12− }
13−}
.spago/p/exitcodes-4.0.0/src/ExitCodes.pursdeleted−219
@@ -1,219 +0,0 @@
1−module ExitCodes (ExitCode(..)) where
2−
3−import Prelude
4−import Data.Enum (class BoundedEnum, class Enum, Cardinality(..))
5−import Data.Maybe (Maybe(..))
6−
7−-- | References:
8−-- | 1. Advanced Bash Scripting Guide, Appendix E
9−-- | 2. /usr/include/sysexits.h
10−-- | 3. man 7 signal
11−
12−data ExitCode
13− = Success
14− | Error
15− | MisuseOfShellBuiltins
16− | CLIUsageError
17− | DataFormatError
18− | CannotOpenInput
19− | AddresseeUnknown
20− | HostNameUnknown
21− | ServiceUnavailable
22− | InternalSoftwareError
23− | SystemError
24− | CriticalOSFileMissing
25− | CannotCreateOutputFile
26− | IOError
27− | TemporaryFailure
28− | RemoteError
29− | PermissionDenied
30− | ConfigurationError
31− | CannotExecute
32− | CommandNotFound
33− | InvalidExitArgument
34− | SIGHUP
35− | SIGINT
36− | SIGQUIT
37− | SIGILL
38− | SIGABRT
39− | SIGFPE
40− | SIGKILL
41− | SIGSEGV
42− | SIGPIPE
43− | SIGALRM
44− | SIGTERM
45−
46−derive instance eqExitCode :: Eq ExitCode
47−derive instance ordExitCode :: Ord ExitCode
48−instance showExitCode :: Show ExitCode where
49− show = case _ of
50− Success -> "Success"
51− Error -> "Error"
52− MisuseOfShellBuiltins -> "MisuseOfShellBuiltins"
53− CLIUsageError -> "CLIUsageError"
54− DataFormatError -> "DataFormatError"
55− CannotOpenInput -> "CannotOpenInput"
56− AddresseeUnknown -> "AddresseeUnknown"
57− HostNameUnknown -> "HostNameUnknown"
58− ServiceUnavailable -> "ServiceUnavailable"
59− InternalSoftwareError -> "InternalSoftwareError"
60− SystemError -> "SystemError"
61− CriticalOSFileMissing -> "CriticalOSFileMissing"
62− CannotCreateOutputFile -> "CannotCreateOutputFile"
63− IOError -> "IOError"
64− TemporaryFailure -> "TemporaryFailure"
65− RemoteError -> "RemoteError"
66− PermissionDenied -> "PermissionDenied"
67− ConfigurationError -> "ConfigurationError"
68− CannotExecute -> "CannotExecute"
69− CommandNotFound -> "CommandNotFound"
70− InvalidExitArgument -> "InvalidExitArgument"
71− SIGHUP -> "SIGHUP"
72− SIGINT -> "SIGINT"
73− SIGQUIT -> "SIGQUIT"
74− SIGILL -> "SIGILL"
75− SIGABRT -> "SIGABRT"
76− SIGFPE -> "SIGFPE"
77− SIGKILL -> "SIGKILL"
78− SIGSEGV -> "SIGSEGV"
79− SIGPIPE -> "SIGPIPE"
80− SIGALRM -> "SIGALRM"
81− SIGTERM -> "SIGTERM"
82−
83−instance boundedExitCode :: Bounded ExitCode where
84− bottom = Success
85− top = SIGTERM
86−
87−instance enumExitCode :: Enum ExitCode where
88− succ Success = Just Error
89− succ Error = Just MisuseOfShellBuiltins
90− succ MisuseOfShellBuiltins = Just CLIUsageError
91− succ CLIUsageError = Just DataFormatError
92− succ DataFormatError = Just CannotOpenInput
93− succ CannotOpenInput = Just AddresseeUnknown
94− succ AddresseeUnknown = Just HostNameUnknown
95− succ HostNameUnknown = Just ServiceUnavailable
96− succ ServiceUnavailable = Just InternalSoftwareError
97− succ InternalSoftwareError = Just SystemError
98− succ SystemError = Just CriticalOSFileMissing
99− succ CriticalOSFileMissing = Just CannotCreateOutputFile
100− succ CannotCreateOutputFile = Just IOError
101− succ IOError = Just TemporaryFailure
102− succ TemporaryFailure = Just RemoteError
103− succ RemoteError = Just PermissionDenied
104− succ PermissionDenied = Just ConfigurationError
105− succ ConfigurationError = Just CannotExecute
106− succ CannotExecute = Just CommandNotFound
107− succ CommandNotFound = Just InvalidExitArgument
108− succ InvalidExitArgument = Just SIGHUP
109− succ SIGHUP = Just SIGINT
110− succ SIGINT = Just SIGQUIT
111− succ SIGQUIT = Just SIGILL
112− succ SIGILL = Just SIGABRT
113− succ SIGABRT = Just SIGFPE
114− succ SIGFPE = Just SIGKILL
115− succ SIGKILL = Just SIGSEGV
116− succ SIGSEGV = Just SIGPIPE
117− succ SIGPIPE = Just SIGALRM
118− succ SIGALRM = Just SIGTERM
119− succ SIGTERM = Nothing
120− pred Success = Nothing
121− pred Error = Just Success
122− pred MisuseOfShellBuiltins = Just Error
123− pred CLIUsageError = Just MisuseOfShellBuiltins
124− pred DataFormatError = Just CLIUsageError
125− pred CannotOpenInput = Just DataFormatError
126− pred AddresseeUnknown = Just CannotOpenInput
127− pred HostNameUnknown = Just AddresseeUnknown
128− pred ServiceUnavailable = Just HostNameUnknown
129− pred InternalSoftwareError = Just ServiceUnavailable
130− pred SystemError = Just InternalSoftwareError
131− pred CriticalOSFileMissing = Just SystemError
132− pred CannotCreateOutputFile = Just CriticalOSFileMissing
133− pred IOError = Just CannotCreateOutputFile
134− pred TemporaryFailure = Just IOError
135− pred RemoteError = Just TemporaryFailure
136− pred PermissionDenied = Just RemoteError
137− pred ConfigurationError = Just PermissionDenied
138− pred CannotExecute = Just ConfigurationError
139− pred CommandNotFound = Just CannotExecute
140− pred InvalidExitArgument = Just CommandNotFound
141− pred SIGHUP = Just InvalidExitArgument
142− pred SIGINT = Just SIGHUP
143− pred SIGQUIT = Just SIGINT
144− pred SIGILL = Just SIGQUIT
145− pred SIGABRT = Just SIGILL
146− pred SIGFPE = Just SIGABRT
147− pred SIGKILL = Just SIGFPE
148− pred SIGSEGV = Just SIGKILL
149− pred SIGPIPE = Just SIGSEGV
150− pred SIGALRM = Just SIGPIPE
151− pred SIGTERM = Just SIGALRM
152−
153−instance boundedEnumExitCode :: BoundedEnum ExitCode where
154− cardinality = Cardinality 32
155− toEnum 0 = Just Success
156− toEnum 1 = Just Error
157− toEnum 2 = Just MisuseOfShellBuiltins
158− toEnum 64 = Just CLIUsageError
159− toEnum 65 = Just DataFormatError
160− toEnum 66 = Just CannotOpenInput
161− toEnum 67 = Just AddresseeUnknown
162− toEnum 68 = Just HostNameUnknown
163− toEnum 69 = Just ServiceUnavailable
164− toEnum 70 = Just InternalSoftwareError
165− toEnum 71 = Just SystemError
166− toEnum 72 = Just CriticalOSFileMissing
167− toEnum 73 = Just CannotCreateOutputFile
168− toEnum 74 = Just IOError
169− toEnum 75 = Just TemporaryFailure
170− toEnum 76 = Just RemoteError
171− toEnum 77 = Just PermissionDenied
172− toEnum 78 = Just ConfigurationError
173− toEnum 126 = Just CannotExecute
174− toEnum 127 = Just CommandNotFound
175− toEnum 128 = Just InvalidExitArgument
176− toEnum 129 = Just SIGHUP
177− toEnum 130 = Just SIGINT
178− toEnum 131 = Just SIGQUIT
179− toEnum 132 = Just SIGILL
180− toEnum 134 = Just SIGABRT
181− toEnum 136 = Just SIGFPE
182− toEnum 137 = Just SIGKILL
183− toEnum 139 = Just SIGSEGV
184− toEnum 141 = Just SIGPIPE
185− toEnum 142 = Just SIGALRM
186− toEnum 143 = Just SIGTERM
187− toEnum _ = Nothing
188− fromEnum Success = 0
189− fromEnum Error = 1
190− fromEnum MisuseOfShellBuiltins = 2
191− fromEnum CLIUsageError = 64
192− fromEnum DataFormatError = 65
193− fromEnum CannotOpenInput = 66
194− fromEnum AddresseeUnknown = 67
195− fromEnum HostNameUnknown = 68
196− fromEnum ServiceUnavailable = 69
197− fromEnum InternalSoftwareError = 70
198− fromEnum SystemError = 71
199− fromEnum CriticalOSFileMissing = 72
200− fromEnum CannotCreateOutputFile = 73
201− fromEnum IOError = 74
202− fromEnum TemporaryFailure = 75
203− fromEnum RemoteError = 76
204− fromEnum PermissionDenied = 77
205− fromEnum ConfigurationError = 78
206− fromEnum CannotExecute = 126
207− fromEnum CommandNotFound = 127
208− fromEnum InvalidExitArgument = 128
209− fromEnum SIGHUP = 128 + 1
210− fromEnum SIGINT = 128 + 2
211− fromEnum SIGQUIT = 128 + 3
212− fromEnum SIGILL = 128 + 4
213− fromEnum SIGABRT = 128 + 6
214− fromEnum SIGFPE = 128 + 8
215− fromEnum SIGKILL = 128 + 9
216− fromEnum SIGSEGV = 128 + 11
217− fromEnum SIGPIPE = 128 + 13
218− fromEnum SIGALRM = 128 + 14
219− fromEnum SIGTERM = 128 + 15
.spago/p/foldable-traversable-6.0.0/LICENSEdeleted−26
@@ -1,26 +0,0 @@
1−Copyright 2018 PureScript
2−
3−Redistribution and use in source and binary forms, with or without modification,
4−are permitted provided that the following conditions are met:
5−
6−1. Redistributions of source code must retain the above copyright notice, this
7−list of conditions and the following disclaimer.
8−
9−2. Redistributions in binary form must reproduce the above copyright notice,
10−this list of conditions and the following disclaimer in the documentation and/or
11−other materials provided with the distribution.
12−
13−3. Neither the name of the copyright holder nor the names of its contributors
14−may be used to endorse or promote products derived from this software without
15−specific prior written permission.
16−
17−THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18−ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19−WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20−DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
21−ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22−(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23−LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24−ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25−(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26−SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.spago/p/foldable-traversable-6.0.0/README.mddeleted−17
@@ -1,17 +0,0 @@
1−# purescript-foldable-traversable
2−
3−[![Latest release](http://img.shields.io/github/release/purescript/purescript-foldable-traversable.svg)](https://github.com/purescript/purescript-foldable-traversable/releases)
4−[![Build status](https://github.com/purescript/purescript-foldable-traversable/workflows/CI/badge.svg?branch=master)](https://github.com/purescript/purescript-foldable-traversable/actions?query=workflow%3ACI+branch%3Amaster)
5−[![Pursuit](https://pursuit.purescript.org/packages/purescript-foldable-traversable/badge)](https://pursuit.purescript.org/packages/purescript-foldable-traversable)
6−
7−Classes for foldable and traversable data structures.
8−
9−## Installation
10−
11−```
12−spago install foldable-traversable
13−```
14−
15−## Documentation
16−
17−Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-foldable-traversable).
.spago/p/foldable-traversable-6.0.0/bower.jsondeleted−38
@@ -1,38 +0,0 @@
1−{
2− "name": "purescript-foldable-traversable",
3− "homepage": "https://github.com/purescript/purescript-foldable-traversable",
4− "description": "Classes for foldable and traversable data structures",
5− "license": "BSD-3-Clause",
6− "repository": {
7− "type": "git",
8− "url": "https://github.com/purescript/purescript-foldable-traversable.git"
9− },
10− "ignore": [
11− "**/.*",
12− "bower_components",
13− "node_modules",
14− "output",
15− "test",
16− "bower.json",
17− "package.json"
18− ],
19− "dependencies": {
20− "purescript-bifunctors": "^6.0.0",
21− "purescript-const": "^6.0.0",
22− "purescript-control": "^6.0.0",
23− "purescript-either": "^6.0.0",
24− "purescript-functors": "^5.0.0",
25− "purescript-identity": "^6.0.0",
26− "purescript-maybe": "^6.0.0",
27− "purescript-newtype": "^5.0.0",
28− "purescript-orders": "^6.0.0",
29− "purescript-prelude": "^6.0.0",
30− "purescript-tuples": "^7.0.0"
31− },
32− "devDependencies": {
33− "purescript-assert": "^6.0.0",
34− "purescript-console": "^6.0.0",
35− "purescript-integers": "^6.0.0",
36− "purescript-unsafe-coerce": "^6.0.0"
37− }
38−}
.spago/p/foldable-traversable-6.0.0/package.jsondeleted−14
@@ -1,14 +0,0 @@
1−{
2− "private": true,
3− "scripts": {
4− "clean": "rimraf output && rimraf .pulp-cache",
5− "build": "eslint src && pulp build -- --censor-lib --strict",
6− "test": "pulp test"
7− },
8− "devDependencies": {
9− "eslint": "^7.15.0",
10− "pulp": "16.0.0-0",
11− "purescript-psa": "^0.8.2",
12− "rimraf": "^3.0.2"
13− }
14−}
.spago/p/foldable-traversable-6.0.0/purs.jsondeleted−23
@@ -1,23 +0,0 @@
1−{
2− "name": "foldable-traversable",
3− "version": "6.0.0",
4− "license": "BSD-3-Clause",
5− "description": "Classes for foldable and traversable data structures",
6− "location": {
7− "githubOwner": "purescript",
8− "githubRepo": "purescript-foldable-traversable"
9− },
10− "dependencies": {
11− "bifunctors": ">=6.0.0 <7.0.0",
12− "const": ">=6.0.0 <7.0.0",
13− "control": ">=6.0.0 <7.0.0",
14− "either": ">=6.0.0 <7.0.0",
15− "functors": ">=5.0.0 <6.0.0",
16− "identity": ">=6.0.0 <7.0.0",
17− "maybe": ">=6.0.0 <7.0.0",
18− "newtype": ">=5.0.0 <6.0.0",
19− "orders": ">=6.0.0 <7.0.0",
20− "prelude": ">=6.0.0 <7.0.0",
21− "tuples": ">=7.0.0 <8.0.0"
22− }
23−}
.spago/p/foldable-traversable-6.0.0/src/Data/Bifoldable.pursdeleted−198
@@ -1,198 +0,0 @@
1−module Data.Bifoldable where
2−
3−import Prelude
4−
5−import Control.Apply (applySecond)
6−import Data.Const (Const(..))
7−import Data.Either (Either(..))
8−import Data.Foldable (class Foldable, foldr, foldl, foldMap)
9−import Data.Functor.Clown (Clown(..))
10−import Data.Functor.Flip (Flip(..))
11−import Data.Functor.Joker (Joker(..))
12−import Data.Functor.Product2 (Product2(..))
13−import Data.Monoid.Conj (Conj(..))
14−import Data.Monoid.Disj (Disj(..))
15−import Data.Monoid.Dual (Dual(..))
16−import Data.Monoid.Endo (Endo(..))
17−import Data.Newtype (unwrap)
18−import Data.Tuple (Tuple(..))
19−
20−-- | `Bifoldable` represents data structures with two type arguments which can be
21−-- | folded.
22−-- |
23−-- | A fold for such a structure requires two step functions, one for each type
24−-- | argument. Type class instances should choose the appropriate step function based
25−-- | on the type of the element encountered at each point of the fold.
26−-- |
27−-- | Default implementations are provided by the following functions:
28−-- |
29−-- | - `bifoldrDefault`
30−-- | - `bifoldlDefault`
31−-- | - `bifoldMapDefaultR`
32−-- | - `bifoldMapDefaultL`
33−-- |
34−-- | Note: some combinations of the default implementations are unsafe to
35−-- | use together - causing a non-terminating mutually recursive cycle.
36−-- | These combinations are documented per function.
37−class Bifoldable p where
38− bifoldr :: forall a b c. (a -> c -> c) -> (b -> c -> c) -> c -> p a b -> c
39− bifoldl :: forall a b c. (c -> a -> c) -> (c -> b -> c) -> c -> p a b -> c
40− bifoldMap :: forall m a b. Monoid m => (a -> m) -> (b -> m) -> p a b -> m
41−
42−instance bifoldableClown :: Foldable f => Bifoldable (Clown f) where
43− bifoldr l _ u (Clown f) = foldr l u f
44− bifoldl l _ u (Clown f) = foldl l u f
45− bifoldMap l _ (Clown f) = foldMap l f
46−
47−instance bifoldableJoker :: Foldable f => Bifoldable (Joker f) where
48− bifoldr _ r u (Joker f) = foldr r u f
49− bifoldl _ r u (Joker f) = foldl r u f
50− bifoldMap _ r (Joker f) = foldMap r f
51−
52−instance bifoldableFlip :: Bifoldable p => Bifoldable (Flip p) where
53− bifoldr r l u (Flip p) = bifoldr l r u p
54− bifoldl r l u (Flip p) = bifoldl l r u p
55− bifoldMap r l (Flip p) = bifoldMap l r p
56−
57−instance bifoldableProduct2 :: (Bifoldable f, Bifoldable g) => Bifoldable (Product2 f g) where
58− bifoldr l r u m = bifoldrDefault l r u m
59− bifoldl l r u m = bifoldlDefault l r u m
60− bifoldMap l r (Product2 f g) = bifoldMap l r f <> bifoldMap l r g
61−
62−instance bifoldableEither :: Bifoldable Either where
63− bifoldr f _ z (Left a) = f a z
64− bifoldr _ g z (Right b) = g b z
65− bifoldl f _ z (Left a) = f z a
66− bifoldl _ g z (Right b) = g z b
67− bifoldMap f _ (Left a) = f a
68− bifoldMap _ g (Right b) = g b
69−
70−instance bifoldableTuple :: Bifoldable Tuple where
71− bifoldMap f g (Tuple a b) = f a <> g b
72− bifoldr f g z (Tuple a b) = f a (g b z)
73− bifoldl f g z (Tuple a b) = g (f z a) b
74−
75−instance bifoldableConst :: Bifoldable Const where
76− bifoldr f _ z (Const a) = f a z
77− bifoldl f _ z (Const a) = f z a
78− bifoldMap f _ (Const a) = f a
79−
80−-- | A default implementation of `bifoldr` using `bifoldMap`.
81−-- |
82−-- | Note: when defining a `Bifoldable` instance, this function is unsafe to
83−-- | use in combination with `bifoldMapDefaultR`.
84−bifoldrDefault
85− :: forall p a b c
86− . Bifoldable p
87− => (a -> c -> c)
88− -> (b -> c -> c)
89− -> c
90− -> p a b
91− -> c
92−bifoldrDefault f g z p = unwrap (bifoldMap (Endo <<< f) (Endo <<< g) p) z
93−
94−-- | A default implementation of `bifoldl` using `bifoldMap`.
95−-- |
96−-- | Note: when defining a `Bifoldable` instance, this function is unsafe to
97−-- | use in combination with `bifoldMapDefaultL`.
98−bifoldlDefault
99− :: forall p a b c
100− . Bifoldable p
101− => (c -> a -> c)
102− -> (c -> b -> c)
103− -> c
104− -> p a b
105− -> c
106−bifoldlDefault f g z p =
107− unwrap
108− (unwrap
109− (bifoldMap (Dual <<< Endo <<< flip f) (Dual <<< Endo <<< flip g) p))
110− z
111−
112−-- | A default implementation of `bifoldMap` using `bifoldr`.
113−-- |
114−-- | Note: when defining a `Bifoldable` instance, this function is unsafe to
115−-- | use in combination with `bifoldrDefault`.
116−bifoldMapDefaultR
117− :: forall p m a b
118− . Bifoldable p
119− => Monoid m
120− => (a -> m)
121− -> (b -> m)
122− -> p a b
123− -> m
124−bifoldMapDefaultR f g = bifoldr (append <<< f) (append <<< g) mempty
125−
126−-- | A default implementation of `bifoldMap` using `bifoldl`.
127−-- |
128−-- | Note: when defining a `Bifoldable` instance, this function is unsafe to
129−-- | use in combination with `bifoldlDefault`.
130−bifoldMapDefaultL
131− :: forall p m a b
132− . Bifoldable p
133− => Monoid m
134− => (a -> m)
135− -> (b -> m)
136− -> p a b
137− -> m
138−bifoldMapDefaultL f g = bifoldl (\m a -> m <> f a) (\m b -> m <> g b) mempty
139−
140−
141−-- | Fold a data structure, accumulating values in a monoidal type.
142−bifold :: forall t m. Bifoldable t => Monoid m => t m m -> m
143−bifold = bifoldMap identity identity
144−
145−-- | Traverse a data structure, accumulating effects using an `Applicative` functor,
146−-- | ignoring the final result.
147−bitraverse_
148− :: forall t f a b c d
149− . Bifoldable t
150− => Applicative f
151− => (a -> f c)
152− -> (b -> f d)
153− -> t a b
154− -> f Unit
155−bitraverse_ f g = bifoldr (applySecond <<< f) (applySecond <<< g) (pure unit)
156−
157−-- | A version of `bitraverse_` with the data structure as the first argument.
158−bifor_
159− :: forall t f a b c d
160− . Bifoldable t
161− => Applicative f
162− => t a b
163− -> (a -> f c)
164− -> (b -> f d)
165− -> f Unit
166−bifor_ t f g = bitraverse_ f g t
167−
168−-- | Collapse a data structure, collecting effects using an `Applicative` functor,
169−-- | ignoring the final result.
170−bisequence_
171− :: forall t f a b
172− . Bifoldable t
173− => Applicative f
174− => t (f a) (f b)
175− -> f Unit
176−bisequence_ = bitraverse_ identity identity
177−
178−-- | Test whether a predicate holds at any position in a data structure.
179−biany
180− :: forall t a b c
181− . Bifoldable t
182− => BooleanAlgebra c
183− => (a -> c)
184− -> (b -> c)
185− -> t a b
186− -> c
187−biany p q = unwrap <<< bifoldMap (Disj <<< p) (Disj <<< q)
188−
189−-- | Test whether a predicate holds at all positions in a data structure.
190−biall
191− :: forall t a b c
192− . Bifoldable t
193− => BooleanAlgebra c
194− => (a -> c)
195− -> (b -> c)
196− -> t a b
197− -> c
198−biall p q = unwrap <<< bifoldMap (Conj <<< p) (Conj <<< q)
.spago/p/foldable-traversable-6.0.0/src/Data/Bitraversable.pursdeleted−136
@@ -1,136 +0,0 @@
1−module Data.Bitraversable
2− ( class Bitraversable, bitraverse, bisequence
3− , bitraverseDefault
4− , bisequenceDefault
5− , ltraverse
6− , rtraverse
7− , bifor
8− , lfor
9− , rfor
10− , module Data.Bifoldable
11− ) where
12−
13−import Prelude
14−
15−import Data.Bifoldable (class Bifoldable, biall, biany, bifold, bifoldMap, bifoldMapDefaultL, bifoldMapDefaultR, bifoldl, bifoldlDefault, bifoldr, bifoldrDefault, bifor_, bisequence_, bitraverse_)
16−import Data.Traversable (class Traversable, traverse, sequence)
17−import Data.Bifunctor (class Bifunctor, bimap)
18−import Data.Const (Const(..))
19−import Data.Either (Either(..))
20−import Data.Functor.Clown (Clown(..))
21−import Data.Functor.Flip (Flip(..))
22−import Data.Functor.Joker (Joker(..))
23−import Data.Functor.Product2 (Product2(..))
24−import Data.Tuple (Tuple(..))
25−
26−-- | `Bitraversable` represents data structures with two type arguments which can be
27−-- | traversed.
28−-- |
29−-- | A traversal for such a structure requires two functions, one for each type
30−-- | argument. Type class instances should choose the appropriate function based
31−-- | on the type of the element encountered at each point of the traversal.
32−-- |
33−-- | Default implementations are provided by the following functions:
34−-- |
35−-- | - `bitraverseDefault`
36−-- | - `bisequenceDefault`
37−class (Bifunctor t, Bifoldable t) <= Bitraversable t where
38− bitraverse :: forall f a b c d. Applicative f => (a -> f c) -> (b -> f d) -> t a b -> f (t c d)
39− bisequence :: forall f a b. Applicative f => t (f a) (f b) -> f (t a b)
40−
41−instance bitraversableClown :: Traversable f => Bitraversable (Clown f) where
42− bitraverse l _ (Clown f) = Clown <$> traverse l f
43− bisequence (Clown f) = Clown <$> sequence f
44−
45−instance bitraversableJoker :: Traversable f => Bitraversable (Joker f) where
46− bitraverse _ r (Joker f) = Joker <$> traverse r f
47− bisequence (Joker f) = Joker <$> sequence f
48−
49−instance bitraversableFlip :: Bitraversable p => Bitraversable (Flip p) where
50− bitraverse r l (Flip p) = Flip <$> bitraverse l r p
51− bisequence (Flip p) = Flip <$> bisequence p
52−
53−instance bitraversableProduct2 :: (Bitraversable f, Bitraversable g) => Bitraversable (Product2 f g) where
54− bitraverse l r (Product2 f g) = Product2 <$> bitraverse l r f <*> bitraverse l r g
55− bisequence (Product2 f g) = Product2 <$> bisequence f <*> bisequence g
56−
57−instance bitraversableEither :: Bitraversable Either where
58− bitraverse f _ (Left a) = Left <$> f a
59− bitraverse _ g (Right b) = Right <$> g b
60− bisequence (Left a) = Left <$> a
61− bisequence (Right b) = Right <$> b
62−
63−instance bitraversableTuple :: Bitraversable Tuple where
64− bitraverse f g (Tuple a b) = Tuple <$> f a <*> g b
65− bisequence (Tuple a b) = Tuple <$> a <*> b
66−
67−instance bitraversableConst :: Bitraversable Const where
68− bitraverse f _ (Const a) = Const <$> f a
69− bisequence (Const a) = Const <$> a
70−
71−ltraverse
72− :: forall t b c a f
73− . Bitraversable t
74− => Applicative f
75− => (a -> f c)
76− -> t a b
77− -> f (t c b)
78−ltraverse f = bitraverse f pure
79−
80−rtraverse
81− :: forall t b c a f
82− . Bitraversable t
83− => Applicative f
84− => (b -> f c)
85− -> t a b
86− -> f (t a c)
87−rtraverse = bitraverse pure
88−
89−-- | A default implementation of `bitraverse` using `bisequence` and `bimap`.
90−bitraverseDefault
91− :: forall t f a b c d
92− . Bitraversable t
93− => Applicative f
94− => (a -> f c)
95− -> (b -> f d)
96− -> t a b
97− -> f (t c d)
98−bitraverseDefault f g t = bisequence (bimap f g t)
99−
100−-- | A default implementation of `bisequence` using `bitraverse`.
101−bisequenceDefault
102− :: forall t f a b
103− . Bitraversable t
104− => Applicative f
105− => t (f a) (f b)
106− -> f (t a b)
107−bisequenceDefault = bitraverse identity identity
108−
109−-- | Traverse a data structure, accumulating effects and results using an `Applicative` functor.
110−bifor
111− :: forall t f a b c d
112− . Bitraversable t
113− => Applicative f
114− => t a b
115− -> (a -> f c)
116− -> (b -> f d)
117− -> f (t c d)
118−bifor t f g = bitraverse f g t
119−
120−lfor
121− :: forall t b c a f
122− . Bitraversable t
123− => Applicative f
124− => t a b
125− -> (a -> f c)
126− -> f (t c b)
127−lfor t f = bitraverse f pure t
128−
129−rfor
130− :: forall t b c a f
131− . Bitraversable t
132− => Applicative f
133− => t a b
134− -> (b -> f c)
135− -> f (t a c)
136−rfor t f = bitraverse pure f t
.spago/p/foldable-traversable-6.0.0/src/Data/Foldable.jsdeleted−25
@@ -1,25 +0,0 @@
1−export const foldrArray = function (f) {
2− return function (init) {
3− return function (xs) {
4− var acc = init;
5− var len = xs.length;
6− for (var i = len - 1; i >= 0; i--) {
7− acc = f(xs[i])(acc);
8− }
9− return acc;
10− };
11− };
12−};
13−
14−export const foldlArray = function (f) {
15− return function (init) {
16− return function (xs) {
17− var acc = init;
18− var len = xs.length;
19− for (var i = 0; i < len; i++) {
20− acc = f(acc)(xs[i]);
21− }
22− return acc;
23− };
24− };
25−};
.spago/p/foldable-traversable-6.0.0/src/Data/Foldable.pursdeleted−471
@@ -1,471 +0,0 @@
1−module Data.Foldable
2− ( class Foldable, foldr, foldl, foldMap
3− , foldrDefault, foldlDefault, foldMapDefaultL, foldMapDefaultR
4− , fold
5− , foldM
6− , traverse_
7− , for_
8− , sequence_
9− , oneOf
10− , oneOfMap
11− , intercalate
12− , surroundMap
13− , surround
14− , and
15− , or
16− , all
17− , any
18− , sum
19− , product
20− , elem
21− , notElem
22− , indexl
23− , indexr
24− , find
25− , findMap
26− , maximum
27− , maximumBy
28− , minimum
29− , minimumBy
30− , null
31− , length
32− , lookup
33− ) where
34−
35−import Prelude
36−
37−import Control.Plus (class Plus, alt, empty)
38−import Data.Const (Const)
39−import Data.Either (Either(..))
40−import Data.Functor.App (App(..))
41−import Data.Functor.Compose (Compose(..))
42−import Data.Functor.Coproduct (Coproduct, coproduct)
43−import Data.Functor.Product (Product(..))
44−import Data.Identity (Identity(..))
45−import Data.Maybe (Maybe(..))
46−import Data.Maybe.First (First(..))
47−import Data.Maybe.Last (Last(..))
48−import Data.Monoid.Additive (Additive(..))
49−import Data.Monoid.Conj (Conj(..))
50−import Data.Monoid.Disj (Disj(..))
51−import Data.Monoid.Dual (Dual(..))
52−import Data.Monoid.Endo (Endo(..))
53−import Data.Monoid.Multiplicative (Multiplicative(..))
54−import Data.Newtype (alaF, unwrap)
55−import Data.Tuple (Tuple(..))
56−
57−-- | `Foldable` represents data structures which can be _folded_.
58−-- |
59−-- | - `foldr` folds a structure from the right
60−-- | - `foldl` folds a structure from the left
61−-- | - `foldMap` folds a structure by accumulating values in a `Monoid`
62−-- |
63−-- | Default implementations are provided by the following functions:
64−-- |
65−-- | - `foldrDefault`
66−-- | - `foldlDefault`
67−-- | - `foldMapDefaultR`
68−-- | - `foldMapDefaultL`
69−-- |
70−-- | Note: some combinations of the default implementations are unsafe to
71−-- | use together - causing a non-terminating mutually recursive cycle.
72−-- | These combinations are documented per function.
73−class Foldable f where
74− foldr :: forall a b. (a -> b -> b) -> b -> f a -> b
75− foldl :: forall a b. (b -> a -> b) -> b -> f a -> b
76− foldMap :: forall a m. Monoid m => (a -> m) -> f a -> m
77−
78−-- | A default implementation of `foldr` using `foldMap`.
79−-- |
80−-- | Note: when defining a `Foldable` instance, this function is unsafe to use
81−-- | in combination with `foldMapDefaultR`.
82−foldrDefault
83− :: forall f a b
84− . Foldable f
85− => (a -> b -> b)
86− -> b
87− -> f a
88− -> b
89−foldrDefault c u xs = unwrap (foldMap (Endo <<< c) xs) u
90−
91−-- | A default implementation of `foldl` using `foldMap`.
92−-- |
93−-- | Note: when defining a `Foldable` instance, this function is unsafe to use
94−-- | in combination with `foldMapDefaultL`.
95−foldlDefault
96− :: forall f a b
97− . Foldable f
98− => (b -> a -> b)
99− -> b
100− -> f a
101− -> b
102−foldlDefault c u xs = unwrap (unwrap (foldMap (Dual <<< Endo <<< flip c) xs)) u
103−
104−-- | A default implementation of `foldMap` using `foldr`.
105−-- |
106−-- | Note: when defining a `Foldable` instance, this function is unsafe to use
107−-- | in combination with `foldrDefault`.
108−foldMapDefaultR
109− :: forall f a m
110− . Foldable f
111− => Monoid m
112− => (a -> m)
113− -> f a
114− -> m
115−foldMapDefaultR f = foldr (\x acc -> f x <> acc) mempty
116−
117−-- | A default implementation of `foldMap` using `foldl`.
118−-- |
119−-- | Note: when defining a `Foldable` instance, this function is unsafe to use
120−-- | in combination with `foldlDefault`.
121−foldMapDefaultL
122− :: forall f a m
123− . Foldable f
124− => Monoid m
125− => (a -> m)
126− -> f a
127− -> m
128−foldMapDefaultL f = foldl (\acc x -> acc <> f x) mempty
129−
130−instance foldableArray :: Foldable Array where
131− foldr = foldrArray
132− foldl = foldlArray
133− foldMap = foldMapDefaultR
134−
135−foreign import foldrArray :: forall a b. (a -> b -> b) -> b -> Array a -> b
136−foreign import foldlArray :: forall a b. (b -> a -> b) -> b -> Array a -> b
137−
138−instance foldableMaybe :: Foldable Maybe where
139− foldr _ z Nothing = z
140− foldr f z (Just x) = x `f` z
141− foldl _ z Nothing = z
142− foldl f z (Just x) = z `f` x
143− foldMap _ Nothing = mempty
144− foldMap f (Just x) = f x
145−
146−instance foldableFirst :: Foldable First where
147− foldr f z (First x) = foldr f z x
148− foldl f z (First x) = foldl f z x
149− foldMap f (First x) = foldMap f x
150−
151−instance foldableLast :: Foldable Last where
152− foldr f z (Last x) = foldr f z x
153− foldl f z (Last x) = foldl f z x
154− foldMap f (Last x) = foldMap f x
155−
156−instance foldableAdditive :: Foldable Additive where
157− foldr f z (Additive x) = x `f` z
158− foldl f z (Additive x) = z `f` x
159− foldMap f (Additive x) = f x
160−
161−instance foldableDual :: Foldable Dual where
162− foldr f z (Dual x) = x `f` z
163− foldl f z (Dual x) = z `f` x
164− foldMap f (Dual x) = f x
165−
166−instance foldableDisj :: Foldable Disj where
167− foldr f z (Disj x) = f x z
168− foldl f z (Disj x) = f z x
169− foldMap f (Disj x) = f x
170−
171−instance foldableConj :: Foldable Conj where
172− foldr f z (Conj x) = f x z
173− foldl f z (Conj x) = f z x
174− foldMap f (Conj x) = f x
175−
176−instance foldableMultiplicative :: Foldable Multiplicative where
177− foldr f z (Multiplicative x) = x `f` z
178− foldl f z (Multiplicative x) = z `f` x
179− foldMap f (Multiplicative x) = f x
180−
181−instance foldableEither :: Foldable (Either a) where
182− foldr _ z (Left _) = z
183− foldr f z (Right x) = f x z
184− foldl _ z (Left _) = z
185− foldl f z (Right x) = f z x
186− foldMap _ (Left _) = mempty
187− foldMap f (Right x) = f x
188−
189−instance foldableTuple :: Foldable (Tuple a) where
190− foldr f z (Tuple _ x) = f x z
191− foldl f z (Tuple _ x) = f z x
192− foldMap f (Tuple _ x) = f x
193−
194−instance foldableIdentity :: Foldable Identity where
195− foldr f z (Identity x) = f x z
196− foldl f z (Identity x) = f z x
197− foldMap f (Identity x) = f x
198−
199−instance foldableConst :: Foldable (Const a) where
200− foldr _ z _ = z
201− foldl _ z _ = z
202− foldMap _ _ = mempty
203−
204−instance foldableProduct :: (Foldable f, Foldable g) => Foldable (Product f g) where
205− foldr f z (Product (Tuple fa ga)) = foldr f (foldr f z ga) fa
206− foldl f z (Product (Tuple fa ga)) = foldl f (foldl f z fa) ga
207− foldMap f (Product (Tuple fa ga)) = foldMap f fa <> foldMap f ga
208−
209−instance foldableCoproduct :: (Foldable f, Foldable g) => Foldable (Coproduct f g) where
210− foldr f z = coproduct (foldr f z) (foldr f z)
211− foldl f z = coproduct (foldl f z) (foldl f z)
212− foldMap f = coproduct (foldMap f) (foldMap f)
213−
214−instance foldableCompose :: (Foldable f, Foldable g) => Foldable (Compose f g) where
215− foldr f i (Compose fga) = foldr (flip (foldr f)) i fga
216− foldl f i (Compose fga) = foldl (foldl f) i fga
217− foldMap f (Compose fga) = foldMap (foldMap f) fga
218−
219−instance foldableApp :: Foldable f => Foldable (App f) where
220− foldr f i (App x) = foldr f i x
221− foldl f i (App x) = foldl f i x
222− foldMap f (App x) = foldMap f x
223−
224−-- | Fold a data structure, accumulating values in some `Monoid`.
225−fold :: forall f m. Foldable f => Monoid m => f m -> m
226−fold = foldMap identity
227−
228−-- | Similar to 'foldl', but the result is encapsulated in a monad.
229−-- |
230−-- | Note: this function is not generally stack-safe, e.g., for monads which
231−-- | build up thunks a la `Eff`.
232−foldM :: forall f m a b. Foldable f => Monad m => (b -> a -> m b) -> b -> f a -> m b
233−foldM f b0 = foldl (\b a -> b >>= flip f a) (pure b0)
234−
235−-- | Traverse a data structure, performing some effects encoded by an
236−-- | `Applicative` functor at each value, ignoring the final result.
237−-- |
238−-- | For example:
239−-- |
240−-- | ```purescript
241−-- | traverse_ print [1, 2, 3]
242−-- | ```
243−traverse_
244− :: forall a b f m
245− . Applicative m
246− => Foldable f
247− => (a -> m b)
248− -> f a
249− -> m Unit
250−traverse_ f = foldr ((*>) <<< f) (pure unit)
251−
252−-- | A version of `traverse_` with its arguments flipped.
253−-- |
254−-- | This can be useful when running an action written using do notation
255−-- | for every element in a data structure:
256−-- |
257−-- | For example:
258−-- |
259−-- | ```purescript
260−-- | for_ [1, 2, 3] \n -> do
261−-- | print n
262−-- | trace "squared is"
263−-- | print (n * n)
264−-- | ```
265−for_
266− :: forall a b f m
267− . Applicative m
268− => Foldable f
269− => f a
270− -> (a -> m b)
271− -> m Unit
272−for_ = flip traverse_
273−
274−-- | Perform all of the effects in some data structure in the order
275−-- | given by the `Foldable` instance, ignoring the final result.
276−-- |
277−-- | For example:
278−-- |
279−-- | ```purescript
280−-- | sequence_ [ trace "Hello, ", trace " world!" ]
281−-- | ```
282−sequence_ :: forall a f m. Applicative m => Foldable f => f (m a) -> m Unit
283−sequence_ = traverse_ identity
284−
285−-- | Combines a collection of elements using the `Alt` operation.
286−oneOf :: forall f g a. Foldable f => Plus g => f (g a) -> g a
287−oneOf = foldr alt empty
288−
289−-- | Folds a structure into some `Plus`.
290−oneOfMap :: forall f g a b. Foldable f => Plus g => (a -> g b) -> f a -> g b
291−oneOfMap f = foldr (alt <<< f) empty
292−
293−-- | Fold a data structure, accumulating values in some `Monoid`,
294−-- | combining adjacent elements using the specified separator.
295−-- |
296−-- | For example:
297−-- |
298−-- | ```purescript
299−-- | > intercalate ", " ["Lorem", "ipsum", "dolor"]
300−-- | = "Lorem, ipsum, dolor"
301−-- |
302−-- | > intercalate "*" ["a", "b", "c"]
303−-- | = "a*b*c"
304−-- |
305−-- | > intercalate [1] [[2, 3], [4, 5], [6, 7]]
306−-- | = [2, 3, 1, 4, 5, 1, 6, 7]
307−-- | ```
308−intercalate :: forall f m. Foldable f => Monoid m => m -> f m -> m
309−intercalate sep xs = (foldl go { init: true, acc: mempty } xs).acc
310− where
311− go { init: true } x = { init: false, acc: x }
312− go { acc: acc } x = { init: false, acc: acc <> sep <> x }
313−
314−-- | `foldMap` but with each element surrounded by some fixed value.
315−-- |
316−-- | For example:
317−-- |
318−-- | ```purescript
319−-- | > surroundMap "*" show []
320−-- | = "*"
321−-- |
322−-- | > surroundMap "*" show [1]
323−-- | = "*1*"
324−-- |
325−-- | > surroundMap "*" show [1, 2]
326−-- | = "*1*2*"
327−-- |
328−-- | > surroundMap "*" show [1, 2, 3]
329−-- | = "*1*2*3*"
330−-- | ```
331−surroundMap :: forall f a m. Foldable f => Semigroup m => m -> (a -> m) -> f a -> m
332−surroundMap d t f = unwrap (foldMap joined f) d
333− where joined a = Endo \m -> d <> t a <> m
334−
335−-- | `fold` but with each element surrounded by some fixed value.
336−-- |
337−-- | For example:
338−-- |
339−-- | ```purescript
340−-- | > surround "*" []
341−-- | = "*"
342−-- |
343−-- | > surround "*" ["1"]
344−-- | = "*1*"
345−-- |
346−-- | > surround "*" ["1", "2"]
347−-- | = "*1*2*"
348−-- |
349−-- | > surround "*" ["1", "2", "3"]
350−-- | = "*1*2*3*"
351−-- | ```
352−surround :: forall f m. Foldable f => Semigroup m => m -> f m -> m
353−surround d = surroundMap d identity
354−
355−-- | The conjunction of all the values in a data structure. When specialized
356−-- | to `Boolean`, this function will test whether all of the values in a data
357−-- | structure are `true`.
358−and :: forall a f. Foldable f => HeytingAlgebra a => f a -> a
359−and = all identity
360−
361−-- | The disjunction of all the values in a data structure. When specialized
362−-- | to `Boolean`, this function will test whether any of the values in a data
363−-- | structure is `true`.
364−or :: forall a f. Foldable f => HeytingAlgebra a => f a -> a
365−or = any identity
366−
367−-- | `all f` is the same as `and <<< map f`; map a function over the structure,
368−-- | and then get the conjunction of the results.
369−all :: forall a b f. Foldable f => HeytingAlgebra b => (a -> b) -> f a -> b
370−all = alaF Conj foldMap
371−
372−-- | `any f` is the same as `or <<< map f`; map a function over the structure,
373−-- | and then get the disjunction of the results.
374−any :: forall a b f. Foldable f => HeytingAlgebra b => (a -> b) -> f a -> b
375−any = alaF Disj foldMap
376−
377−-- | Find the sum of the numeric values in a data structure.
378−sum :: forall a f. Foldable f => Semiring a => f a -> a
379−sum = foldl (+) zero
380−
381−-- | Find the product of the numeric values in a data structure.
382−product :: forall a f. Foldable f => Semiring a => f a -> a
383−product = foldl (*) one
384−
385−-- | Test whether a value is an element of a data structure.
386−elem :: forall a f. Foldable f => Eq a => a -> f a -> Boolean
387−elem = any <<< (==)
388−
389−-- | Test whether a value is not an element of a data structure.
390−notElem :: forall a f. Foldable f => Eq a => a -> f a -> Boolean
391−notElem x = not <<< elem x
392−
393−-- | Try to get nth element from the left in a data structure
394−indexl :: forall a f. Foldable f => Int -> f a -> Maybe a
395−indexl idx = _.elem <<< foldl go { elem: Nothing, pos: 0 }
396− where
397− go cursor a =
398− case cursor.elem of
399− Just _ -> cursor
400− _ ->
401− if cursor.pos == idx
402− then { elem: Just a, pos: cursor.pos }
403− else { pos: cursor.pos + 1, elem: cursor.elem }
404−
405−-- | Try to get nth element from the right in a data structure
406−indexr :: forall a f. Foldable f => Int -> f a -> Maybe a
407−indexr idx = _.elem <<< foldr go { elem: Nothing, pos: 0 }
408− where
409− go a cursor =
410− case cursor.elem of
411− Just _ -> cursor
412− _ ->
413− if cursor.pos == idx
414− then { elem: Just a, pos: cursor.pos }
415− else { pos: cursor.pos + 1, elem: cursor.elem }
416−
417−-- | Try to find an element in a data structure which satisfies a predicate.
418−find :: forall a f. Foldable f => (a -> Boolean) -> f a -> Maybe a
419−find p = foldl go Nothing
420− where
421− go Nothing x | p x = Just x
422− go r _ = r
423−
424−-- | Try to find an element in a data structure which satisfies a predicate mapping.
425−findMap :: forall a b f. Foldable f => (a -> Maybe b) -> f a -> Maybe b
426−findMap p = foldl go Nothing
427− where
428− go Nothing x = p x
429− go r _ = r
430−
431−-- | Find the largest element of a structure, according to its `Ord` instance.
432−maximum :: forall a f. Ord a => Foldable f => f a -> Maybe a
433−maximum = maximumBy compare
434−
435−-- | Find the largest element of a structure, according to a given comparison
436−-- | function. The comparison function should represent a total ordering (see
437−-- | the `Ord` type class laws); if it does not, the behaviour is undefined.
438−maximumBy :: forall a f. Foldable f => (a -> a -> Ordering) -> f a -> Maybe a
439−maximumBy cmp = foldl max' Nothing
440− where
441− max' Nothing x = Just x
442− max' (Just x) y = Just (if cmp x y == GT then x else y)
443−
444−-- | Find the smallest element of a structure, according to its `Ord` instance.
445−minimum :: forall a f. Ord a => Foldable f => f a -> Maybe a
446−minimum = minimumBy compare
447−
448−-- | Find the smallest element of a structure, according to a given comparison
449−-- | function. The comparison function should represent a total ordering (see
450−-- | the `Ord` type class laws); if it does not, the behaviour is undefined.
451−minimumBy :: forall a f. Foldable f => (a -> a -> Ordering) -> f a -> Maybe a
452−minimumBy cmp = foldl min' Nothing
453− where
454− min' Nothing x = Just x
455− min' (Just x) y = Just (if cmp x y == LT then x else y)
456−
457−-- | Test whether the structure is empty.
458−-- | Optimized for structures that are similar to cons-lists, because there
459−-- | is no general way to do better.
460−null :: forall a f. Foldable f => f a -> Boolean
461−null = foldr (\_ _ -> false) true
462−
463−-- | Returns the size/length of a finite structure.
464−-- | Optimized for structures that are similar to cons-lists, because there
465−-- | is no general way to do better.
466−length :: forall a b f. Foldable f => Semiring b => f a -> b
467−length = foldl (\c _ -> add one c) zero
468−
469−-- | Lookup a value in a data structure of `Tuple`s, generalizing association lists.
470−lookup :: forall a b f. Foldable f => Eq a => a -> f (Tuple a b) -> Maybe b
471−lookup a = unwrap <<< foldMap \(Tuple a' b) -> First (if a == a' then Just b else Nothing)
.spago/p/foldable-traversable-6.0.0/src/Data/FoldableWithIndex.pursdeleted−370
@@ -1,370 +0,0 @@
1−module Data.FoldableWithIndex
2− ( class FoldableWithIndex, foldrWithIndex, foldlWithIndex, foldMapWithIndex
3− , foldrWithIndexDefault
4− , foldlWithIndexDefault
5− , foldMapWithIndexDefaultR
6− , foldMapWithIndexDefaultL
7− , foldWithIndexM
8− , traverseWithIndex_
9− , forWithIndex_
10− , surroundMapWithIndex
11− , allWithIndex
12− , anyWithIndex
13− , findWithIndex
14− , findMapWithIndex
15− , foldrDefault
16− , foldlDefault
17− , foldMapDefault
18− ) where
19−
20−import Prelude
21−
22−import Data.Const (Const)
23−import Data.Either (Either(..))
24−import Data.Foldable (class Foldable, foldMap, foldl, foldr)
25−import Data.Functor.App (App(..))
26−import Data.Functor.Compose (Compose(..))
27−import Data.Functor.Coproduct (Coproduct, coproduct)
28−import Data.Functor.Product (Product(..))
29−import Data.FunctorWithIndex (mapWithIndex)
30−import Data.Identity (Identity(..))
31−import Data.Maybe (Maybe(..))
32−import Data.Maybe.First (First)
33−import Data.Maybe.Last (Last)
34−import Data.Monoid.Additive (Additive)
35−import Data.Monoid.Conj (Conj(..))
36−import Data.Monoid.Disj (Disj(..))
37−import Data.Monoid.Dual (Dual(..))
38−import Data.Monoid.Endo (Endo(..))
39−import Data.Monoid.Multiplicative (Multiplicative)
40−import Data.Newtype (unwrap)
41−import Data.Tuple (Tuple(..), curry)
42−
43−-- | A `Foldable` with an additional index.
44−-- | A `FoldableWithIndex` instance must be compatible with its `Foldable`
45−-- | instance
46−-- | ```purescript
47−-- | foldr f = foldrWithIndex (const f)
48−-- | foldl f = foldlWithIndex (const f)
49−-- | foldMap f = foldMapWithIndex (const f)
50−-- | ```
51−-- |
52−-- | Default implementations are provided by the following functions:
53−-- |
54−-- | - `foldrWithIndexDefault`
55−-- | - `foldlWithIndexDefault`
56−-- | - `foldMapWithIndexDefaultR`
57−-- | - `foldMapWithIndexDefaultL`
58−-- |
59−-- | Note: some combinations of the default implementations are unsafe to
60−-- | use together - causing a non-terminating mutually recursive cycle.
61−-- | These combinations are documented per function.
62−class Foldable f <= FoldableWithIndex i f | f -> i where
63− foldrWithIndex :: forall a b. (i -> a -> b -> b) -> b -> f a -> b
64− foldlWithIndex :: forall a b. (i -> b -> a -> b) -> b -> f a -> b
65− foldMapWithIndex :: forall a m. Monoid m => (i -> a -> m) -> f a -> m
66−
67−-- | A default implementation of `foldrWithIndex` using `foldMapWithIndex`.
68−-- |
69−-- | Note: when defining a `FoldableWithIndex` instance, this function is
70−-- | unsafe to use in combination with `foldMapWithIndexDefaultR`.
71−foldrWithIndexDefault
72− :: forall i f a b
73− . FoldableWithIndex i f
74− => (i -> a -> b -> b)
75− -> b
76− -> f a
77− -> b
78−foldrWithIndexDefault c u xs = unwrap (foldMapWithIndex (\i -> Endo <<< c i) xs) u
79−
80−-- | A default implementation of `foldlWithIndex` using `foldMapWithIndex`.
81−-- |
82−-- | Note: when defining a `FoldableWithIndex` instance, this function is
83−-- | unsafe to use in combination with `foldMapWithIndexDefaultL`.
84−foldlWithIndexDefault
85− :: forall i f a b
86− . FoldableWithIndex i f
87− => (i -> b -> a -> b)
88− -> b
89− -> f a
90− -> b
91−foldlWithIndexDefault c u xs = unwrap (unwrap (foldMapWithIndex (\i -> Dual <<< Endo <<< flip (c i)) xs)) u
92−
93−-- | A default implementation of `foldMapWithIndex` using `foldrWithIndex`.
94−-- |
95−-- | Note: when defining a `FoldableWithIndex` instance, this function is
96−-- | unsafe to use in combination with `foldrWithIndexDefault`.
97−foldMapWithIndexDefaultR
98− :: forall i f a m
99− . FoldableWithIndex i f
100− => Monoid m
101− => (i -> a -> m)
102− -> f a
103− -> m
104−foldMapWithIndexDefaultR f = foldrWithIndex (\i x acc -> f i x <> acc) mempty
105−
106−-- | A default implementation of `foldMapWithIndex` using `foldlWithIndex`.
107−-- |
108−-- | Note: when defining a `FoldableWithIndex` instance, this function is
109−-- | unsafe to use in combination with `foldlWithIndexDefault`.
110−foldMapWithIndexDefaultL
111− :: forall i f a m
112− . FoldableWithIndex i f
113− => Monoid m
114− => (i -> a -> m)
115− -> f a
116− -> m
117−foldMapWithIndexDefaultL f = foldlWithIndex (\i acc x -> acc <> f i x) mempty
118−
119−instance foldableWithIndexArray :: FoldableWithIndex Int Array where
120− foldrWithIndex f z = foldr (\(Tuple i x) y -> f i x y) z <<< mapWithIndex Tuple
121− foldlWithIndex f z = foldl (\y (Tuple i x) -> f i y x) z <<< mapWithIndex Tuple
122− foldMapWithIndex = foldMapWithIndexDefaultR
123−
124−instance foldableWithIndexMaybe :: FoldableWithIndex Unit Maybe where
125− foldrWithIndex f = foldr $ f unit
126− foldlWithIndex f = foldl $ f unit
127− foldMapWithIndex f = foldMap $ f unit
128−
129−instance foldableWithIndexFirst :: FoldableWithIndex Unit First where
130− foldrWithIndex f = foldr $ f unit
131− foldlWithIndex f = foldl $ f unit
132− foldMapWithIndex f = foldMap $ f unit
133−
134−instance foldableWithIndexLast :: FoldableWithIndex Unit Last where
135− foldrWithIndex f = foldr $ f unit
136− foldlWithIndex f = foldl $ f unit
137− foldMapWithIndex f = foldMap $ f unit
138−
139−instance foldableWithIndexAdditive :: FoldableWithIndex Unit Additive where
140− foldrWithIndex f = foldr $ f unit
141− foldlWithIndex f = foldl $ f unit
142− foldMapWithIndex f = foldMap $ f unit
143−
144−instance foldableWithIndexDual :: FoldableWithIndex Unit Dual where
145− foldrWithIndex f = foldr $ f unit
146− foldlWithIndex f = foldl $ f unit
147− foldMapWithIndex f = foldMap $ f unit
148−
149−instance foldableWithIndexDisj :: FoldableWithIndex Unit Disj where
150− foldrWithIndex f = foldr $ f unit
151− foldlWithIndex f = foldl $ f unit
152− foldMapWithIndex f = foldMap $ f unit
153−
154−instance foldableWithIndexConj :: FoldableWithIndex Unit Conj where
155− foldrWithIndex f = foldr $ f unit
156− foldlWithIndex f = foldl $ f unit
157− foldMapWithIndex f = foldMap $ f unit
158−
159−instance foldableWithIndexMultiplicative :: FoldableWithIndex Unit Multiplicative where
160− foldrWithIndex f = foldr $ f unit
161− foldlWithIndex f = foldl $ f unit
162− foldMapWithIndex f = foldMap $ f unit
163−
164−instance foldableWithIndexEither :: FoldableWithIndex Unit (Either a) where
165− foldrWithIndex _ z (Left _) = z
166− foldrWithIndex f z (Right x) = f unit x z
167− foldlWithIndex _ z (Left _) = z
168− foldlWithIndex f z (Right x) = f unit z x
169− foldMapWithIndex _ (Left _) = mempty
170− foldMapWithIndex f (Right x) = f unit x
171−
172−instance foldableWithIndexTuple :: FoldableWithIndex Unit (Tuple a) where
173− foldrWithIndex f z (Tuple _ x) = f unit x z
174− foldlWithIndex f z (Tuple _ x) = f unit z x
175− foldMapWithIndex f (Tuple _ x) = f unit x
176−
177−instance foldableWithIndexIdentity :: FoldableWithIndex Unit Identity where
178− foldrWithIndex f z (Identity x) = f unit x z
179− foldlWithIndex f z (Identity x) = f unit z x
180− foldMapWithIndex f (Identity x) = f unit x
181−
182−instance foldableWithIndexConst :: FoldableWithIndex Void (Const a) where
183− foldrWithIndex _ z _ = z
184− foldlWithIndex _ z _ = z
185− foldMapWithIndex _ _ = mempty
186−
187−instance foldableWithIndexProduct :: (FoldableWithIndex a f, FoldableWithIndex b g) => FoldableWithIndex (Either a b) (Product f g) where
188− foldrWithIndex f z (Product (Tuple fa ga)) = foldrWithIndex (f <<< Left) (foldrWithIndex (f <<< Right) z ga) fa
189− foldlWithIndex f z (Product (Tuple fa ga)) = foldlWithIndex (f <<< Right) (foldlWithIndex (f <<< Left) z fa) ga
190− foldMapWithIndex f (Product (Tuple fa ga)) = foldMapWithIndex (f <<< Left) fa <> foldMapWithIndex (f <<< Right) ga
191−
192−instance foldableWithIndexCoproduct :: (FoldableWithIndex a f, FoldableWithIndex b g) => FoldableWithIndex (Either a b) (Coproduct f g) where
193− foldrWithIndex f z = coproduct (foldrWithIndex (f <<< Left) z) (foldrWithIndex (f <<< Right) z)
194− foldlWithIndex f z = coproduct (foldlWithIndex (f <<< Left) z) (foldlWithIndex (f <<< Right) z)
195− foldMapWithIndex f = coproduct (foldMapWithIndex (f <<< Left)) (foldMapWithIndex (f <<< Right))
196−
197−instance foldableWithIndexCompose :: (FoldableWithIndex a f, FoldableWithIndex b g) => FoldableWithIndex (Tuple a b) (Compose f g) where
198− foldrWithIndex f i (Compose fga) = foldrWithIndex (\a -> flip (foldrWithIndex (curry f a))) i fga
199− foldlWithIndex f i (Compose fga) = foldlWithIndex (foldlWithIndex <<< curry f) i fga
200− foldMapWithIndex f (Compose fga) = foldMapWithIndex (foldMapWithIndex <<< curry f) fga
201−
202−instance foldableWithIndexApp :: FoldableWithIndex a f => FoldableWithIndex a (App f) where
203− foldrWithIndex f z (App x) = foldrWithIndex f z x
204− foldlWithIndex f z (App x) = foldlWithIndex f z x
205− foldMapWithIndex f (App x) = foldMapWithIndex f x
206−
207−
208−-- | Similar to 'foldlWithIndex', but the result is encapsulated in a monad.
209−-- |
210−-- | Note: this function is not generally stack-safe, e.g., for monads which
211−-- | build up thunks a la `Eff`.
212−foldWithIndexM
213− :: forall i f m a b
214− . FoldableWithIndex i f
215− => Monad m
216− => (i -> a -> b -> m a)
217− -> a
218− -> f b
219− -> m a
220−foldWithIndexM f a0 = foldlWithIndex (\i ma b -> ma >>= flip (f i) b) (pure a0)
221−
222−-- | Traverse a data structure with access to the index, performing some
223−-- | effects encoded by an `Applicative` functor at each value, ignoring the
224−-- | final result.
225−-- |
226−-- | For example:
227−-- |
228−-- | ```purescript
229−-- | > traverseWithIndex_ (curry logShow) ["a", "b", "c"]
230−-- | (Tuple 0 "a")
231−-- | (Tuple 1 "b")
232−-- | (Tuple 2 "c")
233−-- | ```
234−traverseWithIndex_
235− :: forall i a b f m
236− . Applicative m
237− => FoldableWithIndex i f
238− => (i -> a -> m b)
239− -> f a
240− -> m Unit
241−traverseWithIndex_ f = foldrWithIndex (\i -> (*>) <<< f i) (pure unit)
242−
243−-- | A version of `traverseWithIndex_` with its arguments flipped.
244−-- |
245−-- | This can be useful when running an action written using do notation
246−-- | for every element in a data structure:
247−-- |
248−-- | For example:
249−-- |
250−-- | ```purescript
251−-- | forWithIndex_ ["a", "b", "c"] \i x -> do
252−-- | logShow i
253−-- | log x
254−-- | ```
255−forWithIndex_
256− :: forall i a b f m
257− . Applicative m
258− => FoldableWithIndex i f
259− => f a
260− -> (i -> a -> m b)
261− -> m Unit
262−forWithIndex_ = flip traverseWithIndex_
263−
264−-- | `foldMapWithIndex` but with each element surrounded by some fixed value.
265−-- |
266−-- | For example:
267−-- |
268−-- | ```purescript
269−-- | > surroundMapWithIndex "*" (\i x -> show i <> x) []
270−-- | = "*"
271−-- |
272−-- | > surroundMapWithIndex "*" (\i x -> show i <> x) ["a"]
273−-- | = "*0a*"
274−-- |
275−-- | > surroundMapWithIndex "*" (\i x -> show i <> x) ["a", "b"]
276−-- | = "*0a*1b*"
277−-- |
278−-- | > surroundMapWithIndex "*" (\i x -> show i <> x) ["a", "b", "c"]
279−-- | = "*0a*1b*2c*"
280−-- | ```
281−surroundMapWithIndex
282− :: forall i f a m
283− . FoldableWithIndex i f
284− => Semigroup m
285− => m
286− -> (i -> a -> m)
287− -> f a
288− -> m
289−surroundMapWithIndex d t f = unwrap (foldMapWithIndex joined f) d
290− where joined i a = Endo \m -> d <> t i a <> m
291−
292−-- | `allWithIndex f` is the same as `and <<< mapWithIndex f`; map a function over the
293−-- | structure, and then get the conjunction of the results.
294−allWithIndex
295− :: forall i a b f
296− . FoldableWithIndex i f
297− => HeytingAlgebra b
298− => (i -> a -> b)
299− -> f a
300− -> b
301−allWithIndex t = unwrap <<< foldMapWithIndex (\i -> Conj <<< t i)
302−
303−-- | `anyWithIndex f` is the same as `or <<< mapWithIndex f`; map a function over the
304−-- | structure, and then get the disjunction of the results.
305−anyWithIndex
306− :: forall i a b f
307− . FoldableWithIndex i f
308− => HeytingAlgebra b
309− => (i -> a -> b)
310− -> f a
311− -> b
312−anyWithIndex t = unwrap <<< foldMapWithIndex (\i -> Disj <<< t i)
313−
314−-- | Try to find an element in a data structure which satisfies a predicate
315−-- | with access to the index.
316−findWithIndex
317− :: forall i a f
318− . FoldableWithIndex i f
319− => (i -> a -> Boolean)
320− -> f a
321− -> Maybe { index :: i, value :: a }
322−findWithIndex p = foldlWithIndex go Nothing
323− where
324− go
325− :: i
326− -> Maybe { index :: i, value :: a }
327− -> a
328− -> Maybe { index :: i, value :: a }
329− go i Nothing x | p i x = Just { index: i, value: x }
330− go _ r _ = r
331−
332−-- | Try to find an element in a data structure which satisfies a predicate mapping
333−-- | with access to the index.
334−findMapWithIndex
335− :: forall i a b f
336− . FoldableWithIndex i f
337− => (i -> a -> Maybe b)
338− -> f a
339− -> Maybe b
340−findMapWithIndex f = foldlWithIndex go Nothing
341− where
342− go
343− :: i
344− -> Maybe b
345− -> a
346− -> Maybe b
347− go i Nothing x = f i x
348− go _ r _ = r
349−
350−-- | A default implementation of `foldr` using `foldrWithIndex`
351−foldrDefault
352− :: forall i f a b
353− . FoldableWithIndex i f
354− => (a -> b -> b) -> b -> f a -> b
355−foldrDefault f = foldrWithIndex (const f)
356−
357−-- | A default implementation of `foldl` using `foldlWithIndex`
358−foldlDefault
359− :: forall i f a b
360− . FoldableWithIndex i f
361− => (b -> a -> b) -> b -> f a -> b
362−foldlDefault f = foldlWithIndex (const f)
363−
364−-- | A default implementation of `foldMap` using `foldMapWithIndex`
365−foldMapDefault
366− :: forall i f a m
367− . FoldableWithIndex i f
368− => Monoid m
369− => (a -> m) -> f a -> m
370−foldMapDefault f = foldMapWithIndex (const f)
.spago/p/foldable-traversable-6.0.0/src/Data/FunctorWithIndex.jsdeleted−10
@@ -1,10 +0,0 @@
1−export const mapWithIndexArray = function (f) {
2− return function (xs) {
3− var l = xs.length;
4− var result = Array(l);
5− for (var i = 0; i < l; i++) {
6− result[i] = f(i)(xs[i]);
7− }
8− return result;
9− };
10−};
.spago/p/foldable-traversable-6.0.0/src/Data/FunctorWithIndex.pursdeleted−93
@@ -1,93 +0,0 @@
1−module Data.FunctorWithIndex
2− ( class FunctorWithIndex, mapWithIndex, mapDefault
3− ) where
4−
5−import Prelude
6−
7−import Data.Bifunctor (bimap)
8−import Data.Const (Const(..))
9−import Data.Either (Either(..))
10−import Data.Functor.App (App(..))
11−import Data.Functor.Compose (Compose(..))
12−import Data.Functor.Coproduct (Coproduct(..))
13−import Data.Functor.Product (Product(..))
14−import Data.Identity (Identity(..))
15−import Data.Maybe (Maybe)
16−import Data.Maybe.First (First)
17−import Data.Maybe.Last (Last)
18−import Data.Monoid.Additive (Additive)
19−import Data.Monoid.Conj (Conj)
20−import Data.Monoid.Disj (Disj)
21−import Data.Monoid.Dual (Dual)
22−import Data.Monoid.Multiplicative (Multiplicative)
23−import Data.Tuple (Tuple, curry)
24−
25−-- | A `Functor` with an additional index.
26−-- | Instances must satisfy a modified form of the `Functor` laws
27−-- | ```purescript
28−-- | mapWithIndex (\_ a -> a) = identity
29−-- | mapWithIndex f . mapWithIndex g = mapWithIndex (\i -> f i <<< g i)
30−-- | ```
31−-- | and be compatible with the `Functor` instance
32−-- | ```purescript
33−-- | map f = mapWithIndex (const f)
34−-- | ```
35−class Functor f <= FunctorWithIndex i f | f -> i where
36− mapWithIndex :: forall a b. (i -> a -> b) -> f a -> f b
37−
38−foreign import mapWithIndexArray :: forall a b. (Int -> a -> b) -> Array a -> Array b
39−
40−instance functorWithIndexArray :: FunctorWithIndex Int Array where
41− mapWithIndex = mapWithIndexArray
42−
43−instance functorWithIndexMaybe :: FunctorWithIndex Unit Maybe where
44− mapWithIndex f = map $ f unit
45−
46−instance functorWithIndexFirst :: FunctorWithIndex Unit First where
47− mapWithIndex f = map $ f unit
48−
49−instance functorWithIndexLast :: FunctorWithIndex Unit Last where
50− mapWithIndex f = map $ f unit
51−
52−instance functorWithIndexAdditive :: FunctorWithIndex Unit Additive where
53− mapWithIndex f = map $ f unit
54−
55−instance functorWithIndexDual :: FunctorWithIndex Unit Dual where
56− mapWithIndex f = map $ f unit
57−
58−instance functorWithIndexConj :: FunctorWithIndex Unit Conj where
59− mapWithIndex f = map $ f unit
60−
61−instance functorWithIndexDisj :: FunctorWithIndex Unit Disj where
62− mapWithIndex f = map $ f unit
63−
64−instance functorWithIndexMultiplicative :: FunctorWithIndex Unit Multiplicative where
65− mapWithIndex f = map $ f unit
66−
67−instance functorWithIndexEither :: FunctorWithIndex Unit (Either a) where
68− mapWithIndex f = map $ f unit
69−
70−instance functorWithIndexTuple :: FunctorWithIndex Unit (Tuple a) where
71− mapWithIndex f = map $ f unit
72−
73−instance functorWithIndexIdentity :: FunctorWithIndex Unit Identity where
74− mapWithIndex f (Identity a) = Identity (f unit a)
75−
76−instance functorWithIndexConst :: FunctorWithIndex Void (Const a) where
77− mapWithIndex _ (Const x) = Const x
78−
79−instance functorWithIndexProduct :: (FunctorWithIndex a f, FunctorWithIndex b g) => FunctorWithIndex (Either a b) (Product f g) where
80− mapWithIndex f (Product fga) = Product (bimap (mapWithIndex (f <<< Left)) (mapWithIndex (f <<< Right)) fga)
81−
82−instance functorWithIndexCoproduct :: (FunctorWithIndex a f, FunctorWithIndex b g) => FunctorWithIndex (Either a b) (Coproduct f g) where
83− mapWithIndex f (Coproduct e) = Coproduct (bimap (mapWithIndex (f <<< Left)) (mapWithIndex (f <<< Right)) e)
84−
85−instance functorWithIndexCompose :: (FunctorWithIndex a f, FunctorWithIndex b g) => FunctorWithIndex (Tuple a b) (Compose f g) where
86− mapWithIndex f (Compose fga) = Compose $ mapWithIndex (mapWithIndex <<< curry f) fga
87−
88−instance functorWithIndexApp :: FunctorWithIndex a f => FunctorWithIndex a (App f) where
89− mapWithIndex f (App x) = App $ mapWithIndex f x
90−
91−-- | A default implementation of Functor's `map` in terms of `mapWithIndex`
92−mapDefault :: forall i f a b. FunctorWithIndex i f => (a -> b) -> f a -> f b
93−mapDefault f = mapWithIndex (const f)
.spago/p/foldable-traversable-6.0.0/src/Data/Semigroup/Foldable.pursdeleted−178
@@ -1,178 +0,0 @@
1−module Data.Semigroup.Foldable
2− ( class Foldable1
3− , foldMap1
4− , fold1
5− , foldr1
6− , foldl1
7− , traverse1_
8− , for1_
9− , sequence1_
10− , foldr1Default
11− , foldl1Default
12− , foldMap1DefaultR
13− , foldMap1DefaultL
14− , intercalate
15− , intercalateMap
16− , maximum
17− , maximumBy
18− , minimum
19− , minimumBy
20− ) where
21−
22−import Prelude
23−
24−import Data.Foldable (class Foldable)
25−import Data.Identity (Identity(..))
26−import Data.Monoid.Dual (Dual(..))
27−import Data.Monoid.Multiplicative (Multiplicative(..))
28−import Data.Newtype (ala, alaF)
29−import Data.Ord.Max (Max(..))
30−import Data.Ord.Min (Min(..))
31−import Data.Tuple (Tuple(..))
32−
33−-- | `Foldable1` represents data structures with a minimum of one element that can be _folded_.
34−-- |
35−-- | - `foldr1` folds a structure from the right
36−-- | - `foldl1` folds a structure from the left
37−-- | - `foldMap1` folds a structure by accumulating values in a `Semigroup`
38−-- |
39−-- | Default implementations are provided by the following functions:
40−-- |
41−-- | - `foldr1Default`
42−-- | - `foldl1Default`
43−-- | - `foldMap1DefaultR`
44−-- | - `foldMap1DefaultL`
45−-- |
46−-- | Note: some combinations of the default implementations are unsafe to
47−-- | use together - causing a non-terminating mutually recursive cycle.
48−-- | These combinations are documented per function.
49−class Foldable t <= Foldable1 t where
50− foldr1 :: forall a. (a -> a -> a) -> t a -> a
51− foldl1 :: forall a. (a -> a -> a) -> t a -> a
52− foldMap1 :: forall a m. Semigroup m => (a -> m) -> t a -> m
53−
54−-- | A default implementation of `foldr1` using `foldMap1`.
55−-- |
56−-- | Note: when defining a `Foldable1` instance, this function is unsafe to use
57−-- | in combination with `foldMap1DefaultR`.
58−foldr1Default :: forall t a. Foldable1 t => (a -> a -> a) -> t a -> a
59−foldr1Default = flip (runFoldRight1 <<< foldMap1 mkFoldRight1)
60−
61−-- | A default implementation of `foldl1` using `foldMap1`.
62−-- |
63−-- | Note: when defining a `Foldable1` instance, this function is unsafe to use
64−-- | in combination with `foldMap1DefaultL`.
65−foldl1Default :: forall t a. Foldable1 t => (a -> a -> a) -> t a -> a
66−foldl1Default = flip (runFoldRight1 <<< alaF Dual foldMap1 mkFoldRight1) <<< flip
67−
68−-- | A default implementation of `foldMap1` using `foldr1`.
69−-- |
70−-- | Note: when defining a `Foldable1` instance, this function is unsafe to use
71−-- | in combination with `foldr1Default`.
72−foldMap1DefaultR :: forall t m a. Foldable1 t => Functor t => Semigroup m => (a -> m) -> t a -> m
73−foldMap1DefaultR f = map f >>> foldr1 (<>)
74−
75−-- | A default implementation of `foldMap1` using `foldl1`.
76−-- |
77−-- | Note: when defining a `Foldable1` instance, this function is unsafe to use
78−-- | in combination with `foldl1Default`.
79−foldMap1DefaultL :: forall t m a. Foldable1 t => Functor t => Semigroup m => (a -> m) -> t a -> m
80−foldMap1DefaultL f = map f >>> foldl1 (<>)
81−
82−instance foldableDual :: Foldable1 Dual where
83− foldr1 _ (Dual x) = x
84− foldl1 _ (Dual x) = x
85− foldMap1 f (Dual x) = f x
86−
87−instance foldableMultiplicative :: Foldable1 Multiplicative where
88− foldr1 _ (Multiplicative x) = x
89− foldl1 _ (Multiplicative x) = x
90− foldMap1 f (Multiplicative x) = f x
91−
92−instance foldableTuple :: Foldable1 (Tuple a) where
93− foldMap1 f (Tuple _ x) = f x
94− foldr1 _ (Tuple _ x) = x
95− foldl1 _ (Tuple _ x) = x
96−
97−instance foldableIdentity :: Foldable1 Identity where
98− foldMap1 f (Identity x) = f x
99− foldl1 _ (Identity x) = x
100− foldr1 _ (Identity x) = x
101−
102−-- | Fold a data structure, accumulating values in some `Semigroup`.
103−fold1 :: forall t m. Foldable1 t => Semigroup m => t m -> m
104−fold1 = foldMap1 identity
105−
106−newtype Act :: forall k. (k -> Type) -> k -> Type
107−newtype Act f a = Act (f a)
108−
109−getAct :: forall f a. Act f a -> f a
110−getAct (Act f) = f
111−
112−instance semigroupAct :: Apply f => Semigroup (Act f a) where
113− append (Act a) (Act b) = Act (a *> b)
114−
115−-- | Traverse a data structure, performing some effects encoded by an
116−-- | `Apply` instance at each value, ignoring the final result.
117−traverse1_ :: forall t f a b. Foldable1 t => Apply f => (a -> f b) -> t a -> f Unit
118−traverse1_ f t = unit <$ getAct (foldMap1 (Act <<< f) t)
119−
120−-- | A version of `traverse1_` with its arguments flipped.
121−-- |
122−-- | This can be useful when running an action written using do notation
123−-- | for every element in a data structure:
124−for1_ :: forall t f a b. Foldable1 t => Apply f => t a -> (a -> f b) -> f Unit
125−for1_ = flip traverse1_
126−
127−-- | Perform all of the effects in some data structure in the order
128−-- | given by the `Foldable1` instance, ignoring the final result.
129−sequence1_ :: forall t f a. Foldable1 t => Apply f => t (f a) -> f Unit
130−sequence1_ = traverse1_ identity
131−
132−maximum :: forall f a. Ord a => Foldable1 f => f a -> a
133−maximum = ala Max foldMap1
134−
135−maximumBy :: forall f a. Foldable1 f => (a -> a -> Ordering) -> f a -> a
136−maximumBy cmp = foldl1 \x y -> if cmp x y == GT then x else y
137−
138−minimum :: forall f a. Ord a => Foldable1 f => f a -> a
139−minimum = ala Min foldMap1
140−
141−minimumBy :: forall f a. Foldable1 f => (a -> a -> Ordering) -> f a -> a
142−minimumBy cmp = foldl1 \x y -> if cmp x y == LT then x else y
143−
144−-- | Internal. Used by intercalation functions.
145−newtype JoinWith a = JoinWith (a -> a)
146−
147−joinee :: forall a. JoinWith a -> a -> a
148−joinee (JoinWith x) = x
149−
150−instance semigroupJoinWith :: Semigroup a => Semigroup (JoinWith a) where
151− append (JoinWith a) (JoinWith b) = JoinWith $ \j -> a j <> j <> b j
152−
153−-- | Fold a data structure using a `Semigroup` instance,
154−-- | combining adjacent elements using the specified separator.
155−intercalate :: forall f m. Foldable1 f => Semigroup m => m -> f m -> m
156−intercalate = flip intercalateMap identity
157−
158−-- | Fold a data structure, accumulating values in some `Semigroup`,
159−-- | combining adjacent elements using the specified separator.
160−intercalateMap
161− :: forall f m a
162− . Foldable1 f
163− => Semigroup m
164− => m -> (a -> m) -> f a -> m
165−intercalateMap j f foldable =
166− joinee (foldMap1 (JoinWith <<< const <<< f) foldable) j
167−
168−-- | Internal. Used by foldr1Default and foldl1Default.
169−data FoldRight1 a = FoldRight1 (a -> (a -> a -> a) -> a) a
170−
171−instance foldRight1Semigroup :: Semigroup (FoldRight1 a) where
172− append (FoldRight1 lf lr) (FoldRight1 rf rr) = FoldRight1 (\a f -> lf (f lr (rf a f)) f) rr
173−
174−mkFoldRight1 :: forall a. a -> FoldRight1 a
175−mkFoldRight1 = FoldRight1 const
176−
177−runFoldRight1 :: forall a. FoldRight1 a -> (a -> a -> a) -> a
178−runFoldRight1 (FoldRight1 f a) = f a
.spago/p/foldable-traversable-6.0.0/src/Data/Semigroup/Traversable.pursdeleted−72
@@ -1,72 +0,0 @@
1−module Data.Semigroup.Traversable where
2−
3−import Prelude
4−
5−import Data.Identity (Identity(..))
6−import Data.Monoid.Dual (Dual(..))
7−import Data.Monoid.Multiplicative (Multiplicative(..))
8−import Data.Semigroup.Foldable (class Foldable1)
9−import Data.Traversable (class Traversable)
10−import Data.Tuple (Tuple(..))
11−
12−-- | `Traversable1` represents data structures with a minimum of one element that can be _traversed_,
13−-- | accumulating results and effects in some `Applicative` functor.
14−-- |
15−-- | - `traverse1` runs an action for every element in a data structure,
16−-- | and accumulates the results.
17−-- | - `sequence1` runs the actions _contained_ in a data structure,
18−-- | and accumulates the results.
19−-- |
20−-- | The `traverse1` and `sequence1` functions should be compatible in the
21−-- | following sense:
22−-- |
23−-- | - `traverse1 f xs = sequence1 (f <$> xs)`
24−-- | - `sequence1 = traverse1 identity`
25−-- |
26−-- | `Traversable1` instances should also be compatible with the corresponding
27−-- | `Foldable1` instances, in the following sense:
28−-- |
29−-- | - `foldMap1 f = runConst <<< traverse1 (Const <<< f)`
30−-- |
31−-- | Default implementations are provided by the following functions:
32−-- |
33−-- | - `traverse1Default`
34−-- | - `sequence1Default`
35−class (Foldable1 t, Traversable t) <= Traversable1 t where
36− traverse1 :: forall a b f. Apply f => (a -> f b) -> t a -> f (t b)
37− sequence1 :: forall b f. Apply f => t (f b) -> f (t b)
38−
39−instance traversableDual :: Traversable1 Dual where
40− traverse1 f (Dual x) = Dual <$> f x
41− sequence1 = sequence1Default
42−
43−instance traversableMultiplicative :: Traversable1 Multiplicative where
44− traverse1 f (Multiplicative x) = Multiplicative <$> f x
45− sequence1 = sequence1Default
46−
47−instance traversableTuple :: Traversable1 (Tuple a) where
48− traverse1 f (Tuple x y) = Tuple x <$> f y
49− sequence1 (Tuple x y) = Tuple x <$> y
50−
51−instance traversableIdentity :: Traversable1 Identity where
52− traverse1 f (Identity x) = Identity <$> f x
53− sequence1 (Identity x) = Identity <$> x
54−
55−-- | A default implementation of `traverse1` using `sequence1`.
56−traverse1Default
57− :: forall t a b m
58− . Traversable1 t
59− => Apply m
60− => (a -> m b)
61− -> t a
62− -> m (t b)
63−traverse1Default f ta = sequence1 (f <$> ta)
64−
65−-- | A default implementation of `sequence1` using `traverse1`.
66−sequence1Default
67− :: forall t a m
68− . Traversable1 t
69− => Apply m
70− => t (m a)
71− -> m (t a)
72−sequence1Default = traverse1 identity
.spago/p/foldable-traversable-6.0.0/src/Data/Traversable.jsdeleted−52
@@ -1,52 +0,0 @@
1−// jshint maxparams: 3
2−
3−export const traverseArrayImpl = (function () {
4− function array1(a) {
5− return [a];
6− }
7−
8− function array2(a) {
9− return function (b) {
10− return [a, b];
11− };
12− }
13−
14− function array3(a) {
15− return function (b) {
16− return function (c) {
17− return [a, b, c];
18− };
19− };
20− }
21−
22− function concat2(xs) {
23− return function (ys) {
24− return xs.concat(ys);
25− };
26− }
27−
28− return function (apply) {
29− return function (map) {
30− return function (pure) {
31− return function (f) {
32− return function (array) {
33− function go(bot, top) {
34− switch (top - bot) {
35− case 0: return pure([]);
36− case 1: return map(array1)(f(array[bot]));
37− case 2: return apply(map(array2)(f(array[bot])))(f(array[bot + 1]));
38− case 3: return apply(apply(map(array3)(f(array[bot])))(f(array[bot + 1])))(f(array[bot + 2]));
39− default:
40− // This slightly tricky pivot selection aims to produce two
41− // even-length partitions where possible.
42− var pivot = bot + Math.floor((top - bot) / 4) * 2;
43− return apply(map(concat2)(go(bot, pivot)))(go(pivot, top));
44− }
45− }
46− return go(0, array.length);
47− };
48− };
49− };
50− };
51− };
52−})();
.spago/p/foldable-traversable-6.0.0/src/Data/Traversable.pursdeleted−257
@@ -1,257 +0,0 @@
1−module Data.Traversable
2− ( class Traversable, traverse, sequence
3− , traverseDefault, sequenceDefault
4− , for
5− , scanl
6− , scanr
7− , mapAccumL
8− , mapAccumR
9− , module Data.Foldable
10− , module Data.Traversable.Accum
11− ) where
12−
13−import Prelude
14−
15−import Control.Apply (lift2)
16−import Data.Const (Const(..))
17−import Data.Either (Either(..))
18−import Data.Foldable (class Foldable, all, and, any, elem, find, fold, foldMap, foldMapDefaultL, foldMapDefaultR, foldl, foldlDefault, foldr, foldrDefault, for_, intercalate, maximum, maximumBy, minimum, minimumBy, notElem, oneOf, or, sequence_, sum, traverse_)
19−import Data.Functor.App (App(..))
20−import Data.Functor.Compose (Compose(..))
21−import Data.Functor.Coproduct (Coproduct(..), coproduct)
22−import Data.Functor.Product (Product(..), product)
23−import Data.Identity (Identity(..))
24−import Data.Maybe (Maybe(..))
25−import Data.Maybe.First (First(..))
26−import Data.Maybe.Last (Last(..))
27−import Data.Monoid.Additive (Additive(..))
28−import Data.Monoid.Conj (Conj(..))
29−import Data.Monoid.Disj (Disj(..))
30−import Data.Monoid.Dual (Dual(..))
31−import Data.Monoid.Multiplicative (Multiplicative(..))
32−import Data.Traversable.Accum (Accum)
33−import Data.Traversable.Accum.Internal (StateL(..), StateR(..), stateL, stateR)
34−import Data.Tuple (Tuple(..))
35−
36−-- | `Traversable` represents data structures which can be _traversed_,
37−-- | accumulating results and effects in some `Applicative` functor.
38−-- |
39−-- | - `traverse` runs an action for every element in a data structure,
40−-- | and accumulates the results.
41−-- | - `sequence` runs the actions _contained_ in a data structure,
42−-- | and accumulates the results.
43−-- |
44−-- | ```purescript
45−-- | import Data.Traversable
46−-- | import Data.Maybe
47−-- | import Data.Int (fromNumber)
48−-- |
49−-- | sequence [Just 1, Just 2, Just 3] == Just [1,2,3]
50−-- | sequence [Nothing, Just 2, Just 3] == Nothing
51−-- |
52−-- | traverse fromNumber [1.0, 2.0, 3.0] == Just [1,2,3]
53−-- | traverse fromNumber [1.5, 2.0, 3.0] == Nothing
54−-- |
55−-- | traverse logShow [1,2,3]
56−-- | -- prints:
57−-- | 1
58−-- | 2
59−-- | 3
60−-- |
61−-- | traverse (\x -> [x, 0]) [1,2,3] == [[1,2,3],[1,2,0],[1,0,3],[1,0,0],[0,2,3],[0,2,0],[0,0,3],[0,0,0]]
62−-- | ```
63−-- |
64−-- | The `traverse` and `sequence` functions should be compatible in the
65−-- | following sense:
66−-- |
67−-- | - `traverse f xs = sequence (f <$> xs)`
68−-- | - `sequence = traverse identity`
69−-- |
70−-- | `Traversable` instances should also be compatible with the corresponding
71−-- | `Foldable` instances, in the following sense:
72−-- |
73−-- | - `foldMap f = runConst <<< traverse (Const <<< f)`
74−-- |
75−-- | Default implementations are provided by the following functions:
76−-- |
77−-- | - `traverseDefault`
78−-- | - `sequenceDefault`
79−class (Functor t, Foldable t) <= Traversable t where
80− traverse :: forall a b m. Applicative m => (a -> m b) -> t a -> m (t b)
81− sequence :: forall a m. Applicative m => t (m a) -> m (t a)
82−
83−-- | A default implementation of `traverse` using `sequence` and `map`.
84−traverseDefault
85− :: forall t a b m
86− . Traversable t
87− => Applicative m
88− => (a -> m b)
89− -> t a
90− -> m (t b)
91−traverseDefault f ta = sequence (f <$> ta)
92−
93−-- | A default implementation of `sequence` using `traverse`.
94−sequenceDefault
95− :: forall t a m
96− . Traversable t
97− => Applicative m
98− => t (m a)
99− -> m (t a)
100−sequenceDefault = traverse identity
101−
102−instance traversableArray :: Traversable Array where
103− traverse = traverseArrayImpl apply map pure
104− sequence = sequenceDefault
105−
106−foreign import traverseArrayImpl
107− :: forall m a b
108− . (forall x y. m (x -> y) -> m x -> m y)
109− -> (forall x y. (x -> y) -> m x -> m y)
110− -> (forall x. x -> m x)
111− -> (a -> m b)
112− -> Array a
113− -> m (Array b)
114−
115−instance traversableMaybe :: Traversable Maybe where
116− traverse _ Nothing = pure Nothing
117− traverse f (Just x) = Just <$> f x
118− sequence Nothing = pure Nothing
119− sequence (Just x) = Just <$> x
120−
121−instance traversableFirst :: Traversable First where
122− traverse f (First x) = First <$> traverse f x
123− sequence (First x) = First <$> sequence x
124−
125−instance traversableLast :: Traversable Last where
126− traverse f (Last x) = Last <$> traverse f x
127− sequence (Last x) = Last <$> sequence x
128−
129−instance traversableAdditive :: Traversable Additive where
130− traverse f (Additive x) = Additive <$> f x
131− sequence (Additive x) = Additive <$> x
132−
133−instance traversableDual :: Traversable Dual where
134− traverse f (Dual x) = Dual <$> f x
135− sequence (Dual x) = Dual <$> x
136−
137−instance traversableConj :: Traversable Conj where
138− traverse f (Conj x) = Conj <$> f x
139− sequence (Conj x) = Conj <$> x
140−
141−instance traversableDisj :: Traversable Disj where
142− traverse f (Disj x) = Disj <$> f x
143− sequence (Disj x) = Disj <$> x
144−
145−instance traversableMultiplicative :: Traversable Multiplicative where
146− traverse f (Multiplicative x) = Multiplicative <$> f x
147− sequence (Multiplicative x) = Multiplicative <$> x
148−
149−instance traversableEither :: Traversable (Either a) where
150− traverse _ (Left x) = pure (Left x)
151− traverse f (Right x) = Right <$> f x
152− sequence (Left x) = pure (Left x)
153− sequence (Right x) = Right <$> x
154−
155−instance traversableTuple :: Traversable (Tuple a) where
156− traverse f (Tuple x y) = Tuple x <$> f y
157− sequence (Tuple x y) = Tuple x <$> y
158−
159−instance traversableIdentity :: Traversable Identity where
160− traverse f (Identity x) = Identity <$> f x
161− sequence (Identity x) = Identity <$> x
162−
163−instance traversableConst :: Traversable (Const a) where
164− traverse _ (Const x) = pure (Const x)
165− sequence (Const x) = pure (Const x)
166−
167−instance traversableProduct :: (Traversable f, Traversable g) => Traversable (Product f g) where
168− traverse f (Product (Tuple fa ga)) = lift2 product (traverse f fa) (traverse f ga)
169− sequence (Product (Tuple fa ga)) = lift2 product (sequence fa) (sequence ga)
170−
171−instance traversableCoproduct :: (Traversable f, Traversable g) => Traversable (Coproduct f g) where
172− traverse f = coproduct
173− (map (Coproduct <<< Left) <<< traverse f)
174− (map (Coproduct <<< Right) <<< traverse f)
175− sequence = coproduct
176− (map (Coproduct <<< Left) <<< sequence)
177− (map (Coproduct <<< Right) <<< sequence)
178−
179−instance traversableCompose :: (Traversable f, Traversable g) => Traversable (Compose f g) where
180− traverse f (Compose fga) = map Compose $ traverse (traverse f) fga
181− sequence = traverse identity
182−
183−instance traversableApp :: Traversable f => Traversable (App f) where
184− traverse f (App x) = App <$> traverse f x
185− sequence (App x) = App <$> sequence x
186−
187−-- | A version of `traverse` with its arguments flipped.
188−-- |
189−-- |
190−-- | This can be useful when running an action written using do notation
191−-- | for every element in a data structure:
192−-- |
193−-- | For example:
194−-- |
195−-- | ```purescript
196−-- | for [1, 2, 3] \n -> do
197−-- | print n
198−-- | return (n * n)
199−-- | ```
200−for
201− :: forall a b m t
202− . Applicative m
203− => Traversable t
204− => t a
205− -> (a -> m b)
206− -> m (t b)
207−for x f = traverse f x
208−
209−-- | Fold a data structure from the left, keeping all intermediate results
210−-- | instead of only the final result. Note that the initial value does not
211−-- | appear in the result (unlike Haskell's `Prelude.scanl`).
212−-- |
213−-- | ```purescript
214−-- | scanl (+) 0 [1,2,3] = [1,3,6]
215−-- | scanl (-) 10 [1,2,3] = [9,7,4]
216−-- | ```
217−scanl :: forall a b f. Traversable f => (b -> a -> b) -> b -> f a -> f b
218−scanl f b0 xs = (mapAccumL (\b a -> let b' = f b a in { accum: b', value: b' }) b0 xs).value
219−
220−-- | Fold a data structure from the left, keeping all intermediate results
221−-- | instead of only the final result.
222−-- |
223−-- | Unlike `scanl`, `mapAccumL` allows the type of accumulator to differ
224−-- | from the element type of the final data structure.
225−mapAccumL
226− :: forall a b s f
227− . Traversable f
228− => (s -> a -> Accum s b)
229− -> s
230− -> f a
231− -> Accum s (f b)
232−mapAccumL f s0 xs = stateL (traverse (\a -> StateL \s -> f s a) xs) s0
233−
234−-- | Fold a data structure from the right, keeping all intermediate results
235−-- | instead of only the final result. Note that the initial value does not
236−-- | appear in the result (unlike Haskell's `Prelude.scanr`).
237−-- |
238−-- | ```purescript
239−-- | scanr (+) 0 [1,2,3] = [6,5,3]
240−-- | scanr (flip (-)) 10 [1,2,3] = [4,5,7]
241−-- | ```
242−scanr :: forall a b f. Traversable f => (a -> b -> b) -> b -> f a -> f b
243−scanr f b0 xs = (mapAccumR (\b a -> let b' = f a b in { accum: b', value: b' }) b0 xs).value
244−
245−-- | Fold a data structure from the right, keeping all intermediate results
246−-- | instead of only the final result.
247−-- |
248−-- | Unlike `scanr`, `mapAccumR` allows the type of accumulator to differ
249−-- | from the element type of the final data structure.
250−mapAccumR
251− :: forall a b s f
252− . Traversable f
253− => (s -> a -> Accum s b)
254− -> s
255− -> f a
256− -> Accum s (f b)
257−mapAccumR f s0 xs = stateR (traverse (\a -> StateR \s -> f s a) xs) s0
.spago/p/foldable-traversable-6.0.0/src/Data/Traversable/Accum.pursdeleted−5
@@ -1,5 +0,0 @@
1−module Data.Traversable.Accum
2− ( Accum
3− ) where
4−
5−type Accum s a = { accum :: s, value :: a }
.spago/p/foldable-traversable-6.0.0/src/Data/Traversable/Accum/Internal.pursdeleted−44
@@ -1,44 +0,0 @@
1−module Data.Traversable.Accum.Internal
2− ( StateL(..)
3− , stateL
4− , StateR(..)
5− , stateR
6− ) where
7−
8−import Prelude
9−import Data.Traversable.Accum (Accum)
10−
11−newtype StateL s a = StateL (s -> Accum s a)
12−
13−stateL :: forall s a. StateL s a -> s -> Accum s a
14−stateL (StateL k) = k
15−
16−instance functorStateL :: Functor (StateL s) where
17− map f k = StateL \s -> case stateL k s of
18− { accum: s1, value: a } -> { accum: s1, value: f a }
19−
20−instance applyStateL :: Apply (StateL s) where
21− apply f x = StateL \s -> case stateL f s of
22− { accum: s1, value: f' } -> case stateL x s1 of
23− { accum: s2, value: x' } -> { accum: s2, value: f' x' }
24−
25−instance applicativeStateL :: Applicative (StateL s) where
26− pure a = StateL \s -> { accum: s, value: a }
27−
28−
29−newtype StateR s a = StateR (s -> Accum s a)
30−
31−stateR :: forall s a. StateR s a -> s -> Accum s a
32−stateR (StateR k) = k
33−
34−instance functorStateR :: Functor (StateR s) where
35− map f k = StateR \s -> case stateR k s of
36− { accum: s1, value: a } -> { accum: s1, value: f a }
37−
38−instance applyStateR :: Apply (StateR s) where
39− apply f x = StateR \s -> case stateR x s of
40− { accum: s1, value: x' } -> case stateR f s1 of
41− { accum: s2, value: f' } -> { accum: s2, value: f' x' }
42−
43−instance applicativeStateR :: Applicative (StateR s) where
44− pure a = StateR \s -> { accum: s, value: a }
.spago/p/foldable-traversable-6.0.0/src/Data/TraversableWithIndex.pursdeleted−213
@@ -1,213 +0,0 @@
1−module Data.TraversableWithIndex
2− ( class TraversableWithIndex, traverseWithIndex
3− , traverseWithIndexDefault
4− , forWithIndex
5− , scanlWithIndex
6− , mapAccumLWithIndex
7− , scanrWithIndex
8− , mapAccumRWithIndex
9− , traverseDefault
10− , module Data.Traversable.Accum
11− ) where
12−
13−import Prelude
14−
15−import Control.Apply (lift2)
16−import Data.Const (Const(..))
17−import Data.Either (Either(..))
18−import Data.FoldableWithIndex (class FoldableWithIndex)
19−import Data.Functor.App (App(..))
20−import Data.Functor.Compose (Compose(..))
21−import Data.Functor.Coproduct (Coproduct(..), coproduct)
22−import Data.Functor.Product (Product(..), product)
23−import Data.FunctorWithIndex (class FunctorWithIndex, mapWithIndex)
24−import Data.Identity (Identity(..))
25−import Data.Maybe (Maybe)
26−import Data.Maybe.First (First)
27−import Data.Maybe.Last (Last)
28−import Data.Monoid.Additive (Additive)
29−import Data.Monoid.Conj (Conj)
30−import Data.Monoid.Disj (Disj)
31−import Data.Monoid.Dual (Dual)
32−import Data.Monoid.Multiplicative (Multiplicative)
33−import Data.Traversable (class Traversable, sequence, traverse)
34−import Data.Traversable.Accum (Accum)
35−import Data.Traversable.Accum.Internal (StateL(..), StateR(..), stateL, stateR)
36−import Data.Tuple (Tuple(..), curry)
37−
38−
39−-- | A `Traversable` with an additional index.
40−-- | A `TraversableWithIndex` instance must be compatible with its
41−-- | `Traversable` instance
42−-- | ```purescript
43−-- | traverse f = traverseWithIndex (const f)
44−-- | ```
45−-- | with its `FoldableWithIndex` instance
46−-- | ```
47−-- | foldMapWithIndex f = unwrap <<< traverseWithIndex (\i -> Const <<< f i)
48−-- | ```
49−-- | and with its `FunctorWithIndex` instance
50−-- | ```
51−-- | mapWithIndex f = unwrap <<< traverseWithIndex (\i -> Identity <<< f i)
52−-- | ```
53−-- |
54−-- | A default implementation is provided by `traverseWithIndexDefault`.
55−class (FunctorWithIndex i t, FoldableWithIndex i t, Traversable t) <= TraversableWithIndex i t | t -> i where
56− traverseWithIndex :: forall a b m. Applicative m => (i -> a -> m b) -> t a -> m (t b)
57−
58−-- | A default implementation of `traverseWithIndex` using `sequence` and `mapWithIndex`.
59−traverseWithIndexDefault
60− :: forall i t a b m
61− . TraversableWithIndex i t
62− => Applicative m
63− => (i -> a -> m b)
64− -> t a
65− -> m (t b)
66−traverseWithIndexDefault f = sequence <<< mapWithIndex f
67−
68−instance traversableWithIndexArray :: TraversableWithIndex Int Array where
69− traverseWithIndex = traverseWithIndexDefault
70−
71−instance traversableWithIndexMaybe :: TraversableWithIndex Unit Maybe where
72− traverseWithIndex f = traverse $ f unit
73−
74−instance traversableWithIndexFirst :: TraversableWithIndex Unit First where
75− traverseWithIndex f = traverse $ f unit
76−
77−instance traversableWithIndexLast :: TraversableWithIndex Unit Last where
78− traverseWithIndex f = traverse $ f unit
79−
80−instance traversableWithIndexAdditive :: TraversableWithIndex Unit Additive where
81− traverseWithIndex f = traverse $ f unit
82−
83−instance traversableWithIndexDual :: TraversableWithIndex Unit Dual where
84− traverseWithIndex f = traverse $ f unit
85−
86−instance traversableWithIndexConj :: TraversableWithIndex Unit Conj where
87− traverseWithIndex f = traverse $ f unit
88−
89−instance traversableWithIndexDisj :: TraversableWithIndex Unit Disj where
90− traverseWithIndex f = traverse $ f unit
91−
92−instance traversableWithIndexMultiplicative :: TraversableWithIndex Unit Multiplicative where
93− traverseWithIndex f = traverse $ f unit
94−
95−instance traversableWithIndexEither :: TraversableWithIndex Unit (Either a) where
96− traverseWithIndex _ (Left x) = pure (Left x)
97− traverseWithIndex f (Right x) = Right <$> f unit x
98−
99−instance traversableWithIndexTuple :: TraversableWithIndex Unit (Tuple a) where
100− traverseWithIndex f (Tuple x y) = Tuple x <$> f unit y
101−
102−instance traversableWithIndexIdentity :: TraversableWithIndex Unit Identity where
103− traverseWithIndex f (Identity x) = Identity <$> f unit x
104−
105−instance traversableWithIndexConst :: TraversableWithIndex Void (Const a) where
106− traverseWithIndex _ (Const x) = pure (Const x)
107−
108−instance traversableWithIndexProduct :: (TraversableWithIndex a f, TraversableWithIndex b g) => TraversableWithIndex (Either a b) (Product f g) where
109− traverseWithIndex f (Product (Tuple fa ga)) = lift2 product (traverseWithIndex (f <<< Left) fa) (traverseWithIndex (f <<< Right) ga)
110−
111−instance traversableWithIndexCoproduct :: (TraversableWithIndex a f, TraversableWithIndex b g) => TraversableWithIndex (Either a b) (Coproduct f g) where
112− traverseWithIndex f = coproduct
113− (map (Coproduct <<< Left) <<< traverseWithIndex (f <<< Left))
114− (map (Coproduct <<< Right) <<< traverseWithIndex (f <<< Right))
115−
116−instance traversableWithIndexCompose :: (TraversableWithIndex a f, TraversableWithIndex b g) => TraversableWithIndex (Tuple a b) (Compose f g) where
117− traverseWithIndex f (Compose fga) = map Compose $ traverseWithIndex (traverseWithIndex <<< curry f) fga
118−
119−instance traversableWithIndexApp :: TraversableWithIndex a f => TraversableWithIndex a (App f) where
120− traverseWithIndex f (App x) = App <$> traverseWithIndex f x
121−
122−-- | A version of `traverseWithIndex` with its arguments flipped.
123−-- |
124−-- |
125−-- | This can be useful when running an action written using do notation
126−-- | for every element in a data structure:
127−-- |
128−-- | For example:
129−-- |
130−-- | ```purescript
131−-- | for [1, 2, 3] \i x -> do
132−-- | logShow i
133−-- | pure (x * x)
134−-- | ```
135−forWithIndex
136− :: forall i a b m t
137− . Applicative m
138− => TraversableWithIndex i t
139− => t a
140− -> (i -> a -> m b)
141− -> m (t b)
142−forWithIndex = flip traverseWithIndex
143−
144−-- | Fold a data structure from the left with access to the indices, keeping
145−-- | all intermediate results instead of only the final result. Note that the
146−-- | initial value does not appear in the result (unlike Haskell's
147−-- | `Prelude.scanl`).
148−-- |
149−-- | ```purescript
150−-- | scanlWithIndex (\i y x -> i + y + x) 0 [1, 2, 3] = [1, 4, 9]
151−-- | ```
152−scanlWithIndex
153− :: forall i a b f
154− . TraversableWithIndex i f
155− => (i -> b -> a -> b)
156− -> b
157− -> f a
158− -> f b
159−scanlWithIndex f b0 xs =
160− (mapAccumLWithIndex (\i b a -> let b' = f i b a in { accum: b', value: b' }) b0 xs).value
161−
162−-- | Fold a data structure from the left with access to the indices, keeping
163−-- | all intermediate results instead of only the final result.
164−-- |
165−-- | Unlike `scanlWithIndex`, `mapAccumLWithIndex` allows the type of accumulator to differ
166−-- | from the element type of the final data structure.
167−mapAccumLWithIndex
168− :: forall i a b s f
169− . TraversableWithIndex i f
170− => (i -> s -> a -> Accum s b)
171− -> s
172− -> f a
173− -> Accum s (f b)
174−mapAccumLWithIndex f s0 xs = stateL (traverseWithIndex (\i a -> StateL \s -> f i s a) xs) s0
175−
176−-- | Fold a data structure from the right with access to the indices, keeping
177−-- | all intermediate results instead of only the final result. Note that the
178−-- | initial value does not appear in the result (unlike Haskell's `Prelude.scanr`).
179−-- |
180−-- | ```purescript
181−-- | scanrWithIndex (\i x y -> i + x + y) 0 [1, 2, 3] = [9, 8, 5]
182−-- | ```
183−scanrWithIndex
184− :: forall i a b f
185− . TraversableWithIndex i f
186− => (i -> a -> b -> b)
187− -> b
188− -> f a
189− -> f b
190−scanrWithIndex f b0 xs =
191− (mapAccumRWithIndex (\i b a -> let b' = f i a b in { accum: b', value: b' }) b0 xs).value
192−
193−-- | Fold a data structure from the right with access to the indices, keeping
194−-- | all intermediate results instead of only the final result.
195−-- |
196−-- | Unlike `scanrWithIndex`, `imapAccumRWithIndex` allows the type of accumulator to differ
197−-- | from the element type of the final data structure.
198−mapAccumRWithIndex
199− :: forall i a b s f
200− . TraversableWithIndex i f
201− => (i -> s -> a -> Accum s b)
202− -> s
203− -> f a
204− -> Accum s (f b)
205−mapAccumRWithIndex f s0 xs = stateR (traverseWithIndex (\i a -> StateR \s -> f i s a) xs) s0
206−
207−-- | A default implementation of `traverse` in terms of `traverseWithIndex`
208−traverseDefault
209− :: forall i t a b m
210− . TraversableWithIndex i t
211− => Applicative m
212− => (a -> m b) -> t a -> m (t b)
213−traverseDefault f = traverseWithIndex (const f)
.spago/p/foreign-7.0.0/LICENSEdeleted−26
@@ -1,26 +0,0 @@
1−Copyright 2018 PureScript
2−
3−Redistribution and use in source and binary forms, with or without modification,
4−are permitted provided that the following conditions are met:
5−
6−1. Redistributions of source code must retain the above copyright notice, this
7−list of conditions and the following disclaimer.
8−
9−2. Redistributions in binary form must reproduce the above copyright notice,
10−this list of conditions and the following disclaimer in the documentation and/or
11−other materials provided with the distribution.
12−
13−3. Neither the name of the copyright holder nor the names of its contributors
14−may be used to endorse or promote products derived from this software without
15−specific prior written permission.
16−
17−THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18−ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19−WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20−DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
21−ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22−(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23−LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24−ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25−(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26−SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.spago/p/foreign-7.0.0/README.mddeleted−29
@@ -1,29 +0,0 @@
1−# purescript-foreign
2−
3−[![Latest release](http://img.shields.io/github/release/purescript/purescript-foreign.svg)](https://github.com/purescript/purescript-foreign/releases)
4−[![Build status](https://github.com/purescript/purescript-foreign/workflows/CI/badge.svg?branch=master)](https://github.com/purescript/purescript-foreign/actions?query=workflow%3ACI+branch%3Amaster)
5−[![Pursuit](https://pursuit.purescript.org/packages/purescript-foreign/badge)](https://pursuit.purescript.org/packages/purescript-foreign)
6−
7−Library for dealing with foreign data (JavaScript objects).
8−
9−## Installation
10−
11−```
12−spago install foreign
13−```
14−
15−## Examples
16−
17−- [Simple types](examples/SimpleTypes.purs)
18−- [Arrays](examples/Arrays.purs)
19−- [Objects](examples/Objects.purs)
20−- [Complex objects](examples/Complex.purs)
21−- [Applicative style parser](examples/Applicative.purs)
22−- [Maybe for nulls](examples/MaybeNullable.purs)
23−- [Nested objects](examples/Nested.purs)
24−- [Unions](examples/Union.purs)
25−- [Parser errors](examples/ParseErrors.purs)
26−
27−## Documentation
28−
29−Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-foreign).
.spago/p/foreign-7.0.0/bower.jsondeleted−36
@@ -1,36 +0,0 @@
1−{
2− "name": "purescript-foreign",
3− "homepage": "https://github.com/purescript/purescript-foreign",
4− "authors": [
5− "Gary Burgess <gary.burgess@gmail.com>",
6− "Phil Freeman <paf31@cantab.net>"
7− ],
8− "repository": {
9− "type": "git",
10− "url": "https://github.com/purescript/purescript-foreign.git"
11− },
12− "license": "BSD-3-Clause",
13− "ignore": [
14− "**/.*",
15− "bower_components",
16− "examples",
17− "node_modules",
18− "output",
19− "bower.json",
20− "package.json"
21− ],
22− "dependencies": {
23− "purescript-either": "^6.0.0",
24− "purescript-functions": "^6.0.0",
25− "purescript-identity": "^6.0.0",
26− "purescript-integers": "^6.0.0",
27− "purescript-lists": "^7.0.0",
28− "purescript-maybe": "^6.0.0",
29− "purescript-prelude": "^6.0.0",
30− "purescript-strings": "^6.0.0",
31− "purescript-transformers": "^6.0.0"
32− },
33− "devDependencies": {
34− "purescript-console": "^6.0.0"
35− }
36−}
.spago/p/foreign-7.0.0/package.jsondeleted−14
@@ -1,14 +0,0 @@
1−{
2− "private": true,
3− "scripts": {
4− "clean": "rimraf output && rimraf .pulp-cache",
5− "build": "eslint src && pulp build -- --censor-lib --strict",
6− "test": "pulp build -I examples -- --censor-lib --strict"
7− },
8− "devDependencies": {
9− "eslint": "^7.15.0",
10− "pulp": "16.0.0-0",
11− "purescript-psa": "^0.8.2",
12− "rimraf": "^3.0.2"
13− }
14−}
.spago/p/foreign-7.0.0/purs.jsondeleted−20
@@ -1,20 +0,0 @@
1−{
2− "name": "foreign",
3− "version": "7.0.0",
4− "license": "BSD-3-Clause",
5− "location": {
6− "githubOwner": "purescript",
7− "githubRepo": "purescript-foreign"
8− },
9− "dependencies": {
10− "either": ">=6.0.0 <7.0.0",
11− "functions": ">=6.0.0 <7.0.0",
12− "identity": ">=6.0.0 <7.0.0",
13− "integers": ">=6.0.0 <7.0.0",
14− "lists": ">=7.0.0 <8.0.0",
15− "maybe": ">=6.0.0 <7.0.0",
16− "prelude": ">=6.0.0 <7.0.0",
17− "strings": ">=6.0.0 <7.0.0",
18− "transformers": ">=6.0.0 <7.0.0"
19− }
20−}
.spago/p/foreign-7.0.0/src/Foreign.jsdeleted−19
@@ -1,19 +0,0 @@
1−export function typeOf(value) {
2− return typeof value;
3−}
4−
5−export function tagOf(value) {
6− return Object.prototype.toString.call(value).slice(8, -1);
7−}
8−
9−export function isNull(value) {
10− return value === null;
11−}
12−
13−export function isUndefined(value) {
14− return value === undefined;
15−}
16−
17−export const isArray = Array.isArray || function (value) {
18− return Object.prototype.toString.call(value) === "[object Array]";
19−};
.spago/p/foreign-7.0.0/src/Foreign.pursdeleted−186
@@ -1,186 +0,0 @@
1−-- | This module defines types and functions for working with _foreign_
2−-- | data.
3−-- |
4−-- | `ExceptT (NonEmptyList ForeignError) m` is used in this library
5−-- | to encode possible failures when dealing with foreign data.
6−-- |
7−-- | The `Alt` instance for `ExceptT` allows us to accumulate errors,
8−-- | unlike `Either`, which preserves only the last error.
9−module Foreign
10− ( Foreign
11− , ForeignError(..)
12− , MultipleErrors(..)
13− , F
14− , FT
15− , renderForeignError
16− , unsafeToForeign
17− , unsafeFromForeign
18− , unsafeReadTagged
19− , typeOf
20− , tagOf
21− , isNull
22− , isUndefined
23− , isArray
24− , readString
25− , readChar
26− , readBoolean
27− , readNumber
28− , readInt
29− , readArray
30− , readNull
31− , readUndefined
32− , readNullOrUndefined
33− , fail
34− ) where
35−
36−import Prelude
37−
38−import Control.Monad.Except (Except, ExceptT, mapExceptT, throwError)
39−import Data.Either (Either(..), either)
40−import Data.Int as Int
41−import Data.List.NonEmpty (NonEmptyList)
42−import Data.List.NonEmpty as NEL
43−import Data.Maybe (Maybe(..), maybe)
44−import Data.String.CodeUnits (toChar)
45−import Unsafe.Coerce (unsafeCoerce)
46−
47−-- | A type for _foreign data_.
48−-- |
49−-- | Foreign data is data from any external _unknown_ or _unreliable_
50−-- | source, for which it cannot be guaranteed that the runtime representation
51−-- | conforms to that of any particular type.
52−-- |
53−-- | Suitable applications of `Foreign` are
54−-- |
55−-- | - To represent responses from web services
56−-- | - To integrate with external JavaScript libraries.
57−foreign import data Foreign :: Type
58−
59−-- | A type for foreign type errors
60−data ForeignError
61− = ForeignError String
62− | TypeMismatch String String
63− | ErrorAtIndex Int ForeignError
64− | ErrorAtProperty String ForeignError
65−
66−derive instance eqForeignError :: Eq ForeignError
67−derive instance ordForeignError :: Ord ForeignError
68−
69−instance showForeignError :: Show ForeignError where
70− show (ForeignError msg) = "(ForeignError " <> show msg <> ")"
71− show (ErrorAtIndex i e) = "(ErrorAtIndex " <> show i <> " " <> show e <> ")"
72− show (ErrorAtProperty prop e) = "(ErrorAtProperty " <> show prop <> " " <> show e <> ")"
73− show (TypeMismatch exps act) = "(TypeMismatch " <> show exps <> " " <> show act <> ")"
74−
75−-- | A type for accumulating multiple `ForeignError`s.
76−type MultipleErrors = NonEmptyList ForeignError
77−
78−renderForeignError :: ForeignError -> String
79−renderForeignError (ForeignError msg) = msg
80−renderForeignError (ErrorAtIndex i e) = "Error at array index " <> show i <> ": " <> renderForeignError e
81−renderForeignError (ErrorAtProperty prop e) = "Error at property " <> show prop <> ": " <> renderForeignError e
82−renderForeignError (TypeMismatch exp act) = "Type mismatch: expected " <> exp <> ", found " <> act
83−
84−-- | While this alias is not deprecated, it is recommended
85−-- | that one use `Except (NonEmptyList ForeignError)` directly
86−-- | for all future usages rather than this type alias.
87−-- |
88−-- | An error monad, used in this library to encode possible failures when
89−-- | dealing with foreign data.
90−-- |
91−-- | The `Alt` instance for `Except` allows us to accumulate errors,
92−-- | unlike `Either`, which preserves only the last error.
93−type F = Except MultipleErrors
94−
95−-- | While this alias is not deprecated, it is recommended
96−-- | that one use `ExceptT (NonEmptyList ForeignError)` directly
97−-- | for all future usages rather than this type alias.
98−type FT = ExceptT MultipleErrors
99−
100−-- | Coerce any value to the a `Foreign` value.
101−-- |
102−-- | This is considered unsafe as it's only intended to be used on primitive
103−-- | JavaScript types, rather than PureScript types. Exporting PureScript values
104−-- | via the FFI can be dangerous as they can be mutated by code outside the
105−-- | PureScript program, resulting in difficult to diagnose problems elsewhere.
106−unsafeToForeign :: forall a. a -> Foreign
107−unsafeToForeign = unsafeCoerce
108−
109−-- | Unsafely coerce a `Foreign` value.
110−unsafeFromForeign :: forall a. Foreign -> a
111−unsafeFromForeign = unsafeCoerce
112−
113−-- | Read the Javascript _type_ of a value
114−foreign import typeOf :: Foreign -> String
115−
116−-- | Read the Javascript _tag_ of a value.
117−-- |
118−-- | This function wraps the `Object.toString` method.
119−foreign import tagOf :: Foreign -> String
120−
121−-- | Unsafely coerce a `Foreign` value when the value has a particular `tagOf`
122−-- | value.
123−unsafeReadTagged :: forall m a. Monad m => String -> Foreign -> ExceptT (NonEmptyList ForeignError) m a
124−unsafeReadTagged tag value
125− | tagOf value == tag = pure (unsafeFromForeign value)
126− | otherwise = fail $ TypeMismatch tag (tagOf value)
127−
128−-- | Test whether a foreign value is null
129−foreign import isNull :: Foreign -> Boolean
130−
131−-- | Test whether a foreign value is undefined
132−foreign import isUndefined :: Foreign -> Boolean
133−
134−-- | Test whether a foreign value is an array
135−foreign import isArray :: Foreign -> Boolean
136−
137−-- | Attempt to coerce a foreign value to a `String`.
138−readString :: forall m. Monad m => Foreign -> ExceptT (NonEmptyList ForeignError) m String
139−readString = unsafeReadTagged "String"
140−
141−-- | Attempt to coerce a foreign value to a `Char`.
142−readChar :: forall m. Monad m => Foreign -> ExceptT (NonEmptyList ForeignError) m Char
143−readChar value = mapExceptT (map $ either (const error) fromString) (readString value)
144− where
145− fromString = maybe error pure <<< toChar
146− error = Left $ NEL.singleton $ TypeMismatch "Char" (tagOf value)
147−
148−-- | Attempt to coerce a foreign value to a `Boolean`.
149−readBoolean :: forall m. Monad m => Foreign -> ExceptT (NonEmptyList ForeignError) m Boolean
150−readBoolean = unsafeReadTagged "Boolean"
151−
152−-- | Attempt to coerce a foreign value to a `Number`.
153−readNumber :: forall m. Monad m => Foreign -> ExceptT (NonEmptyList ForeignError) m Number
154−readNumber = unsafeReadTagged "Number"
155−
156−-- | Attempt to coerce a foreign value to an `Int`.
157−readInt :: forall m. Monad m => Foreign -> ExceptT (NonEmptyList ForeignError) m Int
158−readInt value = mapExceptT (map $ either (const error) fromNumber) (readNumber value)
159− where
160− fromNumber = maybe error pure <<< Int.fromNumber
161− error = Left $ NEL.singleton $ TypeMismatch "Int" (tagOf value)
162−
163−-- | Attempt to coerce a foreign value to an array.
164−readArray :: forall m. Monad m => Foreign -> ExceptT (NonEmptyList ForeignError) m (Array Foreign)
165−readArray value
166− | isArray value = pure $ unsafeFromForeign value
167− | otherwise = fail $ TypeMismatch "array" (tagOf value)
168−
169−readNull :: forall m. Monad m => Foreign -> ExceptT (NonEmptyList ForeignError) m (Maybe Foreign)
170−readNull value
171− | isNull value = pure Nothing
172− | otherwise = pure (Just value)
173−
174−readUndefined :: forall m. Monad m => Foreign -> ExceptT (NonEmptyList ForeignError) m (Maybe Foreign)
175−readUndefined value
176− | isUndefined value = pure Nothing
177− | otherwise = pure (Just value)
178−
179−readNullOrUndefined :: forall m. Monad m => Foreign -> ExceptT (NonEmptyList ForeignError) m (Maybe Foreign)
180−readNullOrUndefined value
181− | isNull value || isUndefined value = pure Nothing
182− | otherwise = pure (Just value)
183−
184−-- | Throws a failure error in `ExceptT (NonEmptyList ForeignError) m`.
185−fail :: forall m a. Monad m => ForeignError -> ExceptT (NonEmptyList ForeignError) m a
186−fail = throwError <<< NEL.singleton
.spago/p/foreign-7.0.0/src/Foreign/Index.jsdeleted−11
@@ -1,11 +0,0 @@
1−export function unsafeReadPropImpl(f, s, key, value) {
2− return value == null ? f : s(value[key]);
3−}
4−
5−export function unsafeHasOwnProperty(prop, value) {
6− return Object.prototype.hasOwnProperty.call(value, prop);
7−}
8−
9−export function unsafeHasProperty(prop, value) {
10− return prop in value;
11−}
.spago/p/foreign-7.0.0/src/Foreign/Index.pursdeleted−84
@@ -1,84 +0,0 @@
1−-- | This module defines a type class for types which act like
2−-- | _property indices_.
3−
4−module Foreign.Index
5− ( class Index
6− , class Indexable
7− , readProp
8− , readIndex
9− , ix, (!)
10− , index
11− , hasProperty
12− , hasOwnProperty
13− , errorAt
14− ) where
15−
16−import Prelude
17−
18−import Control.Monad.Except.Trans (ExceptT)
19−
20−import Foreign (Foreign, ForeignError(..), typeOf, isUndefined, isNull, fail)
21−import Data.Function.Uncurried (Fn2, runFn2, Fn4, runFn4)
22−import Data.List.NonEmpty (NonEmptyList)
23−
24−-- | This type class identifies types that act like _property indices_.
25−-- |
26−-- | The canonical instances are for `String`s and `Int`s.
27−class Index i m | i -> m where
28− index :: Foreign -> i -> ExceptT (NonEmptyList ForeignError) m Foreign
29− hasProperty :: i -> Foreign -> Boolean
30− hasOwnProperty :: i -> Foreign -> Boolean
31− errorAt :: i -> ForeignError -> ForeignError
32−
33−class Indexable a m | a -> m where
34− ix :: forall i. Index i m => a -> i -> ExceptT (NonEmptyList ForeignError) m Foreign
35−
36−infixl 9 ix as !
37−
38−foreign import unsafeReadPropImpl :: forall r k. Fn4 r (Foreign -> r) k Foreign r
39−
40−unsafeReadProp :: forall k m. Monad m => k -> Foreign -> ExceptT (NonEmptyList ForeignError) m Foreign
41−unsafeReadProp k value =
42− runFn4 unsafeReadPropImpl (fail (TypeMismatch "object" (typeOf value))) pure k value
43−
44−-- | Attempt to read a value from a foreign value property
45−readProp :: forall m. Monad m => String -> Foreign -> ExceptT (NonEmptyList ForeignError) m Foreign
46−readProp = unsafeReadProp
47−
48−-- | Attempt to read a value from a foreign value at the specified numeric index
49−readIndex :: forall m. Monad m => Int -> Foreign -> ExceptT (NonEmptyList ForeignError) m Foreign
50−readIndex = unsafeReadProp
51−
52−foreign import unsafeHasOwnProperty :: forall k. Fn2 k Foreign Boolean
53−
54−hasOwnPropertyImpl :: forall k. k -> Foreign -> Boolean
55−hasOwnPropertyImpl _ value | isNull value = false
56−hasOwnPropertyImpl _ value | isUndefined value = false
57−hasOwnPropertyImpl p value | typeOf value == "object" || typeOf value == "function" = runFn2 unsafeHasOwnProperty p value
58−hasOwnPropertyImpl _ _ = false
59−
60−foreign import unsafeHasProperty :: forall k. Fn2 k Foreign Boolean
61−
62−hasPropertyImpl :: forall k. k -> Foreign -> Boolean
63−hasPropertyImpl _ value | isNull value = false
64−hasPropertyImpl _ value | isUndefined value = false
65−hasPropertyImpl p value | typeOf value == "object" || typeOf value == "function" = runFn2 unsafeHasProperty p value
66−hasPropertyImpl _ _ = false
67−
68−instance indexString :: Monad m => Index String m where
69− index = flip readProp
70− hasProperty = hasPropertyImpl
71− hasOwnProperty = hasOwnPropertyImpl
72− errorAt = ErrorAtProperty
73−
74−instance indexInt :: Monad m => Index Int m where
75− index = flip readIndex
76− hasProperty = hasPropertyImpl
77− hasOwnProperty = hasOwnPropertyImpl
78− errorAt = ErrorAtIndex
79−
80−instance indexableForeign :: Monad m => Indexable Foreign m where
81− ix = index
82−
83−instance indexableExceptT :: Monad m => Indexable (ExceptT (NonEmptyList ForeignError) m Foreign) m where
84− ix f i = flip index i =<< f
.spago/p/foreign-7.0.0/src/Foreign/Keys.jsdeleted−9
@@ -1,9 +0,0 @@
1−export const unsafeKeys = Object.keys || function (value) {
2− var keys = [];
3− for (var prop in value) {
4− if (Object.prototype.hasOwnProperty.call(value, prop)) {
5− keys.push(prop);
6− }
7− }
8− return keys;
9−};
.spago/p/foreign-7.0.0/src/Foreign/Keys.pursdeleted−22
@@ -1,22 +0,0 @@
1−-- | This module provides functions for working with object properties
2−-- | of Javascript objects.
3−
4−module Foreign.Keys
5− ( keys
6− ) where
7−
8−import Prelude
9−
10−import Foreign (Foreign, ForeignError(..), typeOf, isUndefined, isNull, fail)
11−import Control.Monad.Except (ExceptT)
12−import Data.List.NonEmpty (NonEmptyList)
13−
14−foreign import unsafeKeys :: Foreign -> Array String
15−
16−-- | Get an array of the properties defined on a foreign value
17−keys :: forall m. Monad m => Foreign -> ExceptT (NonEmptyList ForeignError) m (Array String)
18−keys value
19− | isNull value = fail $ TypeMismatch "object" "null"
20− | isUndefined value = fail $ TypeMismatch "object" "undefined"
21− | typeOf value == "object" = pure $ unsafeKeys value
22− | otherwise = fail $ TypeMismatch "object" (typeOf value)
.spago/p/foreign-object-4.1.0/LICENSEdeleted−26
@@ -1,26 +0,0 @@
1−Copyright 2018 PureScript
2−
3−Redistribution and use in source and binary forms, with or without modification,
4−are permitted provided that the following conditions are met:
5−
6−1. Redistributions of source code must retain the above copyright notice, this
7−list of conditions and the following disclaimer.
8−
9−2. Redistributions in binary form must reproduce the above copyright notice,
10−this list of conditions and the following disclaimer in the documentation and/or
11−other materials provided with the distribution.
12−
13−3. Neither the name of the copyright holder nor the names of its contributors
14−may be used to endorse or promote products derived from this software without
15−specific prior written permission.
16−
17−THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18−ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19−WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20−DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
21−ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22−(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23−LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24−ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25−(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26−SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.spago/p/foreign-object-4.1.0/README.mddeleted−54
@@ -1,54 +0,0 @@
1−# purescript-foreign-object
2−
3−[![Latest release](http://img.shields.io/github/release/purescript/purescript-foreign-object.svg)](https://github.com/purescript/purescript-foreign-object/releases)
4−[![Build status](https://github.com/purescript/purescript-foreign-object/workflows/CI/badge.svg?branch=master)](https://github.com/purescript/purescript-foreign-object/actions?query=workflow%3ACI+branch%3Amaster)
5−[![Pursuit](https://pursuit.purescript.org/packages/purescript-foreign-object/badge)](https://pursuit.purescript.org/packages/purescript-foreign-object)
6−
7−Functions for working with homogeneous JavaScript objects from PureScript. Similar to using `Map String a` but simply reusing JavaScript objects.
8−
9−## Installation
10−
11−```
12−spago install foreign-object
13−```
14−
15−## Example
16−
17−```purs
18−example = do
19− let
20− -- make an empty Object
21− empty = FO.empty
22−
23− -- insert to an empty Object
24− inserted = FO.insert "a" 1 empty
25−
26− -- or: use the singleton function
27− -- singleton FO.singleton "a" 1
28−
29− -- lookup values for existing in the Object as a result of Maybe
30− let lookup = FO.lookup "a" inserted
31− Assert.assertEqual { actual: lookup, expected: Just 1 }
32−
33− -- delete a value from an Object
34− let deleted = FO.delete "a" inserted
35− Assert.assertEqual { actual: deleted, expected: FO.empty }
36−
37− let
38− -- convert homogeneous records to Object
39− converted = FO.fromHomogeneous { a: 1, b: 2, c: 3}
40− -- check that the converted is equal to a regularly built Object
41− built
42− = FO.empty
43− # FO.insert "a" 1
44− # FO.insert "b" 2
45− # FO.insert "c" 3
46−
47− Assert.assertEqual { actual: converted, expected: built }
48−```
49−
50−See the [tests](test/Main.purs) for more examples.
51−
52−## Documentation
53−
54−Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-foreign-object).
.spago/p/foreign-object-4.1.0/bower.jsondeleted−42
@@ -1,42 +0,0 @@
1−{
2− "name": "purescript-foreign-object",
3− "homepage": "https://github.com/purescript/purescript-foreign-object",
4− "authors": [
5− "Phil Freeman <paf31@cantab.net>",
6− "John A. De Goes <john@degoes.net>"
7− ],
8− "repository": {
9− "type": "git",
10− "url": "https://github.com/purescript/purescript-foreign-object.git"
11− },
12− "license": "BSD-3-Clause",
13− "ignore": [
14− "**/.*",
15− "bower_components",
16− "node_modules",
17− "output",
18− "test",
19− "bower.json",
20− "package.json"
21− ],
22− "dependencies": {
23− "purescript-arrays": "^7.0.0",
24− "purescript-foldable-traversable": "^6.0.0",
25− "purescript-functions": "^6.0.0",
26− "purescript-gen": "^4.0.0",
27− "purescript-lists": "^7.0.0",
28− "purescript-maybe": "^6.0.0",
29− "purescript-prelude": "^6.0.0",
30− "purescript-st": "^6.0.0",
31− "purescript-tailrec": "^6.0.0",
32− "purescript-tuples": "^7.0.0",
33− "purescript-typelevel-prelude": "^7.0.0",
34− "purescript-unfoldable": "^6.0.0"
35− },
36− "devDependencies": {
37− "purescript-assert": "^6.0.0",
38− "purescript-minibench": "^4.0.0",
39− "purescript-ordered-collections": "^3.0.0",
40− "purescript-quickcheck": "^8.0.1"
41− }
42−}
.spago/p/foreign-object-4.1.0/package.jsondeleted−17
@@ -1,17 +0,0 @@
1−{
2− "private": true,
3− "scripts": {
4− "clean": "rimraf output && rimraf .pulp-cache",
5− "build": "eslint src && pulp build -- --censor-lib --strict",
6− "test": "pulp test",
7− "bench:build": "purs compile 'bench/**/*.purs' 'src/**/*.purs' 'bower_components/*/src/**/*.purs'",
8− "bench:run": "node -e 'require(\"./output/Bench.Main/index.js\").main()'",
9− "bench": "npm run bench:build && npm run bench:run"
10− },
11− "devDependencies": {
12− "eslint": "^7.15.0",
13− "pulp": "16.0.0-0",
14− "purescript-psa": "^0.8.2",
15− "rimraf": "^3.0.2"
16− }
17−}
.spago/p/foreign-object-4.1.0/purs.jsondeleted−23
@@ -1,23 +0,0 @@
1−{
2− "name": "foreign-object",
3− "version": "4.1.0",
4− "license": "BSD-3-Clause",
5− "location": {
6− "githubOwner": "purescript",
7− "githubRepo": "purescript-foreign-object"
8− },
9− "dependencies": {
10− "arrays": ">=7.0.0 <8.0.0",
11− "foldable-traversable": ">=6.0.0 <7.0.0",
12− "functions": ">=6.0.0 <7.0.0",
13− "gen": ">=4.0.0 <5.0.0",
14− "lists": ">=7.0.0 <8.0.0",
15− "maybe": ">=6.0.0 <7.0.0",
16− "prelude": ">=6.0.0 <7.0.0",
17− "st": ">=6.0.0 <7.0.0",
18− "tailrec": ">=6.0.0 <7.0.0",
19− "tuples": ">=7.0.0 <8.0.0",
20− "typelevel-prelude": ">=7.0.0 <8.0.0",
21− "unfoldable": ">=6.0.0 <7.0.0"
22− }
23−}
.spago/p/foreign-object-4.1.0/src/Foreign/Object.jsdeleted−116
@@ -1,116 +0,0 @@
1−export function _copyST(m) {
2− return function () {
3− var r = {};
4− for (var k in m) {
5− if (hasOwnProperty.call(m, k)) {
6− r[k] = m[k];
7− }
8− }
9− return r;
10− };
11−}
12−
13−export const empty = {};
14−
15−export function runST(f) {
16− return f();
17−}
18−
19−export function _fmapObject(m0, f) {
20− var m = {};
21− for (var k in m0) {
22− if (hasOwnProperty.call(m0, k)) {
23− m[k] = f(m0[k]);
24− }
25− }
26− return m;
27−}
28−
29−export function _mapWithKey(m0, f) {
30− var m = {};
31− for (var k in m0) {
32− if (hasOwnProperty.call(m0, k)) {
33− m[k] = f(k)(m0[k]);
34− }
35− }
36− return m;
37−}
38−
39−export function _foldM(bind) {
40− return function (f) {
41− return function (mz) {
42− return function (m) {
43− var acc = mz;
44− function g(k) {
45− return function (z) {
46− return f(z)(k)(m[k]);
47− };
48− }
49− for (var k in m) {
50− if (hasOwnProperty.call(m, k)) {
51− acc = bind(acc)(g(k));
52− }
53− }
54− return acc;
55− };
56− };
57− };
58−}
59−
60−export function _foldSCObject(m, z, f, fromMaybe) {
61− var acc = z;
62− for (var k in m) {
63− if (hasOwnProperty.call(m, k)) {
64− var maybeR = f(acc)(k)(m[k]);
65− var r = fromMaybe(null)(maybeR);
66− if (r === null) return acc;
67− else acc = r;
68− }
69− }
70− return acc;
71−}
72−
73−export function all(f) {
74− return function (m) {
75− for (var k in m) {
76− if (hasOwnProperty.call(m, k) && !f(k)(m[k])) return false;
77− }
78− return true;
79− };
80−}
81−
82−export function size(m) {
83− var s = 0;
84− for (var k in m) {
85− if (hasOwnProperty.call(m, k)) {
86− ++s;
87− }
88− }
89− return s;
90−}
91−
92−export function _lookup(no, yes, k, m) {
93− return k in m ? yes(m[k]) : no;
94−}
95−
96−export function _lookupST(no, yes, k, m) {
97− return function () {
98− return k in m ? yes(m[k]) : no;
99− };
100−}
101−
102−export function toArrayWithKey(f) {
103− return function (m) {
104− var r = [];
105− for (var k in m) {
106− if (hasOwnProperty.call(m, k)) {
107− r.push(f(k)(m[k]));
108− }
109− }
110− return r;
111− };
112−}
113−
114−export const keys = Object.keys || toArrayWithKey(function (k) {
115− return function () { return k; };
116−});
.spago/p/foreign-object-4.1.0/src/Foreign/Object.pursdeleted−316
@@ -1,316 +0,0 @@
1−-- | This module defines a type of native homogeneous Javascript Objects.
2−-- |
3−-- | To maximize performance, Javascript objects are not wrapped,
4−-- | and some native code is used even when it's not necessary.
5−
6−module Foreign.Object
7− ( Object
8− , empty
9− , isEmpty
10− , size
11− , singleton
12− , insert
13− , lookup
14− , toUnfoldable
15− , toAscUnfoldable
16− , fromFoldable
17− , fromFoldableWith
18− , fromFoldableWithIndex
19− , fromHomogeneous
20− , delete
21− , pop
22− , member
23− , alter
24− , update
25− , mapWithKey
26− , filterWithKey
27− , filterKeys
28− , filter
29− , keys
30− , values
31− , union
32− , unionWith
33− , unions
34− , isSubmap
35− , fold
36− , foldMap
37− , foldM
38− , foldMaybe
39− , all
40− , thawST
41− , freezeST
42− , runST
43− , toArrayWithKey
44− ) where
45−
46−import Prelude
47−
48−import Control.Monad.ST (ST)
49−import Control.Monad.ST as ST
50−import Data.Array as A
51−import Data.Eq (class Eq1)
52−import Data.Foldable (class Foldable, foldl, foldr, for_)
53−import Data.FoldableWithIndex (class FoldableWithIndex, forWithIndex_)
54−import Data.Function.Uncurried (Fn2, runFn2, Fn4, runFn4)
55−import Data.FunctorWithIndex (class FunctorWithIndex)
56−import Data.Maybe (Maybe(..), maybe, fromMaybe)
57−import Data.Traversable (class Traversable, traverse)
58−import Data.TraversableWithIndex (class TraversableWithIndex, traverseWithIndex)
59−import Data.Tuple (Tuple(..), fst, uncurry)
60−import Data.Unfoldable (class Unfoldable)
61−import Foreign.Object.ST (STObject)
62−import Foreign.Object.ST as OST
63−import Type.Row.Homogeneous (class Homogeneous)
64−import Unsafe.Coerce (unsafeCoerce)
65−
66−-- | `Object a` represents a homogeneous JS Object with values of type `a`.
67−foreign import data Object :: Type -> Type
68−
69−type role Object representational
70−
71−foreign import _copyST :: forall a b r. a -> ST r b
72−
73−-- | Convert an immutable Object into a mutable Object
74−thawST :: forall a r. Object a -> ST r (STObject r a)
75−thawST = _copyST
76−
77−-- | Convert a mutable Object into an immutable Object
78−freezeST :: forall a r. STObject r a -> ST r (Object a)
79−freezeST = _copyST
80−
81−-- | Freeze a mutable Object, creating an immutable Object. Use this function as you would use
82−-- | `Control.Monad.ST.run` (from the `purescript-st` package) to freeze a mutable reference.
83−-- |
84−-- | The rank-2 type prevents the Object from escaping the scope of `runST`.
85−foreign import runST :: forall a. (forall r. ST r (STObject r a)) -> Object a
86−
87−mutate :: forall a b. (forall r. STObject r a -> ST r b) -> Object a -> Object a
88−mutate f m = runST do
89− s <- thawST m
90− _ <- f s
91− pure s
92−
93−foreign import _fmapObject :: forall a b. Fn2 (Object a) (a -> b) (Object b)
94−
95−instance functorObject :: Functor Object where
96− map f m = runFn2 _fmapObject m f
97−
98−instance functorWithIndexObject :: FunctorWithIndex String Object where
99− mapWithIndex = mapWithKey
100−
101−foreign import _foldM :: forall a m z. (m -> (z -> m) -> m) -> (z -> String -> a -> m) -> m -> Object a -> m
102−
103−-- | Fold the keys and values of an object
104−fold :: forall a z. (z -> String -> a -> z) -> z -> Object a -> z
105−fold = _foldM ((#))
106−
107−-- | Fold the keys and values of an object, accumulating values using some
108−-- | `Monoid`.
109−foldMap :: forall a m. Monoid m => (String -> a -> m) -> Object a -> m
110−foldMap f = fold (\acc k v -> acc <> f k v) mempty
111−
112−-- | Fold the keys and values of an object, accumulating values and effects in
113−-- | some `Monad`.
114−foldM :: forall a m z. Monad m => (z -> String -> a -> m z) -> z -> Object a -> m z
115−foldM f z = _foldM bind f (pure z)
116−
117−instance foldableObject :: Foldable Object where
118− foldl f = fold (\z _ -> f z)
119− foldr f z m = foldr f z (values m)
120− foldMap f = foldMap (const f)
121−
122−instance foldableWithIndexObject :: FoldableWithIndex String Object where
123− foldlWithIndex f = fold (flip f)
124− foldrWithIndex f z m = foldr (uncurry f) z (toArrayWithKey Tuple m)
125− foldMapWithIndex = foldMap
126−
127−instance traversableObject :: Traversable Object where
128− traverse = traverseWithIndex <<< const
129− sequence = traverse identity
130−
131−instance traversableWithIndexObject :: TraversableWithIndex String Object where
132− traverseWithIndex f ms =
133− fold (\acc k v -> flip (insert k) <$> acc <*> f k v) (pure empty) ms
134−
135−-- Unfortunately the above are not short-circuitable (consider using purescript-machines)
136−-- so we need special cases:
137−
138−foreign import _foldSCObject :: forall a z. Fn4 (Object a) z (z -> String -> a -> Maybe z) (forall b. b -> Maybe b -> b) z
139−
140−-- | Fold the keys and values of a map.
141−-- |
142−-- | This function allows the folding function to terminate the fold early,
143−-- | using `Maybe`.
144−foldMaybe :: forall a z. (z -> String -> a -> Maybe z) -> z -> Object a -> z
145−foldMaybe f z m = runFn4 _foldSCObject m z f fromMaybe
146−
147−-- | Test whether all key/value pairs in a `Object` satisfy a predicate.
148−foreign import all :: forall a. (String -> a -> Boolean) -> Object a -> Boolean
149−
150−instance eqObject :: Eq a => Eq (Object a) where
151− eq m1 m2 = (isSubmap m1 m2) && (isSubmap m2 m1)
152−
153−instance eq1Object :: Eq1 Object where
154− eq1 = eq
155−
156−-- Internal use
157−toAscArray :: forall v. Object v -> Array (Tuple String v)
158−toAscArray = toAscUnfoldable
159−
160−instance ordObject :: Ord a => Ord (Object a) where
161− compare m1 m2 = compare (toAscArray m1) (toAscArray m2)
162−
163−instance showObject :: Show a => Show (Object a) where
164− show m = "(fromFoldable " <> show (toArray m) <> ")"
165−
166−-- | An empty map
167−foreign import empty :: forall a. Object a
168−
169−-- | Test whether one map contains all of the keys and values contained in another map
170−isSubmap :: forall a. Eq a => Object a -> Object a -> Boolean
171−isSubmap m1 m2 = all f m1 where
172− f k v = runFn4 _lookup false ((==) v) k m2
173−
174−-- | Test whether a map is empty
175−isEmpty :: forall a. Object a -> Boolean
176−isEmpty = all (\_ _ -> false)
177−
178−-- | Calculate the number of key/value pairs in a map
179−foreign import size :: forall a. Object a -> Int
180−
181−-- | Create an `Object a` with one key/value pair
182−singleton :: forall a. String -> a -> Object a
183−singleton k v = runST (OST.poke k v =<< OST.new)
184−
185−foreign import _lookup :: forall a z. Fn4 z (a -> z) String (Object a) z
186−
187−-- | Lookup the value for a key in a map
188−lookup :: forall a. String -> Object a -> Maybe a
189−lookup = runFn4 _lookup Nothing Just
190−
191−-- | Test whether a `String` appears as a key in a map
192−member :: forall a. String -> Object a -> Boolean
193−member = runFn4 _lookup false (const true)
194−
195−-- | Insert or replace a key/value pair in a map
196−insert :: forall a. String -> a -> Object a -> Object a
197−insert k v = mutate (OST.poke k v)
198−
199−-- | Delete a key and value from a map
200−delete :: forall a. String -> Object a -> Object a
201−delete k = mutate (OST.delete k)
202−
203−-- | Delete a key and value from a map, returning the value
204−-- | as well as the subsequent map
205−pop :: forall a. String -> Object a -> Maybe (Tuple a (Object a))
206−pop k m = lookup k m <#> \a -> Tuple a (delete k m)
207−
208−-- | Insert, remove or update a value for a key in a map
209−alter :: forall a. (Maybe a -> Maybe a) -> String -> Object a -> Object a
210−alter f k m = case f (k `lookup` m) of
211− Nothing -> delete k m
212− Just v -> insert k v m
213−
214−-- | Remove or update a value for a key in a map
215−update :: forall a. (a -> Maybe a) -> String -> Object a -> Object a
216−update f k m = alter (maybe Nothing f) k m
217−
218−-- | Create an `Object a` from a foldable collection of key/value pairs
219−fromFoldable :: forall f a. Foldable f => f (Tuple String a) -> Object a
220−fromFoldable l = runST do
221− s <- OST.new
222− ST.foreach (A.fromFoldable l) \(Tuple k v) -> void $ OST.poke k v s
223− pure s
224−
225−-- | Create an `Object a` from a `String`-indexed foldable collection
226−fromFoldableWithIndex :: forall f a. FoldableWithIndex String f => f a -> Object a
227−fromFoldableWithIndex l = runST do
228− s <- OST.new
229− forWithIndex_ l \k v -> OST.poke k v s
230− pure s
231−
232−foreign import _lookupST :: forall a r z. Fn4 z (a -> z) String (STObject r a) (ST r z)
233−
234−-- | Create an `Object a` from a foldable collection of key/value pairs, using the
235−-- | specified function to combine values for duplicate keys.
236−fromFoldableWith :: forall f a. Foldable f => (a -> a -> a) -> f (Tuple String a) -> Object a
237−fromFoldableWith f l = runST (do
238− s <- OST.new
239− for_ l (\(Tuple k v) -> runFn4 _lookupST v (f v) k s >>= \v' -> OST.poke k v' s)
240− pure s)
241−
242−-- | Create an `Object a` from a homogeneous record, i.e. all of the record
243−-- | fields are of the same type.
244−fromHomogeneous :: forall r a. Homogeneous r a => { | r } -> Object a
245−fromHomogeneous = unsafeCoerce
246−
247−foreign import toArrayWithKey :: forall a b . (String -> a -> b) -> Object a -> Array b
248−
249−-- | Unfolds a map into a list of key/value pairs
250−toUnfoldable :: forall f a. Unfoldable f => Object a -> f (Tuple String a)
251−toUnfoldable = A.toUnfoldable <<< toArrayWithKey Tuple
252−
253−-- | Unfolds a map into a list of key/value pairs which is guaranteed to be
254−-- | sorted by key
255−toAscUnfoldable :: forall f a. Unfoldable f => Object a -> f (Tuple String a)
256−toAscUnfoldable = A.toUnfoldable <<< A.sortWith fst <<< toArrayWithKey Tuple
257−
258−-- Internal
259−toArray :: forall a. Object a -> Array (Tuple String a)
260−toArray = toArrayWithKey Tuple
261−
262−-- | Get an array of the keys in a map
263−foreign import keys :: forall a. Object a -> Array String
264−
265−-- | Get a list of the values in a map
266−values :: forall a. Object a -> Array a
267−values = toArrayWithKey (\_ v -> v)
268−
269−-- | Compute the union of two maps, preferring the first map in the case of
270−-- | duplicate keys.
271−union :: forall a. Object a -> Object a -> Object a
272−union m = mutate (\s -> foldM (\s' k v -> OST.poke k v s') s m)
273−
274−-- | Compute the union of two maps, using the specified function
275−-- | to combine values for duplicate keys.
276−unionWith :: forall a. (a -> a -> a) -> Object a -> Object a -> Object a
277−unionWith f m1 m2 =
278− mutate (\s1 -> foldM (\s2 k v1 -> OST.poke k (runFn4 _lookup v1 (\v2 -> f v1 v2) k m2) s2) s1 m1) m2
279−
280−-- | Compute the union of a collection of maps
281−unions :: forall f a. Foldable f => f (Object a) -> Object a
282−unions = foldl union empty
283−
284−foreign import _mapWithKey :: forall a b. Fn2 (Object a) (String -> a -> b) (Object b)
285−
286−-- | Apply a function of two arguments to each key/value pair, producing a new map
287−mapWithKey :: forall a b. (String -> a -> b) -> Object a -> Object b
288−mapWithKey f m = runFn2 _mapWithKey m f
289−
290−instance semigroupObject :: (Semigroup a) => Semigroup (Object a) where
291− append = unionWith (<>)
292−
293−instance monoidObject :: (Semigroup a) => Monoid (Object a) where
294− mempty = empty
295−
296−-- | Filter out those key/value pairs of a map for which a predicate
297−-- | fails to hold.
298−filterWithKey :: forall a. (String -> a -> Boolean) -> Object a -> Object a
299−filterWithKey predicate m = runST go
300− where
301− go :: forall r. ST r (STObject r a)
302− go = do
303− m' <- OST.new
304− foldM step m' m
305− where
306− step acc k v = if predicate k v then OST.poke k v acc else pure acc
307−
308−-- | Filter out those key/value pairs of a map for which a predicate
309−-- | on the key fails to hold.
310−filterKeys :: (String -> Boolean) -> Object ~> Object
311−filterKeys predicate = filterWithKey $ const <<< predicate
312−
313−-- | Filter out those key/value pairs of a map for which a predicate
314−-- | on the value fails to hold.
315−filter :: forall a. (a -> Boolean) -> Object a -> Object a
316−filter predicate = filterWithKey $ const predicate
.spago/p/foreign-object-4.1.0/src/Foreign/Object/Gen.pursdeleted−23
@@ -1,23 +0,0 @@
1−module Foreign.Object.Gen where
2−
3−import Prelude
4−
5−import Control.Monad.Gen (class MonadGen, chooseInt, resize, sized, unfoldable)
6−import Control.Monad.Rec.Class (class MonadRec)
7−import Foreign.Object (Object, fromFoldable)
8−import Data.Tuple (Tuple(..))
9−import Data.List (List)
10−
11−-- | Generates a `Object` using the specified key and value generators.
12−genForeignObject
13− :: forall m a
14− . MonadRec m
15− => MonadGen m
16− => m String
17− -> m a
18− -> m (Object a)
19−genForeignObject genKey genValue = sized \size -> do
20− newSize <- chooseInt 0 size
21− resize (const newSize) $
22− (fromFoldable :: List (Tuple String a) -> Object a)
23− <$> unfoldable (Tuple <$> genKey <*> genValue)
.spago/p/foreign-object-4.1.0/src/Foreign/Object/ST.jsdeleted−37
@@ -1,37 +0,0 @@
1−const newImpl = function () {
2− return {};
3−};
4−export { newImpl as new };
5−
6−export function peekImpl(just) {
7− return function (nothing) {
8− return function (k) {
9− return function (m) {
10− return function () {
11− return {}.hasOwnProperty.call(m, k) ? just(m[k]) : nothing;
12− };
13− };
14− };
15− };
16−}
17−
18−export function poke(k) {
19− return function (v) {
20− return function (m) {
21− return function () {
22− m[k] = v;
23− return m;
24− };
25− };
26− };
27−}
28−
29−const deleteImpl = function (k) {
30− return function (m) {
31− return function () {
32− delete m[k];
33− return m;
34− };
35− };
36−};
37−export { deleteImpl as delete };
.spago/p/foreign-object-4.1.0/src/Foreign/Object/ST.pursdeleted−42
@@ -1,42 +0,0 @@
1−-- | Helper functions for working with mutable objects using the `ST` effect.
2−-- |
3−-- | This module can be used when performance is important and mutation is a
4−-- | local effect.
5−
6−module Foreign.Object.ST
7− ( STObject
8− , new
9− , peek
10− , poke
11− , delete
12− ) where
13−
14−import Control.Monad.ST (ST, Region)
15−import Data.Maybe (Maybe(..))
16−
17−-- | A reference to a mutable object
18−-- |
19−-- | The first type parameter represents the memory region which the map belongs
20−-- | to. The second type parameter defines the type of elements of the mutable
21−-- | object.
22−-- |
23−-- | The runtime representation of a value of type `STObject r a` is the same as
24−-- | that of `Object a`, except that mutation is allowed.
25−foreign import data STObject :: Region -> Type -> Type
26−
27−type role STObject nominal representational
28−
29−-- | Create a new, empty mutable object
30−foreign import new :: forall a r. ST r (STObject r a)
31−
32−-- | Get the value for a key in a mutable object
33−peek :: forall a r. String -> STObject r a -> ST r (Maybe a)
34−peek = peekImpl Just Nothing
35−
36−foreign import peekImpl :: forall a b r. (a -> b) -> b -> String -> STObject r a -> ST r b
37−
38−-- | Update the value for a key in a mutable object
39−foreign import poke :: forall a r. String -> a -> STObject r a -> ST r (STObject r a)
40−
41−-- | Remove a key and the corresponding value from a mutable object
42−foreign import delete :: forall a r. String -> STObject r a -> ST r (STObject r a)
.spago/p/foreign-object-4.1.0/src/Foreign/Object/ST/Unsafe.jsdeleted−5
@@ -1,5 +0,0 @@
1−export function unsafeFreeze(m) {
2− return function () {
3− return m;
4− };
5−}
.spago/p/foreign-object-4.1.0/src/Foreign/Object/ST/Unsafe.pursdeleted−10
@@ -1,10 +0,0 @@
1−module Foreign.Object.ST.Unsafe where
2−
3−import Control.Monad.ST (ST)
4−import Foreign.Object (Object)
5−import Foreign.Object.ST (STObject)
6−
7−-- | Unsafely get the object out of ST without copying it
8−-- |
9−-- | If you later change the ST version of the map the pure value will also change.
10−foreign import unsafeFreeze :: forall a r. STObject r a -> ST r (Object a)
.spago/p/foreign-object-4.1.0/src/Foreign/Object/Unsafe.jsdeleted−5
@@ -1,5 +0,0 @@
1−export function unsafeIndex(m) {
2− return function (k) {
3− return m[k];
4− };
5−}
.spago/p/foreign-object-4.1.0/src/Foreign/Object/Unsafe.pursdeleted−10
@@ -1,10 +0,0 @@
1−module Foreign.Object.Unsafe
2− ( unsafeIndex
3− ) where
4−
5−import Foreign.Object (Object)
6−
7−-- | Unsafely get the value for a key in a object.
8−-- |
9−-- | This function does not check whether the key exists in the object.
10−foreign import unsafeIndex :: forall a. Object a -> String -> a
.spago/p/fork-6.0.0/LICENSEdeleted−202
@@ -1,202 +0,0 @@
1−
2− Apache License
3− Version 2.0, January 2004
4− http://www.apache.org/licenses/
5−
6− TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7−
8− 1. Definitions.
9−
10− "License" shall mean the terms and conditions for use, reproduction,
11− and distribution as defined by Sections 1 through 9 of this document.
12−
13− "Licensor" shall mean the copyright owner or entity authorized by
14− the copyright owner that is granting the License.
15−
16− "Legal Entity" shall mean the union of the acting entity and all
17− other entities that control, are controlled by, or are under common
18− control with that entity. For the purposes of this definition,
19− "control" means (i) the power, direct or indirect, to cause the
20− direction or management of such entity, whether by contract or
21− otherwise, or (ii) ownership of fifty percent (50%) or more of the
22− outstanding shares, or (iii) beneficial ownership of such entity.
23−
24− "You" (or "Your") shall mean an individual or Legal Entity
25− exercising permissions granted by this License.
26−
27− "Source" form shall mean the preferred form for making modifications,
28− including but not limited to software source code, documentation
29− source, and configuration files.
30−
31− "Object" form shall mean any form resulting from mechanical
32− transformation or translation of a Source form, including but
33− not limited to compiled object code, generated documentation,
34− and conversions to other media types.
35−
36− "Work" shall mean the work of authorship, whether in Source or
37− Object form, made available under the License, as indicated by a
38− copyright notice that is included in or attached to the work
39− (an example is provided in the Appendix below).
40−
41− "Derivative Works" shall mean any work, whether in Source or Object
42− form, that is based on (or derived from) the Work and for which the
43− editorial revisions, annotations, elaborations, or other modifications
44− represent, as a whole, an original work of authorship. For the purposes
45− of this License, Derivative Works shall not include works that remain
46− separable from, or merely link (or bind by name) to the interfaces of,
47− the Work and Derivative Works thereof.
48−
49− "Contribution" shall mean any work of authorship, including
50− the original version of the Work and any modifications or additions
51− to that Work or Derivative Works thereof, that is intentionally
52− submitted to Licensor for inclusion in the Work by the copyright owner
53− or by an individual or Legal Entity authorized to submit on behalf of
54− the copyright owner. For the purposes of this definition, "submitted"
55− means any form of electronic, verbal, or written communication sent
56− to the Licensor or its representatives, including but not limited to
57− communication on electronic mailing lists, source code control systems,
58− and issue tracking systems that are managed by, or on behalf of, the
59− Licensor for the purpose of discussing and improving the Work, but
60− excluding communication that is conspicuously marked or otherwise
61− designated in writing by the copyright owner as "Not a Contribution."
62−
63− "Contributor" shall mean Licensor and any individual or Legal Entity
64− on behalf of whom a Contribution has been received by Licensor and
65− subsequently incorporated within the Work.
66−
67− 2. Grant of Copyright License. Subject to the terms and conditions of
68− this License, each Contributor hereby grants to You a perpetual,
69− worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70− copyright license to reproduce, prepare Derivative Works of,
71− publicly display, publicly perform, sublicense, and distribute the
72− Work and such Derivative Works in Source or Object form.
73−
74− 3. Grant of Patent License. Subject to the terms and conditions of
75− this License, each Contributor hereby grants to You a perpetual,
76− worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77− (except as stated in this section) patent license to make, have made,
78− use, offer to sell, sell, import, and otherwise transfer the Work,
79− where such license applies only to those patent claims licensable
80− by such Contributor that are necessarily infringed by their
81− Contribution(s) alone or by combination of their Contribution(s)
82− with the Work to which such Contribution(s) was submitted. If You
83− institute patent litigation against any entity (including a
84− cross-claim or counterclaim in a lawsuit) alleging that the Work
85− or a Contribution incorporated within the Work constitutes direct
86− or contributory patent infringement, then any patent licenses
87− granted to You under this License for that Work shall terminate
88− as of the date such litigation is filed.
89−
90− 4. Redistribution. You may reproduce and distribute copies of the
91− Work or Derivative Works thereof in any medium, with or without
92− modifications, and in Source or Object form, provided that You
93− meet the following conditions:
94−
95− (a) You must give any other recipients of the Work or
96− Derivative Works a copy of this License; and
97−
98− (b) You must cause any modified files to carry prominent notices
99− stating that You changed the files; and
100−
101− (c) You must retain, in the Source form of any Derivative Works
102− that You distribute, all copyright, patent, trademark, and
103− attribution notices from the Source form of the Work,
104− excluding those notices that do not pertain to any part of
105− the Derivative Works; and
106−
107− (d) If the Work includes a "NOTICE" text file as part of its
108− distribution, then any Derivative Works that You distribute must
109− include a readable copy of the attribution notices contained
110− within such NOTICE file, excluding those notices that do not
111− pertain to any part of the Derivative Works, in at least one
112− of the following places: within a NOTICE text file distributed
113− as part of the Derivative Works; within the Source form or
114− documentation, if provided along with the Derivative Works; or,
115− within a display generated by the Derivative Works, if and
116− wherever such third-party notices normally appear. The contents
117− of the NOTICE file are for informational purposes only and
118− do not modify the License. You may add Your own attribution
119− notices within Derivative Works that You distribute, alongside
120− or as an addendum to the NOTICE text from the Work, provided
121− that such additional attribution notices cannot be construed
122− as modifying the License.
123−
124− You may add Your own copyright statement to Your modifications and
125− may provide additional or different license terms and conditions
126− for use, reproduction, or distribution of Your modifications, or
127− for any such Derivative Works as a whole, provided Your use,
128− reproduction, and distribution of the Work otherwise complies with
129− the conditions stated in this License.
130−
131− 5. Submission of Contributions. Unless You explicitly state otherwise,
132− any Contribution intentionally submitted for inclusion in the Work
133− by You to the Licensor shall be under the terms and conditions of
134− this License, without any additional terms or conditions.
135− Notwithstanding the above, nothing herein shall supersede or modify
136− the terms of any separate license agreement you may have executed
137− with Licensor regarding such Contributions.
138−
139− 6. Trademarks. This License does not grant permission to use the trade
140− names, trademarks, service marks, or product names of the Licensor,
141− except as required for reasonable and customary use in describing the
142− origin of the Work and reproducing the content of the NOTICE file.
143−
144− 7. Disclaimer of Warranty. Unless required by applicable law or
145− agreed to in writing, Licensor provides the Work (and each
146− Contributor provides its Contributions) on an "AS IS" BASIS,
147− WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148− implied, including, without limitation, any warranties or conditions
149− of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150− PARTICULAR PURPOSE. You are solely responsible for determining the
151− appropriateness of using or redistributing the Work and assume any
152− risks associated with Your exercise of permissions under this License.
153−
154− 8. Limitation of Liability. In no event and under no legal theory,
155− whether in tort (including negligence), contract, or otherwise,
156− unless required by applicable law (such as deliberate and grossly
157− negligent acts) or agreed to in writing, shall any Contributor be
158− liable to You for damages, including any direct, indirect, special,
159− incidental, or consequential damages of any character arising as a
160− result of this License or out of the use or inability to use the
161− Work (including but not limited to damages for loss of goodwill,
162− work stoppage, computer failure or malfunction, or any and all
163− other commercial damages or losses), even if such Contributor
164− has been advised of the possibility of such damages.
165−
166− 9. Accepting Warranty or Additional Liability. While redistributing
167− the Work or Derivative Works thereof, You may choose to offer,
168− and charge a fee for, acceptance of support, warranty, indemnity,
169− or other liability obligations and/or rights consistent with this
170− License. However, in accepting such obligations, You may act only
171− on Your own behalf and on Your sole responsibility, not on behalf
172− of any other Contributor, and only if You agree to indemnify,
173− defend, and hold each Contributor harmless for any liability
174− incurred by, or claims asserted against, such Contributor by reason
175− of your accepting any such warranty or additional liability.
176−
177− END OF TERMS AND CONDITIONS
178−
179− APPENDIX: How to apply the Apache License to your work.
180−
181− To apply the Apache License to your work, attach the following
182− boilerplate notice, with the fields enclosed by brackets "[]"
183− replaced with your own identifying information. (Don't include
184− the brackets!) The text should be enclosed in the appropriate
185− comment syntax for the file format. We also recommend that a
186− file or class name and description of purpose be included on the
187− same "printed page" as the copyright notice for easier
188− identification within third-party archives.
189−
190− Copyright [yyyy] [name of copyright owner]
191−
192− Licensed under the Apache License, Version 2.0 (the "License");
193− you may not use this file except in compliance with the License.
194− You may obtain a copy of the License at
195−
196− http://www.apache.org/licenses/LICENSE-2.0
197−
198− Unless required by applicable law or agreed to in writing, software
199− distributed under the License is distributed on an "AS IS" BASIS,
200− WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201− See the License for the specific language governing permissions and
202− limitations under the License.
.spago/p/fork-6.0.0/README.mddeleted−43
@@ -1,43 +0,0 @@
1−# Fork
2−
3−[![CI](https://github.com/purescript-contrib/purescript-fork/workflows/CI/badge.svg?branch=main)](https://github.com/purescript-contrib/purescript-fork/actions?query=workflow%3ACI+branch%3Amain)
4−[![Release](https://img.shields.io/github/release/purescript-contrib/purescript-fork.svg)](https://github.com/purescript-contrib/purescript-fork/releases)
5−[![Pursuit](https://pursuit.purescript.org/packages/purescript-fork/badge)](https://pursuit.purescript.org/packages/purescript-fork)
6−[![Maintainer: garyb](https://img.shields.io/badge/maintainer-garyb-teal.svg)](https://github.com/garyb)
7−
8−Monads which support a forking operation.
9−
10−## Installation
11−
12−Install `fork` with [Spago](https://github.com/purescript/spago):
13−
14−```sh
15−spago install fork
16−```
17−
18−## Quick start
19−
20−The quick start hasn't been written yet (contributions are welcome!). The quick start covers a common, minimal use case for the library, whereas longer examples and tutorials are kept in the [docs directory](./docs).
21−
22−## Documentation
23−
24−`fork` documentation is stored in a few places:
25−
26−1. Module documentation is [published on Pursuit](https://pursuit.purescript.org/packages/purescript-fork).
27−2. Written documentation is kept in the [docs directory](./docs).
28−3. Usage examples can be found in [the test suite](./test).
29−
30−If you get stuck, there are several ways to get help:
31−
32−- [Open an issue](https://github.com/purescript-contrib/purescript-fork/issues) if you have encountered a bug or problem.
33−- Ask general questions on the [PureScript Discourse](https://discourse.purescript.org) forum or the [PureScript Discord](https://purescript.org/chat) chat.
34−
35−## Contributing
36−
37−You can contribute to `fork` in several ways:
38−
39−1. If you encounter a problem or have a question, please [open an issue](https://github.com/purescript-contrib/purescript-fork/issues). We'll do our best to work with you to resolve or answer it.
40−
41−2. If you would like to contribute code, tests, or documentation, please [read the contributor guide](./CONTRIBUTING.md). It's a short, helpful introduction to contributing to this library, including development instructions.
42−
43−3. If you have written a library, tutorial, guide, or other resource based on this package, please share it on the [PureScript Discourse](https://discourse.purescript.org)! Writing libraries and learning resources are a great way to help this library succeed.
.spago/p/fork-6.0.0/bower.jsondeleted−24
@@ -1,24 +0,0 @@
1−{
2− "name": "purescript-fork",
3− "homepage": "https://github.com/slamdata/purescript-fork",
4− "license": "Apache-2.0",
5− "repository": {
6− "type": "git",
7− "url": "https://github.com/purescript-contrib/purescript-fork.git"
8− },
9− "ignore": [
10− "**/.*",
11− "bower_components",
12− "node_modules",
13− "output",
14− "bower.json",
15− "package.json"
16− ],
17− "dependencies": {
18− "purescript-aff": "^7.0.0"
19− },
20− "devDependencies": {
21− "purescript-console": "^6.0.0",
22− "purescript-effect": "^4.0.0"
23− }
24−}
.spago/p/fork-6.0.0/packages.dhalldeleted−4
@@ -1,4 +0,0 @@
1−let upstream =
2− https://raw.githubusercontent.com/purescript/package-sets/prepare-0.15/src/packages.dhall
3−
4−in upstream
.spago/p/fork-6.0.0/purs.jsondeleted−12
@@ -1,12 +0,0 @@
1−{
2− "name": "fork",
3− "version": "6.0.0",
4− "license": "Apache-2.0",
5− "location": {
6− "githubOwner": "purescript-contrib",
7− "githubRepo": "purescript-fork"
8− },
9− "dependencies": {
10− "aff": ">=7.0.0 <8.0.0"
11− }
12−}
.spago/p/fork-6.0.0/spago.dhalldeleted−5
@@ -1,5 +0,0 @@
1−{ name = "fork"
2−, dependencies = [ "aff", "console", "effect", "prelude", "transformers" ]
3−, packages = ./packages.dhall
4−, sources = [ "src/**/*.purs", "test/**/*.purs" ]
5−}
.spago/p/fork-6.0.0/src/Control/Monad/Fork/Class.pursdeleted−106
@@ -1,106 +0,0 @@
1−module Control.Monad.Fork.Class where
2−
3−import Prelude hiding (join)
4−
5−import Effect.Aff as Aff
6−import Control.Monad.Error.Class (class MonadThrow, class MonadError)
7−import Control.Monad.Reader.Trans (ReaderT(..), runReaderT)
8−import Control.Monad.Trans.Class (lift)
9−
10−-- | Represents Monads which can be forked asynchronously.
11−-- |
12−-- | Laws:
13−-- |
14−-- | ```purescript
15−-- | -- Unjoined suspension is a no-op
16−-- | suspend a1 *> suspend a2 = suspend a2
17−-- |
18−-- | -- Suspend/join is identity
19−-- | suspend >=> join = id
20−-- |
21−-- | -- Fork/join is identity
22−-- | fork >=> join = id
23−-- |
24−-- | -- Join is idempotent
25−-- | join t *> join t = join t
26−-- | ```
27−class (Monad m, Functor f) <= MonadFork f m | m -> f where
28− suspend :: forall a. m a -> m (f a)
29− fork :: forall a. m a -> m (f a)
30− join :: forall a. f a -> m a
31−
32−instance monadForkAff :: MonadFork Aff.Fiber Aff.Aff where
33− suspend = Aff.suspendAff
34− fork = Aff.forkAff
35− join = Aff.joinFiber
36−
37−instance monadForkReaderT :: MonadFork f m => MonadFork f (ReaderT r m) where
38− suspend (ReaderT ma) = ReaderT (suspend <<< ma)
39− fork (ReaderT ma) = ReaderT (fork <<< ma)
40− join = lift <<< join
41−
42−-- | Represents Monads which can be killed after being forked.
43−-- |
44−-- | Laws:
45−-- |
46−-- | ```purescript
47−-- | -- Killed suspension is an exception
48−-- | suspend a >>= \f -> kill e f *> join f = throwError e
49−-- |
50−-- | -- Suspend/kill is unit
51−-- | suspend a >>= kill e = pure unit
52−-- | ```
53−class (MonadFork f m, MonadThrow e m) <= MonadKill e f m | m -> e f where
54− kill :: forall a. e -> f a -> m Unit
55−
56−instance monadKillAff :: MonadKill Aff.Error Aff.Fiber Aff.Aff where
57− kill = Aff.killFiber
58−
59−instance monadKillReaderT :: MonadKill e f m => MonadKill e f (ReaderT r m) where
60− kill e = lift <<< kill e
61−
62−data BracketCondition e a
63− = Completed a
64− | Failed e
65− | Killed e
66−
67−-- | Represents Monads which support cleanup in the presence of async
68−-- | exceptions.
69−-- |
70−-- | Laws:
71−-- | ```purescript
72−-- | bracket a k \_ -> pure r
73−-- | = uninterruptible (a >>= k (Completed r))
74−-- |
75−-- | -- Release failed
76−-- | bracket a k \_ -> throwError e
77−-- | = uninterruptible (a >>= k (Failed e) *> throwError e)
78−-- |
79−-- | -- Release killed
80−-- | fork (bracket a k \_ -> never) >>= \f -> kill e f *> void (try (join f))
81−-- | = uninterruptible (a >>= k (Killed e))
82−-- | ```
83−class (MonadKill e f m, MonadError e m) <= MonadBracket e f m | m -> e f where
84− bracket :: forall r a. m r -> (BracketCondition e a -> r -> m Unit) -> (r -> m a) -> m a
85− uninterruptible :: forall a. m a -> m a
86− never :: forall a. m a
87−
88−instance monadBracketAff :: MonadBracket Aff.Error Aff.Fiber Aff.Aff where
89− bracket acquire release run =
90− Aff.generalBracket acquire
91− { completed: release <<< Completed
92− , failed: release <<< Failed
93− , killed: release <<< Killed
94− }
95− run
96− uninterruptible = Aff.invincible
97− never = Aff.never
98−
99−instance monadBracketReaderT :: MonadBracket e f m => MonadBracket e f (ReaderT r m) where
100− bracket (ReaderT acquire) release run = ReaderT \r ->
101− bracket (acquire r)
102− (\c a -> runReaderT (release c a) r)
103− (\a -> runReaderT (run a) r)
104− uninterruptible k = ReaderT \r ->
105− uninterruptible (runReaderT k r)
106− never = lift never
.spago/p/free-7.1.0/LICENSEdeleted−26
@@ -1,26 +0,0 @@
1−Copyright 2018 PureScript
2−
3−Redistribution and use in source and binary forms, with or without modification,
4−are permitted provided that the following conditions are met:
5−
6−1. Redistributions of source code must retain the above copyright notice, this
7−list of conditions and the following disclaimer.
8−
9−2. Redistributions in binary form must reproduce the above copyright notice,
10−this list of conditions and the following disclaimer in the documentation and/or
11−other materials provided with the distribution.
12−
13−3. Neither the name of the copyright holder nor the names of its contributors
14−may be used to endorse or promote products derived from this software without
15−specific prior written permission.
16−
17−THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18−ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19−WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20−DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
21−ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22−(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23−LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24−ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25−(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26−SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.spago/p/free-7.1.0/LICENSE_THIRDPARTYdeleted−37
@@ -1,37 +0,0 @@
1−This library makes use of code taken from, or inpired by the following
2−libraries. Their LICENSE files follow.
3−
4− free, from http://hackage.haskell.org/package/free/
5−
6−'free' LICENSE file:
7−
8− Copyright 2008-2013 Edward Kmett
9−
10− All rights reserved.
11−
12− Redistribution and use in source and binary forms, with or without
13− modification, are permitted provided that the following conditions
14− are met:
15−
16− 1. Redistributions of source code must retain the above copyright
17− notice, this list of conditions and the following disclaimer.
18−
19− 2. Redistributions in binary form must reproduce the above copyright
20− notice, this list of conditions and the following disclaimer in the
21− documentation and/or other materials provided with the distribution.
22−
23− 3. Neither the name of the author nor the names of his contributors
24− may be used to endorse or promote products derived from this software
25− without specific prior written permission.
26−
27− THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
28− IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
29− WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
30− DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR
31− ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
32− DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
33− OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
34− HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
35− STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
36− ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
37− POSSIBILITY OF SUCH DAMAGE.
.spago/p/free-7.1.0/README.mddeleted−35
@@ -1,35 +0,0 @@
1−# purescript-free
2−
3−[![Latest release](http://img.shields.io/github/release/purescript/purescript-free.svg)](https://github.com/purescript/purescript-free/releases)
4−[![Build status](https://github.com/purescript/purescript-free/workflows/CI/badge.svg?branch=master)](https://github.com/purescript/purescript-free/actions?query=workflow%3ACI+branch%3Amaster)
5−[![Pursuit](https://pursuit.purescript.org/packages/purescript-free/badge)](https://pursuit.purescript.org/packages/purescript-free)
6−
7−Free monad, Cofree comonad, Yoneda and Coyoneda functors, and the Trampoline monad implementations for PureScript.
8−
9−The Free monad implementation is represented using a sequential data structure.
10−
11−See the following reference for further information.
12−
13−- [Reflection without Remorse](http://okmij.org/ftp/Haskell/zseq.pdf) (Ploeg and Kiselyov 2014)
14−
15−## Installation
16−
17−```
18−spago install free
19−```
20−
21−## Documentation
22−
23−Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-free).
24−
25−## Benchmarks
26−
27−The following benchmarks compare the implementation at `v5.2.0` (commit f686f5fc07766f3ca9abc83b47b6ad3da326759a) with the implementation at `v0.6.1` (commit 0df59c5d459fed983131856886fc3a4b43234f1f), which used the `Gosub` technique to defer monadic binds.
28−
29−![left-bind-small](benchmark/left-bind-small.png)
30−
31−![left-bind-large](benchmark/left-bind-large.png)
32−
33−![right-bind-small](benchmark/right-bind-small.png)
34−
35−![right-bind-large](benchmark/right-bind-large.png)
.spago/p/free-7.1.0/bower.jsondeleted−45
@@ -1,45 +0,0 @@
1−{
2− "name": "purescript-free",
3− "homepage": "https://github.com/purescript/purescript-free",
4− "authors": [
5− "Eric Thul <thul.eric@gmail.com>",
6− "Brian McKenna <brian@brianmckenna.org>",
7− "John A. De Goes <john@degoes.net> (http://degoes.net)",
8− "Gary Burgess <gary.burgess@gmail.com>",
9− "Phil Freeman <paf31@cantab.net>"
10− ],
11− "license": "BSD-3-Clause",
12− "repository": {
13− "type": "git",
14− "url": "https://github.com/purescript/purescript-free.git"
15− },
16− "ignore": [
17− "**/.*",
18− "bower_components",
19− "node_modules",
20− "output",
21− "test",
22− "bower.json",
23− "package.json"
24− ],
25− "dependencies": {
26− "purescript-catenable-lists": "^7.0.0",
27− "purescript-control": "^6.0.0",
28− "purescript-distributive": "^6.0.0",
29− "purescript-either": "^6.0.0",
30− "purescript-exists": "^6.0.0",
31− "purescript-foldable-traversable": "^6.0.0",
32− "purescript-invariant": "^6.0.0",
33− "purescript-lazy": "^6.0.0",
34− "purescript-maybe": "^6.0.0",
35− "purescript-prelude": "^6.0.0",
36− "purescript-tailrec": "^6.0.0",
37− "purescript-transformers": "^6.0.0",
38− "purescript-tuples": "^7.0.0",
39− "purescript-unsafe-coerce": "^6.0.0"
40− },
41− "devDependencies": {
42− "purescript-console": "^6.0.0",
43− "purescript-functors": "^5.0.0"
44− }
45−}
.spago/p/free-7.1.0/package.jsondeleted−16
@@ -1,16 +0,0 @@
1−{
2− "private": true,
3− "scripts": {
4− "clean": "rimraf output && rimraf .pulp-cache",
5− "build": "pulp build -- --censor-lib --strict",
6− "build:benchmark": "pulp build --main 'Benchmark.Main' --include './benchmark' -- --censor-lib --strict",
7− "test": "pulp test",
8− "test:benchmark": "node -e \"require('./output/Benchmark.Main').main()\""
9− },
10− "devDependencies": {
11− "benchmark": "^2.1.4",
12− "pulp": "16.0.0-0",
13− "purescript-psa": "^0.8.2",
14− "rimraf": "^3.0.2"
15− }
16−}
.spago/p/free-7.1.0/purs.jsondeleted−25
@@ -1,25 +0,0 @@
1−{
2− "name": "free",
3− "version": "7.1.0",
4− "license": "BSD-3-Clause",
5− "location": {
6− "githubOwner": "purescript",
7− "githubRepo": "purescript-free"
8− },
9− "dependencies": {
10− "catenable-lists": ">=7.0.0 <8.0.0",
11− "control": ">=6.0.0 <7.0.0",
12− "distributive": ">=6.0.0 <7.0.0",
13− "either": ">=6.0.0 <7.0.0",
14− "exists": ">=6.0.0 <7.0.0",
15− "foldable-traversable": ">=6.0.0 <7.0.0",
16− "invariant": ">=6.0.0 <7.0.0",
17− "lazy": ">=6.0.0 <7.0.0",
18− "maybe": ">=6.0.0 <7.0.0",
19− "prelude": ">=6.0.0 <7.0.0",
20− "tailrec": ">=6.0.0 <7.0.0",
21− "transformers": ">=6.0.0 <7.0.0",
22− "tuples": ">=7.0.0 <8.0.0",
23− "unsafe-coerce": ">=6.0.0 <7.0.0"
24− }
25−}
.spago/p/free-7.1.0/src/Control/Comonad/Cofree.pursdeleted−205
@@ -1,205 +0,0 @@
1−-- | The _cofree comonad_ for a `Functor`.
2−
3−module Control.Comonad.Cofree
4− ( Cofree
5− , deferCofree
6− , mkCofree, (:<)
7− , head
8− , tail
9− , hoistCofree
10− , buildCofree
11− , explore
12− , exploreM
13− ) where
14−
15−import Prelude
16−import Control.Alternative (class Alternative, (<|>), empty)
17−import Control.Comonad (class Comonad, extract)
18−import Control.Extend (class Extend)
19−import Control.Lazy as Z
20−import Control.Monad.Free (Free, runFreeM)
21−import Control.Monad.Rec.Class (class MonadRec)
22−import Control.Monad.State (State, StateT(..), runState, runStateT, state)
23−import Data.Eq (class Eq1, eq1)
24−import Data.FoldableWithIndex (class FoldableWithIndex)
25−import Data.FunctorWithIndex (class FunctorWithIndex)
26−import Data.Foldable (class Foldable, foldr, foldl, foldMap)
27−import Data.Lazy (Lazy, force, defer)
28−import Data.Ord (class Ord1, compare1)
29−import Data.Traversable (class Traversable, traverse)
30−import Data.TraversableWithIndex (class TraversableWithIndex)
31−import Data.Tuple (Tuple(..), fst, snd)
32−
33−-- | The `Cofree` `Comonad` for a functor.
34−-- |
35−-- | A value of type `Cofree f a` consists of an `f`-branching
36−-- | tree, annotated with labels of type `a`.
37−-- |
38−-- | The `Comonad` instance supports _redecoration_, recomputing
39−-- | labels from the local context.
40−newtype Cofree f a = Cofree (Lazy (Tuple a (f (Cofree f a))))
41−
42−-- | Lazily creates a value of type `Cofree f a` from a label and a
43−-- | functor-full of "subtrees".
44−deferCofree :: forall f a. (Unit -> Tuple a (f (Cofree f a))) -> Cofree f a
45−deferCofree = Cofree <<< defer
46−
47−-- | Create a value of type `Cofree f a` from a label and a
48−-- | functor-full of "subtrees".
49−mkCofree :: forall f a. a -> f (Cofree f a) -> Cofree f a
50−mkCofree a t = Cofree (defer \_ -> Tuple a t)
51−
52−infixr 5 mkCofree as :<
53−
54−-- | Returns the label for a tree.
55−head :: forall f a. Cofree f a -> a
56−head (Cofree c) = fst (force c)
57−
58−-- | Returns the "subtrees" of a tree.
59−tail :: forall f a. Cofree f a -> f (Cofree f a)
60−tail (Cofree c) = snd (force c)
61−
62−hoistCofree :: forall f g. Functor f => (f ~> g) -> Cofree f ~> Cofree g
63−hoistCofree nat (Cofree c) = Cofree (map (nat <<< map (hoistCofree nat)) <$> c)
64−
65−-- | Recursively unfolds a `Cofree` structure given a seed.
66−buildCofree
67− :: forall f s a
68− . Functor f
69− => (s -> Tuple a (f s))
70− -> s
71− -> Cofree f a
72−buildCofree k s =
73− Cofree (defer \_ -> map (buildCofree k) <$> k s)
74−
75−-- | Explore a value in the cofree comonad by using an expression in a
76−-- | corresponding free monad.
77−-- |
78−-- | The free monad should be built from a functor which pairs with the
79−-- | functor underlying the cofree comonad.
80−explore
81− :: forall f g a b
82− . Functor f
83− => Functor g
84− => (forall x y. f (x -> y) -> g x -> y)
85− -> Free f (a -> b)
86− -> Cofree g a
87− -> b
88−explore pair m w =
89− case runState (runFreeM step m) w of
90− Tuple f cof -> f (extract cof)
91− where
92− step :: f (Free f (a -> b)) -> State (Cofree g a) (Free f (a -> b))
93− step ff = state \cof -> pair (map Tuple ff) (tail cof)
94−
95−exploreM
96− :: forall f g a b m
97− . Functor f
98− => Functor g
99− => MonadRec m
100− => (forall x y. f (x -> y) -> g x -> m y)
101− -> Free f (a -> b)
102− -> Cofree g a
103− -> m b
104−exploreM pair m w =
105− eval <$> runStateT (runFreeM step m) w
106− where
107− step :: f (Free f (a -> b)) -> StateT (Cofree g a) m (Free f (a -> b))
108− step ff = StateT \cof -> pair (map Tuple ff) (tail cof)
109−
110− eval :: forall x y. Tuple (x -> y) (Cofree g x) -> y
111− eval (Tuple f cof) = f (extract cof)
112−
113−instance semigroupCofree :: (Apply f, Semigroup a) => Semigroup (Cofree f a) where
114− append x y = deferCofree \_ -> Tuple (head x <> head y) (append <$> tail x <*> tail y)
115−
116−instance monoidCofree :: (Applicative f, Monoid a) => Monoid (Cofree f a) where
117− mempty = deferCofree \_ -> Tuple mempty (pure mempty)
118−
119−instance eqCofree :: (Eq1 f, Eq a) => Eq (Cofree f a) where
120− eq x y = head x == head y && tail x `eq1` tail y
121−
122−instance eq1Cofree :: Eq1 f => Eq1 (Cofree f) where
123− eq1 = eq
124−
125−instance ordCofree :: (Ord1 f, Ord a) => Ord (Cofree f a) where
126− compare x y =
127− case compare (head x) (head y) of
128− EQ -> compare1 (tail x) (tail y)
129− r -> r
130−
131−instance ord1Cofree :: Ord1 f => Ord1 (Cofree f) where
132− compare1 = compare
133−
134−instance functorCofree :: Functor f => Functor (Cofree f) where
135− map f = loop
136− where
137− loop (Cofree fa) = Cofree ((\(Tuple a b) -> Tuple (f a) (loop <$> b)) <$> fa)
138−
139−instance functorWithIndexCofree :: Functor f => FunctorWithIndex Int (Cofree f) where
140− mapWithIndex f = loop 0
141− where
142− loop n (Cofree fa) = Cofree ((\(Tuple a b) -> Tuple (f n a) (loop (n + 1) <$> b)) <$> fa)
143−
144−instance foldableCofree :: Foldable f => Foldable (Cofree f) where
145− foldr f = flip go
146− where
147− go fa b = f (head fa) (foldr go b (tail fa))
148−
149− foldl f = go
150− where
151− go b fa = foldl go (f b (head fa)) (tail fa)
152−
153− foldMap f = go
154− where
155− go fa = f (head fa) <> (foldMap go (tail fa))
156−
157−instance foldableWithIndexCofree :: Foldable f => FoldableWithIndex Int (Cofree f) where
158− foldrWithIndex f = go 0
159− where
160− go ix b fa = f ix (head fa) (foldr (flip (go (ix + 1))) b (tail fa))
161−
162− foldlWithIndex f = go 0
163− where
164− go ix b fa = foldl (go (ix + 1)) (f ix b (head fa)) (tail fa)
165−
166− foldMapWithIndex f = go 0
167− where
168− go ix fa = f ix (head fa) <> foldMap (go (ix + 1)) (tail fa)
169−
170−instance traversableCofree :: Traversable f => Traversable (Cofree f) where
171− sequence = traverse identity
172− traverse f = loop
173− where
174− loop ta = mkCofree <$> f (head ta) <*> (traverse loop (tail ta))
175−
176−instance traversableWithIndexCofree :: Traversable f => TraversableWithIndex Int (Cofree f) where
177− traverseWithIndex f = loop 0
178− where
179− loop ix ta = mkCofree <$> f ix (head ta) <*> (traverse (loop (ix + 1)) (tail ta))
180−
181−instance extendCofree :: Functor f => Extend (Cofree f) where
182− extend f = loop
183− where
184− loop (Cofree fa) = Cofree ((\(Tuple _ b) -> Tuple (f (Cofree fa)) (loop <$> b)) <$> fa)
185−
186−instance comonadCofree :: Functor f => Comonad (Cofree f) where
187− extract = head
188−
189−instance applyCofree :: Alternative f => Apply (Cofree f) where
190− apply = ap
191−
192−instance applicativeCofree :: Alternative f => Applicative (Cofree f) where
193− pure a = mkCofree a empty
194−
195−instance bindCofree :: Alternative f => Bind (Cofree f) where
196− bind fa f = loop fa
197− where
198− loop fa' =
199− let fh = f (head fa')
200− in mkCofree (head fh) ((tail fh) <|> (loop <$> tail fa'))
201−
202−instance monadCofree :: Alternative f => Monad (Cofree f)
203−
204−instance lazyCofree :: Z.Lazy (Cofree f a) where
205− defer k = Cofree (defer \_ -> let (Cofree t) = k unit in force t)
.spago/p/free-7.1.0/src/Control/Comonad/Cofree/Class.pursdeleted−29
@@ -1,29 +0,0 @@
1−module Control.Comonad.Cofree.Class
2− ( class ComonadCofree
3− , unwrapCofree
4− ) where
5−
6−import Prelude
7−
8−import Control.Comonad (class Comonad)
9−import Control.Comonad.Cofree (Cofree, tail)
10−import Control.Comonad.Env.Trans (EnvT(..))
11−import Control.Comonad.Store.Trans (StoreT(..))
12−import Control.Comonad.Traced.Trans (TracedT(..))
13−import Data.Tuple (Tuple(..))
14−
15−-- | Based on <http://hackage.haskell.org/package/free/docs/Control-Comonad-Cofree-Class.html>
16−class (Functor f, Comonad w) <= ComonadCofree f w | w -> f where
17− unwrapCofree :: forall a. w a -> f (w a)
18−
19−instance comonadCofreeCofree :: Functor f => ComonadCofree f (Cofree f) where
20− unwrapCofree = tail
21−
22−instance comonadCofreeEnvT :: (Functor f, ComonadCofree f w) => ComonadCofree f (EnvT e w) where
23− unwrapCofree (EnvT (Tuple e wa)) = map (\x -> EnvT (Tuple e x)) (unwrapCofree wa)
24−
25−instance comonadCofreeStoreT :: (Functor f, ComonadCofree f w) => ComonadCofree f (StoreT s w) where
26− unwrapCofree (StoreT (Tuple wsa s)) = map (\x -> StoreT (Tuple x s)) (unwrapCofree wsa)
27−
28−instance comonadCofreeTracedT :: (Functor f, ComonadCofree f w, Monoid m) => ComonadCofree f (TracedT m w) where
29− unwrapCofree (TracedT wma) = map TracedT (unwrapCofree wma)
.spago/p/free-7.1.0/src/Control/Monad/Free.pursdeleted−245

This diff is too big to show here.

.spago/p/free-7.1.0/src/Control/Monad/Free/Class.pursdeleted−35

This diff is too big to show here.

.spago/p/free-7.1.0/src/Control/Monad/Trampoline.pursdeleted−33

This diff is too big to show here.

.spago/p/free-7.1.0/src/Data/Coyoneda.pursdeleted−174

This diff is too big to show here.

.spago/p/free-7.1.0/src/Data/Yoneda.pursdeleted−73

This diff is too big to show here.

.spago/p/functions-6.0.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/functions-6.0.0/README.mddeleted−17

This diff is too big to show here.

.spago/p/functions-6.0.0/bower.jsondeleted−21

This diff is too big to show here.

.spago/p/functions-6.0.0/package.jsondeleted−13

This diff is too big to show here.

.spago/p/functions-6.0.0/purs.jsondeleted−12

This diff is too big to show here.

.spago/p/functions-6.0.0/src/Data/Function/Uncurried.jsdeleted−218

This diff is too big to show here.

.spago/p/functions-6.0.0/src/Data/Function/Uncurried.pursdeleted−124

This diff is too big to show here.

.spago/p/functors-5.0.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/functors-5.0.0/README.mddeleted−17

This diff is too big to show here.

.spago/p/functors-5.0.0/bower.jsondeleted−37

This diff is too big to show here.

.spago/p/functors-5.0.0/package.jsondeleted−13

This diff is too big to show here.

.spago/p/functors-5.0.0/purs.jsondeleted−25

This diff is too big to show here.

.spago/p/functors-5.0.0/src/Data/Functor/App.pursdeleted−56

This diff is too big to show here.

.spago/p/functors-5.0.0/src/Data/Functor/Clown.pursdeleted−44

This diff is too big to show here.

.spago/p/functors-5.0.0/src/Data/Functor/Compose.pursdeleted−58

This diff is too big to show here.

.spago/p/functors-5.0.0/src/Data/Functor/Coproduct.pursdeleted−76

This diff is too big to show here.

.spago/p/functors-5.0.0/src/Data/Functor/Coproduct/Inject.pursdeleted−24

This diff is too big to show here.

.spago/p/functors-5.0.0/src/Data/Functor/Coproduct/Nested.pursdeleted−273

This diff is too big to show here.

.spago/p/functors-5.0.0/src/Data/Functor/Costar.pursdeleted−66

This diff is too big to show here.

.spago/p/functors-5.0.0/src/Data/Functor/Flip.pursdeleted−44

This diff is too big to show here.

.spago/p/functors-5.0.0/src/Data/Functor/Joker.pursdeleted−60

This diff is too big to show here.

.spago/p/functors-5.0.0/src/Data/Functor/Product.pursdeleted−60

This diff is too big to show here.

.spago/p/functors-5.0.0/src/Data/Functor/Product/Nested.pursdeleted−112

This diff is too big to show here.

.spago/p/functors-5.0.0/src/Data/Functor/Product2.pursdeleted−40

This diff is too big to show here.

.spago/p/gen-4.0.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/gen-4.0.0/README.mddeleted−19

This diff is too big to show here.

.spago/p/gen-4.0.0/bower.jsondeleted−37

This diff is too big to show here.

.spago/p/gen-4.0.0/package.jsondeleted−14

This diff is too big to show here.

.spago/p/gen-4.0.0/purs.jsondeleted−21

This diff is too big to show here.

.spago/p/gen-4.0.0/src/Control/Monad/Gen.pursdeleted−132

This diff is too big to show here.

.spago/p/gen-4.0.0/src/Control/Monad/Gen/Class.pursdeleted−29

This diff is too big to show here.

.spago/p/gen-4.0.0/src/Control/Monad/Gen/Common.pursdeleted−67

This diff is too big to show here.

.spago/p/heterogeneous-0.7.0/LICENSEdeleted−20

This diff is too big to show here.

.spago/p/heterogeneous-0.7.0/README.mddeleted−276

This diff is too big to show here.

.spago/p/heterogeneous-0.7.0/package.jsondeleted−11

This diff is too big to show here.

.spago/p/heterogeneous-0.7.0/purs.jsondeleted−20

This diff is too big to show here.

.spago/p/heterogeneous-0.7.0/spago.yamldeleted−24

This diff is too big to show here.

.spago/p/heterogeneous-0.7.0/src/Heterogeneous/Folding.pursdeleted−224

This diff is too big to show here.

.spago/p/heterogeneous-0.7.0/src/Heterogeneous/Mapping.pursdeleted−200

This diff is too big to show here.

.spago/p/heterogeneous-0.7.0/src/Heterogeneous/Variadic.pursdeleted−55

This diff is too big to show here.

.spago/p/identity-6.0.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/identity-6.0.0/README.mddeleted−17

This diff is too big to show here.

.spago/p/identity-6.0.0/bower.jsondeleted−28

This diff is too big to show here.

.spago/p/identity-6.0.0/package.jsondeleted−12

This diff is too big to show here.

.spago/p/identity-6.0.0/purs.jsondeleted−15

This diff is too big to show here.

.spago/p/identity-6.0.0/src/Data/Identity.pursdeleted−72

This diff is too big to show here.

.spago/p/integers-6.0.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/integers-6.0.0/README.mddeleted−17

This diff is too big to show here.

.spago/p/integers-6.0.0/bower.jsondeleted−28

This diff is too big to show here.

.spago/p/integers-6.0.0/package.jsondeleted−14

This diff is too big to show here.

.spago/p/integers-6.0.0/purs.jsondeleted−14

This diff is too big to show here.

.spago/p/integers-6.0.0/src/Data/Int.jsdeleted−65

This diff is too big to show here.

.spago/p/integers-6.0.0/src/Data/Int.pursdeleted−257

This diff is too big to show here.

.spago/p/integers-6.0.0/src/Data/Int/Bits.jsdeleted−48

This diff is too big to show here.

.spago/p/integers-6.0.0/src/Data/Int/Bits.pursdeleted−37

This diff is too big to show here.

.spago/p/invariant-6.0.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/invariant-6.0.0/README.mddeleted−17

This diff is too big to show here.

.spago/p/invariant-6.0.0/bower.jsondeleted−22

This diff is too big to show here.

.spago/p/invariant-6.0.0/package.jsondeleted−12

This diff is too big to show here.

.spago/p/invariant-6.0.0/purs.jsondeleted−13

This diff is too big to show here.

.spago/p/invariant-6.0.0/src/Data/Functor/Invariant.pursdeleted−57

This diff is too big to show here.

.spago/p/js-date-8.0.0/LICENSEdeleted−20

This diff is too big to show here.

.spago/p/js-date-8.0.0/README.mddeleted−44

This diff is too big to show here.

.spago/p/js-date-8.0.0/bower.jsondeleted−29

This diff is too big to show here.

.spago/p/js-date-8.0.0/package.jsondeleted−10

This diff is too big to show here.

.spago/p/js-date-8.0.0/packages.dhalldeleted−4

This diff is too big to show here.

.spago/p/js-date-8.0.0/purs.jsondeleted−18

This diff is too big to show here.

.spago/p/js-date-8.0.0/spago.dhalldeleted−20

This diff is too big to show here.

.spago/p/js-date-8.0.0/src/Data/JSDate.jsdeleted−83

This diff is too big to show here.

.spago/p/js-date-8.0.0/src/Data/JSDate.pursdeleted−272

This diff is too big to show here.

.spago/p/lazy-6.0.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/lazy-6.0.0/README.mddeleted−17

This diff is too big to show here.

.spago/p/lazy-6.0.0/bower.jsondeleted−28

This diff is too big to show here.

.spago/p/lazy-6.0.0/package.jsondeleted−13

This diff is too big to show here.

.spago/p/lazy-6.0.0/purs.jsondeleted−15

This diff is too big to show here.

.spago/p/lazy-6.0.0/src/Data/Lazy.jsdeleted−14

This diff is too big to show here.

.spago/p/lazy-6.0.0/src/Data/Lazy.pursdeleted−142

This diff is too big to show here.

.spago/p/lists-7.0.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/lists-7.0.0/LICENSE-GHC.mddeleted−32

This diff is too big to show here.

.spago/p/lists-7.0.0/README.mddeleted−25

This diff is too big to show here.

.spago/p/lists-7.0.0/bower.jsondeleted−41

This diff is too big to show here.

.spago/p/lists-7.0.0/package.jsondeleted−16

This diff is too big to show here.

.spago/p/lists-7.0.0/purs.jsondeleted−23

This diff is too big to show here.

.spago/p/lists-7.0.0/src/Data/List.pursdeleted−826

This diff is too big to show here.

.spago/p/lists-7.0.0/src/Data/List/Internal.pursdeleted−63

This diff is too big to show here.

.spago/p/lists-7.0.0/src/Data/List/Lazy.pursdeleted−780

This diff is too big to show here.

.spago/p/lists-7.0.0/src/Data/List/Lazy/NonEmpty.pursdeleted−88

This diff is too big to show here.

.spago/p/lists-7.0.0/src/Data/List/Lazy/Types.pursdeleted−295

This diff is too big to show here.

.spago/p/lists-7.0.0/src/Data/List/NonEmpty.pursdeleted−307

This diff is too big to show here.

.spago/p/lists-7.0.0/src/Data/List/Partial.pursdeleted−30

This diff is too big to show here.

.spago/p/lists-7.0.0/src/Data/List/Types.pursdeleted−264

This diff is too big to show here.

.spago/p/lists-7.0.0/src/Data/List/ZipList.pursdeleted−66

This diff is too big to show here.

.spago/p/maybe-6.0.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/maybe-6.0.0/README.mddeleted−17

This diff is too big to show here.

.spago/p/maybe-6.0.0/bower.jsondeleted−24

This diff is too big to show here.

.spago/p/maybe-6.0.0/package.jsondeleted−12

This diff is too big to show here.

.spago/p/maybe-6.0.0/purs.jsondeleted−15

This diff is too big to show here.

.spago/p/maybe-6.0.0/src/Data/Maybe.pursdeleted−312

This diff is too big to show here.

.spago/p/maybe-6.0.0/src/Data/Maybe/First.pursdeleted−68

This diff is too big to show here.

.spago/p/maybe-6.0.0/src/Data/Maybe/Last.pursdeleted−67

This diff is too big to show here.

.spago/p/mmorph-7.0.0/LICENSEdeleted−7

This diff is too big to show here.

.spago/p/mmorph-7.0.0/README.mddeleted−11

This diff is too big to show here.

.spago/p/mmorph-7.0.0/bower.jsondeleted−19

This diff is too big to show here.

.spago/p/mmorph-7.0.0/purs.jsondeleted−14

This diff is too big to show here.

.spago/p/mmorph-7.0.0/src/Control/Monad/Morph.pursdeleted−147

This diff is too big to show here.

.spago/p/newtype-5.0.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/newtype-5.0.0/README.mddeleted−19

This diff is too big to show here.

.spago/p/newtype-5.0.0/bower.jsondeleted−23

This diff is too big to show here.

.spago/p/newtype-5.0.0/package.jsondeleted−12

This diff is too big to show here.

.spago/p/newtype-5.0.0/purs.jsondeleted−14

This diff is too big to show here.

.spago/p/newtype-5.0.0/src/Data/Newtype.pursdeleted−308

This diff is too big to show here.

.spago/p/node-buffer-9.0.0/LICENSEdeleted−21

This diff is too big to show here.

.spago/p/node-buffer-9.0.0/README.mddeleted−17

This diff is too big to show here.

.spago/p/node-buffer-9.0.0/bower.jsondeleted−28

This diff is too big to show here.

.spago/p/node-buffer-9.0.0/package.jsondeleted−15

This diff is too big to show here.

.spago/p/node-buffer-9.0.0/purs.jsondeleted−17

This diff is too big to show here.

.spago/p/node-buffer-9.0.0/src/Node/Buffer.jsdeleted−33

This diff is too big to show here.

.spago/p/node-buffer-9.0.0/src/Node/Buffer.pursdeleted−231

This diff is too big to show here.

.spago/p/node-buffer-9.0.0/src/Node/Buffer/Class.pursdeleted−115

This diff is too big to show here.

.spago/p/node-buffer-9.0.0/src/Node/Buffer/Constants.jsdeleted−5

This diff is too big to show here.

.spago/p/node-buffer-9.0.0/src/Node/Buffer/Constants.pursdeleted−9

This diff is too big to show here.

.spago/p/node-buffer-9.0.0/src/Node/Buffer/Immutable.jsdeleted−45

This diff is too big to show here.

.spago/p/node-buffer-9.0.0/src/Node/Buffer/Immutable.pursdeleted−138

This diff is too big to show here.

.spago/p/node-buffer-9.0.0/src/Node/Buffer/ST.pursdeleted−189

This diff is too big to show here.

.spago/p/node-buffer-9.0.0/src/Node/Buffer/Types.pursdeleted−47

This diff is too big to show here.

.spago/p/node-buffer-9.0.0/src/Node/Encoding.jsdeleted−3

This diff is too big to show here.

.spago/p/node-buffer-9.0.0/src/Node/Encoding.pursdeleted−49

This diff is too big to show here.

.spago/p/node-event-emitter-3.0.0/LICENSEdeleted−7

This diff is too big to show here.

.spago/p/node-event-emitter-3.0.0/README.mddeleted−3

This diff is too big to show here.

.spago/p/node-event-emitter-3.0.0/packages.dhalldeleted−5

This diff is too big to show here.

.spago/p/node-event-emitter-3.0.0/purs.jsondeleted−18

This diff is too big to show here.

.spago/p/node-event-emitter-3.0.0/spago.dhalldeleted−13

This diff is too big to show here.

.spago/p/node-event-emitter-3.0.0/src/Node/EventEmitter.jsdeleted−24

This diff is too big to show here.

.spago/p/node-event-emitter-3.0.0/src/Node/EventEmitter.pursdeleted−356

This diff is too big to show here.

.spago/p/node-event-emitter-3.0.0/src/Node/EventEmitter/UtilTypes.pursdeleted−16

This diff is too big to show here.

.spago/p/node-event-emitter-3.0.0/src/Node/Symbol.jsdeleted−3

This diff is too big to show here.

.spago/p/node-event-emitter-3.0.0/src/Node/Symbol.pursdeleted−29

This diff is too big to show here.

.spago/p/node-fs-9.2.0/LICENSEdeleted−20

This diff is too big to show here.

.spago/p/node-fs-9.2.0/README.mddeleted−17

This diff is too big to show here.

.spago/p/node-fs-9.2.0/bower.jsondeleted−44

This diff is too big to show here.

.spago/p/node-fs-9.2.0/package.jsondeleted−14

This diff is too big to show here.

.spago/p/node-fs-9.2.0/purs.jsondeleted−29

This diff is too big to show here.

.spago/p/node-fs-9.2.0/src/Node/FS.pursdeleted−41

This diff is too big to show here.

.spago/p/node-fs-9.2.0/src/Node/FS/Aff.pursdeleted−326

This diff is too big to show here.

.spago/p/node-fs-9.2.0/src/Node/FS/Async.jsdeleted−28

This diff is too big to show here.

.spago/p/node-fs-9.2.0/src/Node/FS/Async.pursdeleted−395

This diff is too big to show here.

.spago/p/node-fs-9.2.0/src/Node/FS/Constants.jsdeleted−17

This diff is too big to show here.

.spago/p/node-fs-9.2.0/src/Node/FS/Constants.pursdeleted−90

This diff is too big to show here.

.spago/p/node-fs-9.2.0/src/Node/FS/Perms.pursdeleted−187

This diff is too big to show here.

.spago/p/node-fs-9.2.0/src/Node/FS/Stats.jsdeleted−27

This diff is too big to show here.

.spago/p/node-fs-9.2.0/src/Node/FS/Stats.pursdeleted−192

This diff is too big to show here.

.spago/p/node-fs-9.2.0/src/Node/FS/Stream.jsdeleted−11

This diff is too big to show here.

.spago/p/node-fs-9.2.0/src/Node/FS/Stream.pursdeleted−152

This diff is too big to show here.

.spago/p/node-fs-9.2.0/src/Node/FS/Sync.jsdeleted−30

This diff is too big to show here.

.spago/p/node-fs-9.2.0/src/Node/FS/Sync.pursdeleted−368

This diff is too big to show here.

.spago/p/node-path-5.0.1/LICENSEdeleted−20

This diff is too big to show here.

.spago/p/node-path-5.0.1/README.mddeleted−18

This diff is too big to show here.

.spago/p/node-path-5.0.1/bower.jsondeleted−29

This diff is too big to show here.

.spago/p/node-path-5.0.1/package.jsondeleted−14

This diff is too big to show here.

.spago/p/node-path-5.0.1/purs.jsondeleted−13

This diff is too big to show here.

.spago/p/node-path-5.0.1/src/Node/Path.jsdeleted−30

This diff is too big to show here.

.spago/p/node-path-5.0.1/src/Node/Path.pursdeleted−48

This diff is too big to show here.

.spago/p/node-process-11.2.0/LICENSEdeleted−20

This diff is too big to show here.

.spago/p/node-process-11.2.0/README.mddeleted−17

This diff is too big to show here.

.spago/p/node-process-11.2.0/bower.jsondeleted−25

This diff is too big to show here.

.spago/p/node-process-11.2.0/package.jsondeleted−13

This diff is too big to show here.

.spago/p/node-process-11.2.0/purs.jsondeleted−20

This diff is too big to show here.

.spago/p/node-process-11.2.0/src/Node/Platform.pursdeleted−54

This diff is too big to show here.

.spago/p/node-process-11.2.0/src/Node/Process.jsdeleted−65

This diff is too big to show here.

.spago/p/node-process-11.2.0/src/Node/Process.pursdeleted−612

This diff is too big to show here.

.spago/p/node-streams-9.0.1/LICENSEdeleted−20

This diff is too big to show here.

.spago/p/node-streams-9.0.1/README.mddeleted−19

This diff is too big to show here.

.spago/p/node-streams-9.0.1/package.jsondeleted−7

This diff is too big to show here.

.spago/p/node-streams-9.0.1/purs.jsondeleted−25

This diff is too big to show here.

.spago/p/node-streams-9.0.1/spago.yamldeleted−39

This diff is too big to show here.

.spago/p/node-streams-9.0.1/src/Node/Stream.jsdeleted−97

This diff is too big to show here.

.spago/p/node-streams-9.0.1/src/Node/Stream.pursdeleted−506

This diff is too big to show here.

.spago/p/node-streams-9.0.1/src/Node/Stream/Aff.pursdeleted−520

This diff is too big to show here.

.spago/p/nonempty-7.0.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/nonempty-7.0.0/README.mddeleted−17

This diff is too big to show here.

.spago/p/nonempty-7.0.0/bower.jsondeleted−30

This diff is too big to show here.

.spago/p/nonempty-7.0.0/package.jsondeleted−13

This diff is too big to show here.

.spago/p/nonempty-7.0.0/purs.jsondeleted−17

This diff is too big to show here.

.spago/p/nonempty-7.0.0/src/Data/NonEmpty.pursdeleted−174

This diff is too big to show here.

.spago/p/now-6.0.0/LICENSEdeleted−20

This diff is too big to show here.

.spago/p/now-6.0.0/README.mddeleted−79

This diff is too big to show here.

.spago/p/now-6.0.0/bower.jsondeleted−31

This diff is too big to show here.

.spago/p/now-6.0.0/package.jsondeleted−10

This diff is too big to show here.

.spago/p/now-6.0.0/packages.dhalldeleted−4

This diff is too big to show here.

.spago/p/now-6.0.0/purs.jsondeleted−14

This diff is too big to show here.

.spago/p/now-6.0.0/spago.dhalldeleted−15

This diff is too big to show here.

.spago/p/now-6.0.0/src/Effect/Now.jsdeleted−8

This diff is too big to show here.

.spago/p/now-6.0.0/src/Effect/Now.pursdeleted−34

This diff is too big to show here.

.spago/p/nullable-6.0.0/LICENSEdeleted−20

This diff is too big to show here.

.spago/p/nullable-6.0.0/README.mddeleted−109

This diff is too big to show here.

.spago/p/nullable-6.0.0/bower.jsondeleted−29

This diff is too big to show here.

.spago/p/nullable-6.0.0/package.jsondeleted−10

This diff is too big to show here.

.spago/p/nullable-6.0.0/packages.dhalldeleted−4

This diff is too big to show here.

.spago/p/nullable-6.0.0/purs.jsondeleted−15

This diff is too big to show here.

.spago/p/nullable-6.0.0/spago.dhalldeleted−11

This diff is too big to show here.

.spago/p/nullable-6.0.0/src/Data/Nullable.jsdeleted−12

This diff is too big to show here.

.spago/p/nullable-6.0.0/src/Data/Nullable.pursdeleted−79

This diff is too big to show here.

.spago/p/numbers-9.0.1/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/numbers-9.0.1/README.mddeleted−35

This diff is too big to show here.

.spago/p/numbers-9.0.1/bower.jsondeleted−26

This diff is too big to show here.

.spago/p/numbers-9.0.1/package.jsondeleted−13

This diff is too big to show here.

.spago/p/numbers-9.0.1/purs.jsondeleted−14

This diff is too big to show here.

.spago/p/numbers-9.0.1/src/Data/Number.jsdeleted−80

This diff is too big to show here.

.spago/p/numbers-9.0.1/src/Data/Number.pursdeleted−363

This diff is too big to show here.

.spago/p/numbers-9.0.1/src/Data/Number/Approximate.pursdeleted−95

This diff is too big to show here.

.spago/p/numbers-9.0.1/src/Data/Number/Format.jsdeleted−12

This diff is too big to show here.

.spago/p/numbers-9.0.1/src/Data/Number/Format.pursdeleted−76

This diff is too big to show here.

.spago/p/open-memoize-6.2.0/LICENSEdeleted−20

This diff is too big to show here.

.spago/p/open-memoize-6.2.0/README.mddeleted−45

This diff is too big to show here.

.spago/p/open-memoize-6.2.0/package.jsondeleted−13

This diff is too big to show here.

.spago/p/open-memoize-6.2.0/purs.jsondeleted−20

This diff is too big to show here.

.spago/p/open-memoize-6.2.0/spago.yamldeleted−27

This diff is too big to show here.

.spago/p/open-memoize-6.2.0/src/Data/Function/Memoize.pursdeleted−230

This diff is too big to show here.

.spago/p/optparse-5.0.1/LICENSEdeleted−30

This diff is too big to show here.

.spago/p/optparse-5.0.1/README.mddeleted−1028

This diff is too big to show here.

.spago/p/optparse-5.0.1/bower.jsondeleted−50

This diff is too big to show here.

.spago/p/optparse-5.0.1/package.jsondeleted−12

This diff is too big to show here.

.spago/p/optparse-5.0.1/purs.jsondeleted−41

This diff is too big to show here.

.spago/p/optparse-5.0.1/spago.yamldeleted−46

This diff is too big to show here.

.spago/p/optparse-5.0.1/src/Options/Applicative.pursdeleted−13

This diff is too big to show here.

.spago/p/optparse-5.0.1/src/Options/Applicative/BashCompletion.pursdeleted−283

This diff is too big to show here.

.spago/p/optparse-5.0.1/src/Options/Applicative/Builder.pursdeleted−525

This diff is too big to show here.

.spago/p/optparse-5.0.1/src/Options/Applicative/Builder/Completer.jsdeleted−8

This diff is too big to show here.

.spago/p/optparse-5.0.1/src/Options/Applicative/Builder/Completer.pursdeleted−135

This diff is too big to show here.

.spago/p/optparse-5.0.1/src/Options/Applicative/Builder/Internal.pursdeleted−199

This diff is too big to show here.

.spago/p/optparse-5.0.1/src/Options/Applicative/Common.pursdeleted−297

This diff is too big to show here.

.spago/p/optparse-5.0.1/src/Options/Applicative/Extra.pursdeleted−303

This diff is too big to show here.

.spago/p/optparse-5.0.1/src/Options/Applicative/Help.pursdeleted−27

This diff is too big to show here.

.spago/p/optparse-5.0.1/src/Options/Applicative/Help/Chunk.pursdeleted−143

This diff is too big to show here.

.spago/p/optparse-5.0.1/src/Options/Applicative/Help/Core.pursdeleted−192

This diff is too big to show here.

.spago/p/optparse-5.0.1/src/Options/Applicative/Help/Levenshtein.pursdeleted−101

This diff is too big to show here.

.spago/p/optparse-5.0.1/src/Options/Applicative/Help/Pretty.pursdeleted−11

This diff is too big to show here.

.spago/p/optparse-5.0.1/src/Options/Applicative/Help/Types.pursdeleted−41

This diff is too big to show here.

.spago/p/optparse-5.0.1/src/Options/Applicative/Internal.pursdeleted−291

This diff is too big to show here.

.spago/p/optparse-5.0.1/src/Options/Applicative/Internal/Utils.pursdeleted−50

This diff is too big to show here.

.spago/p/optparse-5.0.1/src/Options/Applicative/Types.pursdeleted−545

This diff is too big to show here.

.spago/p/optparse-5.0.1/src/Text/PrettyPrint/Leijen.pursdeleted−918

This diff is too big to show here.

.spago/p/ordered-collections-3.2.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/ordered-collections-3.2.0/README.mddeleted−19

This diff is too big to show here.

.spago/p/ordered-collections-3.2.0/bower.jsondeleted−37

This diff is too big to show here.

.spago/p/ordered-collections-3.2.0/package.jsondeleted−16

This diff is too big to show here.

.spago/p/ordered-collections-3.2.0/purs.jsondeleted−22

This diff is too big to show here.

.spago/p/ordered-collections-3.2.0/src/Data/Map.pursdeleted−65

This diff is too big to show here.

.spago/p/ordered-collections-3.2.0/src/Data/Map/Gen.pursdeleted−24

This diff is too big to show here.

.spago/p/ordered-collections-3.2.0/src/Data/Map/Internal.pursdeleted−988

This diff is too big to show here.

.spago/p/ordered-collections-3.2.0/src/Data/Set.pursdeleted−188

This diff is too big to show here.

.spago/p/ordered-collections-3.2.0/src/Data/Set/NonEmpty.pursdeleted−163

This diff is too big to show here.

.spago/p/orders-6.0.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/orders-6.0.0/README.mddeleted−17

This diff is too big to show here.

.spago/p/orders-6.0.0/bower.jsondeleted−26

This diff is too big to show here.

.spago/p/orders-6.0.0/package.jsondeleted−13

This diff is too big to show here.

.spago/p/orders-6.0.0/purs.jsondeleted−13

This diff is too big to show here.

.spago/p/orders-6.0.0/src/Data/Ord/Down.pursdeleted−26

This diff is too big to show here.

.spago/p/orders-6.0.0/src/Data/Ord/Max.pursdeleted−29

This diff is too big to show here.

.spago/p/orders-6.0.0/src/Data/Ord/Min.pursdeleted−29

This diff is too big to show here.

.spago/p/parallel-7.0.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/parallel-7.0.0/README.mddeleted−17

This diff is too big to show here.

.spago/p/parallel-7.0.0/bower.jsondeleted−34

This diff is too big to show here.

.spago/p/parallel-7.0.0/package.jsondeleted−13

This diff is too big to show here.

.spago/p/parallel-7.0.0/purs.jsondeleted−22

This diff is too big to show here.

.spago/p/parallel-7.0.0/src/Control/Parallel.pursdeleted−90

This diff is too big to show here.

.spago/p/parallel-7.0.0/src/Control/Parallel/Class.pursdeleted−123

This diff is too big to show here.

.spago/p/partial-4.0.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/partial-4.0.0/README.mddeleted−225

This diff is too big to show here.

.spago/p/partial-4.0.0/bower.jsondeleted−19

This diff is too big to show here.

.spago/p/partial-4.0.0/package.jsondeleted−14

This diff is too big to show here.

.spago/p/partial-4.0.0/purs.jsondeleted−11

This diff is too big to show here.

.spago/p/partial-4.0.0/src/Partial.jsdeleted−5

This diff is too big to show here.

.spago/p/partial-4.0.0/src/Partial.pursdeleted−15

This diff is too big to show here.

.spago/p/partial-4.0.0/src/Partial/Unsafe.jsdeleted−5

This diff is too big to show here.

.spago/p/partial-4.0.0/src/Partial/Unsafe.pursdeleted−24

This diff is too big to show here.

.spago/p/pipes-8.0.0/README.mddeleted−19

This diff is too big to show here.

.spago/p/pipes-8.0.0/bower.jsondeleted−24

This diff is too big to show here.

.spago/p/pipes-8.0.0/package.jsondeleted−14

This diff is too big to show here.

.spago/p/pipes-8.0.0/purs.jsondeleted−18

This diff is too big to show here.

.spago/p/pipes-8.0.0/src/Pipes.pursdeleted−108

This diff is too big to show here.

.spago/p/pipes-8.0.0/src/Pipes/Core.pursdeleted−310

This diff is too big to show here.

.spago/p/pipes-8.0.0/src/Pipes/Internal.pursdeleted−182

This diff is too big to show here.

.spago/p/pipes-8.0.0/src/Pipes/ListT.pursdeleted−131

This diff is too big to show here.

.spago/p/pipes-8.0.0/src/Pipes/Prelude.pursdeleted−365

This diff is too big to show here.

.spago/p/posix-types-6.0.0/LICENSEdeleted−21

This diff is too big to show here.

.spago/p/posix-types-6.0.0/README.mddeleted−17

This diff is too big to show here.

.spago/p/posix-types-6.0.0/bower.jsondeleted−24

This diff is too big to show here.

.spago/p/posix-types-6.0.0/package.jsondeleted−12

This diff is too big to show here.

.spago/p/posix-types-6.0.0/purs.jsondeleted−13

This diff is too big to show here.

.spago/p/posix-types-6.0.0/src/Data/Posix.pursdeleted−34

This diff is too big to show here.

.spago/p/posix-types-6.0.0/src/Data/Posix/Signal.pursdeleted−140

This diff is too big to show here.

.spago/p/prelude-6.0.2/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/prelude-6.0.2/README.mddeleted−17

This diff is too big to show here.

.spago/p/prelude-6.0.2/bower.jsondeleted−19

This diff is too big to show here.

.spago/p/prelude-6.0.2/package.jsondeleted−14

This diff is too big to show here.

.spago/p/prelude-6.0.2/purs.jsondeleted−11

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Control/Applicative.pursdeleted−70

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Control/Apply.jsdeleted−15

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Control/Apply.pursdeleted−104

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Control/Bind.jsdeleted−21

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Control/Bind.pursdeleted−150

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Control/Category.pursdeleted−22

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Control/Monad.pursdeleted−86

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Control/Semigroupoid.pursdeleted−25

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Boolean.pursdeleted−10

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/BooleanAlgebra.pursdeleted−43

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Bounded.jsdeleted−8

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Bounded.pursdeleted−105

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Bounded/Generic.pursdeleted−56

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/CommutativeRing.pursdeleted−44

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/DivisionRing.pursdeleted−55

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Eq.jsdeleted−23

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Eq.pursdeleted−115

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Eq/Generic.pursdeleted−35

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/EuclideanRing.jsdeleted−26

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/EuclideanRing.pursdeleted−100

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Field.pursdeleted−41

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Function.pursdeleted−120

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Functor.jsdeleted−10

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Functor.pursdeleted−106

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Generic/Rep.pursdeleted−62

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/HeytingAlgebra.jsdeleted−15

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/HeytingAlgebra.pursdeleted−171

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/HeytingAlgebra/Generic.pursdeleted−70

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Monoid.pursdeleted−120

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Monoid/Additive.pursdeleted−44

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Monoid/Conj.pursdeleted−51

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Monoid/Disj.pursdeleted−51

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Monoid/Dual.pursdeleted−44

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Monoid/Endo.pursdeleted−30

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Monoid/Generic.pursdeleted−27

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Monoid/Multiplicative.pursdeleted−44

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/NaturalTransformation.pursdeleted−20

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Ord.jsdeleted−43

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Ord.pursdeleted−264

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Ord/Generic.pursdeleted−39

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Ordering.pursdeleted−36

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Reflectable.jsdeleted−5

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Reflectable.pursdeleted−57

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Ring.jsdeleted−12

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Ring.pursdeleted−78

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Ring/Generic.pursdeleted−24

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Semigroup.jsdeleted−13

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Semigroup.pursdeleted−84

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Semigroup/First.pursdeleted−40

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Semigroup/Generic.pursdeleted−31

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Semigroup/Last.pursdeleted−40

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Semiring.jsdeleted−25

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Semiring.pursdeleted−140

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Semiring/Generic.pursdeleted−51

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Show.jsdeleted−59

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Show.pursdeleted−97

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Show/Generic.jsdeleted−5

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Show/Generic.pursdeleted−57

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Symbol.jsdeleted−6

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Symbol.pursdeleted−24

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Unit.jsdeleted−1

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Unit.pursdeleted−14

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Data/Void.pursdeleted−34

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Prelude.pursdeleted−70

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Record/Unsafe.jsdeleted−38

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Record/Unsafe.pursdeleted−27

This diff is too big to show here.

.spago/p/prelude-6.0.2/src/Type/Proxy.pursdeleted−53

This diff is too big to show here.

.spago/p/profunctor-6.0.1/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/profunctor-6.0.1/README.mddeleted−17

This diff is too big to show here.

.spago/p/profunctor-6.0.1/bower.jsondeleted−33

This diff is too big to show here.

.spago/p/profunctor-6.0.1/package.jsondeleted−12

This diff is too big to show here.

.spago/p/profunctor-6.0.1/purs.jsondeleted−19

This diff is too big to show here.

.spago/p/profunctor-6.0.1/src/Data/Profunctor.pursdeleted−44

This diff is too big to show here.

.spago/p/profunctor-6.0.1/src/Data/Profunctor/Choice.pursdeleted−83

This diff is too big to show here.

.spago/p/profunctor-6.0.1/src/Data/Profunctor/Closed.pursdeleted−12

This diff is too big to show here.

.spago/p/profunctor-6.0.1/src/Data/Profunctor/Cochoice.pursdeleted−9

This diff is too big to show here.

.spago/p/profunctor-6.0.1/src/Data/Profunctor/Costrong.pursdeleted−9

This diff is too big to show here.

.spago/p/profunctor-6.0.1/src/Data/Profunctor/Join.pursdeleted−28

This diff is too big to show here.

.spago/p/profunctor-6.0.1/src/Data/Profunctor/Split.pursdeleted−39

This diff is too big to show here.

.spago/p/profunctor-6.0.1/src/Data/Profunctor/Star.pursdeleted−80

This diff is too big to show here.

.spago/p/profunctor-6.0.1/src/Data/Profunctor/Strong.pursdeleted−80

This diff is too big to show here.

.spago/p/random-6.0.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/random-6.0.0/README.mddeleted−17

This diff is too big to show here.

.spago/p/random-6.0.0/bower.jsondeleted−22

This diff is too big to show here.

.spago/p/random-6.0.0/package.jsondeleted−13

This diff is too big to show here.

.spago/p/random-6.0.0/purs.jsondeleted−13

This diff is too big to show here.

.spago/p/random-6.0.0/src/Effect/Random.jsdeleted−1

This diff is too big to show here.

.spago/p/random-6.0.0/src/Effect/Random.pursdeleted−45

This diff is too big to show here.

.spago/p/record-4.0.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/record-4.0.0/README.mddeleted−59

This diff is too big to show here.

.spago/p/record-4.0.0/bower.jsondeleted−27

This diff is too big to show here.

.spago/p/record-4.0.0/package.jsondeleted−14

This diff is too big to show here.

.spago/p/record-4.0.0/purs.jsondeleted−15

This diff is too big to show here.

.spago/p/record-4.0.0/src/Record.pursdeleted−242

This diff is too big to show here.

.spago/p/record-4.0.0/src/Record/Builder.jsdeleted−44

This diff is too big to show here.

.spago/p/record-4.0.0/src/Record/Builder.pursdeleted−157

This diff is too big to show here.

.spago/p/record-4.0.0/src/Record/Unsafe/Union.jsdeleted−14

This diff is too big to show here.

.spago/p/record-4.0.0/src/Record/Unsafe/Union.pursdeleted−8

This diff is too big to show here.

.spago/p/record-studio-1.0.4/LICENCEdeleted−16

This diff is too big to show here.

.spago/p/record-studio-1.0.4/LICENCES/heterogeneous-extrablatt.LICENCEdeleted−16

This diff is too big to show here.

.spago/p/record-studio-1.0.4/LICENCES/record-extra.LICENCEdeleted−21

This diff is too big to show here.

.spago/p/record-studio-1.0.4/README.mddeleted−184

This diff is too big to show here.

.spago/p/record-studio-1.0.4/bower.jsondeleted−23

This diff is too big to show here.

.spago/p/record-studio-1.0.4/package.jsondeleted−17

This diff is too big to show here.

.spago/p/record-studio-1.0.4/packages.dhalldeleted−4

This diff is too big to show here.

.spago/p/record-studio-1.0.4/purs.jsondeleted−18

This diff is too big to show here.

.spago/p/record-studio-1.0.4/spago.dhalldeleted−8

This diff is too big to show here.

.spago/p/record-studio-1.0.4/src/Record/Studio.pursdeleted−21

This diff is too big to show here.

.spago/p/record-studio-1.0.4/src/Record/Studio/Keys.pursdeleted−30

This diff is too big to show here.

.spago/p/record-studio-1.0.4/src/Record/Studio/Map.pursdeleted−82

This diff is too big to show here.

.spago/p/record-studio-1.0.4/src/Record/Studio/MapKind.pursdeleted−83

This diff is too big to show here.

.spago/p/record-studio-1.0.4/src/Record/Studio/MapUniform.pursdeleted−47

This diff is too big to show here.

.spago/p/record-studio-1.0.4/src/Record/Studio/Merge.pursdeleted−28

This diff is too big to show here.

.spago/p/record-studio-1.0.4/src/Record/Studio/SameKeys.pursdeleted−43

This diff is too big to show here.

.spago/p/record-studio-1.0.4/src/Record/Studio/Sequence.pursdeleted−83

This diff is too big to show here.

.spago/p/record-studio-1.0.4/src/Record/Studio/Shrink.jsdeleted−6

This diff is too big to show here.

.spago/p/record-studio-1.0.4/src/Record/Studio/Shrink.pursdeleted−10

This diff is too big to show here.

.spago/p/record-studio-1.0.4/src/Record/Studio/SingletonRecord.jsdeleted−2

This diff is too big to show here.

.spago/p/record-studio-1.0.4/src/Record/Studio/SingletonRecord.pursdeleted−78

This diff is too big to show here.

.spago/p/refs-6.0.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/refs-6.0.0/README.mddeleted−49

This diff is too big to show here.

.spago/p/refs-6.0.0/bower.jsondeleted−25

This diff is too big to show here.

.spago/p/refs-6.0.0/package.jsondeleted−14

This diff is too big to show here.

.spago/p/refs-6.0.0/purs.jsondeleted−13

This diff is too big to show here.

.spago/p/refs-6.0.0/src/Effect/Ref.jsdeleted−37

This diff is too big to show here.

.spago/p/refs-6.0.0/src/Effect/Ref.pursdeleted−73

This diff is too big to show here.

.spago/p/safe-coerce-2.0.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/safe-coerce-2.0.0/README.mddeleted−13

This diff is too big to show here.

.spago/p/safe-coerce-2.0.0/bower.jsondeleted−25

This diff is too big to show here.

.spago/p/safe-coerce-2.0.0/package.jsondeleted−13

This diff is too big to show here.

.spago/p/safe-coerce-2.0.0/purs.jsondeleted−12

This diff is too big to show here.

.spago/p/safe-coerce-2.0.0/src/Safe/Coerce.pursdeleted−27

This diff is too big to show here.

.spago/p/spec-8.1.1/LICENSEdeleted−21

This diff is too big to show here.

.spago/p/spec-8.1.1/README.mddeleted−147

This diff is too big to show here.

.spago/p/spec-8.1.1/package.jsondeleted−11

This diff is too big to show here.

.spago/p/spec-8.1.1/purs.jsondeleted−38

This diff is too big to show here.

.spago/p/spec-8.1.1/spago.yamldeleted−58

This diff is too big to show here.

.spago/p/spec-8.1.1/src/Test/Spec.pursdeleted−335

This diff is too big to show here.

.spago/p/spec-8.1.1/src/Test/Spec/Assertions.jsdeleted−1

This diff is too big to show here.

.spago/p/spec-8.1.1/src/Test/Spec/Assertions.pursdeleted−146

This diff is too big to show here.

.spago/p/spec-8.1.1/src/Test/Spec/Assertions/String.jsdeleted−13

This diff is too big to show here.

.spago/p/spec-8.1.1/src/Test/Spec/Assertions/String.pursdeleted−56

This diff is too big to show here.

.spago/p/spec-8.1.1/src/Test/Spec/Config.pursdeleted−41

This diff is too big to show here.

.spago/p/spec-8.1.1/src/Test/Spec/Console.jsdeleted−13

This diff is too big to show here.

.spago/p/spec-8.1.1/src/Test/Spec/Console.pursdeleted−32

This diff is too big to show here.

.spago/p/spec-8.1.1/src/Test/Spec/Reporter.pursdeleted−6

This diff is too big to show here.

.spago/p/spec-8.1.1/src/Test/Spec/Reporter/Base.pursdeleted−162

This diff is too big to show here.

.spago/p/spec-8.1.1/src/Test/Spec/Reporter/Console.pursdeleted−107

This diff is too big to show here.

.spago/p/spec-8.1.1/src/Test/Spec/Reporter/Dot.pursdeleted−30

This diff is too big to show here.

.spago/p/spec-8.1.1/src/Test/Spec/Reporter/Spec.pursdeleted−87

This diff is too big to show here.

.spago/p/spec-8.1.1/src/Test/Spec/Reporter/Tap.pursdeleted−59

This diff is too big to show here.

.spago/p/spec-8.1.1/src/Test/Spec/Reporter/TeamCity.pursdeleted−173

This diff is too big to show here.

.spago/p/spec-8.1.1/src/Test/Spec/Result.pursdeleted−22

This diff is too big to show here.

.spago/p/spec-8.1.1/src/Test/Spec/Runner.jsdeleted−20

This diff is too big to show here.

.spago/p/spec-8.1.1/src/Test/Spec/Runner.pursdeleted−249

This diff is too big to show here.

.spago/p/spec-8.1.1/src/Test/Spec/Runner/Event.pursdeleted−33

This diff is too big to show here.

.spago/p/spec-8.1.1/src/Test/Spec/Speed.pursdeleted−26

This diff is too big to show here.

.spago/p/spec-8.1.1/src/Test/Spec/Style.pursdeleted−46

This diff is too big to show here.

.spago/p/spec-8.1.1/src/Test/Spec/Summary.pursdeleted−32

This diff is too big to show here.

.spago/p/spec-8.1.1/src/Test/Spec/Tree.pursdeleted−195

This diff is too big to show here.

.spago/p/spec-discovery-8.4.0/LICENSEdeleted−373

This diff is too big to show here.

.spago/p/spec-discovery-8.4.0/README.mddeleted−69

This diff is too big to show here.

.spago/p/spec-discovery-8.4.0/package.jsondeleted−6

This diff is too big to show here.

.spago/p/spec-discovery-8.4.0/purs.jsondeleted−18

This diff is too big to show here.

.spago/p/spec-discovery-8.4.0/spago.yamldeleted−22

This diff is too big to show here.

.spago/p/spec-discovery-8.4.0/src/Test/Spec/Discovery.jsdeleted−36

This diff is too big to show here.

.spago/p/spec-discovery-8.4.0/src/Test/Spec/Discovery.pursdeleted−30

This diff is too big to show here.

.spago/p/spec-node-0.0.3/LICENSEdeleted−21

This diff is too big to show here.

.spago/p/spec-node-0.0.3/README.mddeleted−7

This diff is too big to show here.

.spago/p/spec-node-0.0.3/package.jsondeleted−7

This diff is too big to show here.

.spago/p/spec-node-0.0.3/purs.jsondeleted−36

This diff is too big to show here.

.spago/p/spec-node-0.0.3/spago.yamldeleted−47

This diff is too big to show here.

.spago/p/spec-node-0.0.3/src/Node.pursdeleted−122

This diff is too big to show here.

.spago/p/spec-node-0.0.3/src/Node/Config.pursdeleted−228

This diff is too big to show here.

.spago/p/spec-node-0.0.3/src/Node/Persist.pursdeleted−77

This diff is too big to show here.

.spago/p/st-6.2.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/st-6.2.0/README.mddeleted−17

This diff is too big to show here.

.spago/p/st-6.2.0/bower.jsondeleted−28

This diff is too big to show here.

.spago/p/st-6.2.0/package.jsondeleted−14

This diff is too big to show here.

.spago/p/st-6.2.0/purs.jsondeleted−16

This diff is too big to show here.

.spago/p/st-6.2.0/src/Control/Monad/ST.pursdeleted−3

This diff is too big to show here.

.spago/p/st-6.2.0/src/Control/Monad/ST/Class.pursdeleted−17

This diff is too big to show here.

.spago/p/st-6.2.0/src/Control/Monad/ST/Global.pursdeleted−18

This diff is too big to show here.

.spago/p/st-6.2.0/src/Control/Monad/ST/Internal.jsdeleted−90

This diff is too big to show here.

.spago/p/st-6.2.0/src/Control/Monad/ST/Internal.pursdeleted−136

This diff is too big to show here.

.spago/p/st-6.2.0/src/Control/Monad/ST/Ref.pursdeleted−3

This diff is too big to show here.

.spago/p/st-6.2.0/src/Control/Monad/ST/Uncurried.jsdeleted−229

This diff is too big to show here.

.spago/p/st-6.2.0/src/Control/Monad/ST/Uncurried.pursdeleted−101

This diff is too big to show here.

.spago/p/strings-6.0.1/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/strings-6.0.1/README.mddeleted−17

This diff is too big to show here.

.spago/p/strings-6.0.1/bower.jsondeleted−41

This diff is too big to show here.

.spago/p/strings-6.0.1/package.jsondeleted−18

This diff is too big to show here.

.spago/p/strings-6.0.1/purs.jsondeleted−27

This diff is too big to show here.

.spago/p/strings-6.0.1/src/Data/Char.pursdeleted−16

This diff is too big to show here.

.spago/p/strings-6.0.1/src/Data/Char/Gen.pursdeleted−35

This diff is too big to show here.

.spago/p/strings-6.0.1/src/Data/String.pursdeleted−10

This diff is too big to show here.

.spago/p/strings-6.0.1/src/Data/String/CaseInsensitive.pursdeleted−22

This diff is too big to show here.

.spago/p/strings-6.0.1/src/Data/String/CodePoints.jsdeleted−107

This diff is too big to show here.

.spago/p/strings-6.0.1/src/Data/String/CodePoints.pursdeleted−436

This diff is too big to show here.

.spago/p/strings-6.0.1/src/Data/String/CodeUnits.jsdeleted−116

This diff is too big to show here.

.spago/p/strings-6.0.1/src/Data/String/CodeUnits.pursdeleted−332

This diff is too big to show here.

.spago/p/strings-6.0.1/src/Data/String/Common.jsdeleted−52

This diff is too big to show here.

.spago/p/strings-6.0.1/src/Data/String/Common.pursdeleted−96

This diff is too big to show here.

.spago/p/strings-6.0.1/src/Data/String/Gen.pursdeleted−43

This diff is too big to show here.

.spago/p/strings-6.0.1/src/Data/String/NonEmpty.pursdeleted−9

This diff is too big to show here.

.spago/p/strings-6.0.1/src/Data/String/NonEmpty/CaseInsensitive.pursdeleted−22

This diff is too big to show here.

.spago/p/strings-6.0.1/src/Data/String/NonEmpty/CodePoints.pursdeleted−138

This diff is too big to show here.

.spago/p/strings-6.0.1/src/Data/String/NonEmpty/CodeUnits.pursdeleted−308

This diff is too big to show here.

.spago/p/strings-6.0.1/src/Data/String/NonEmpty/Internal.pursdeleted−232

This diff is too big to show here.

.spago/p/strings-6.0.1/src/Data/String/Pattern.pursdeleted−33

This diff is too big to show here.

.spago/p/strings-6.0.1/src/Data/String/Regex.jsdeleted−103

This diff is too big to show here.

.spago/p/strings-6.0.1/src/Data/String/Regex.pursdeleted−131

This diff is too big to show here.

.spago/p/strings-6.0.1/src/Data/String/Regex/Flags.pursdeleted−129

This diff is too big to show here.

.spago/p/strings-6.0.1/src/Data/String/Regex/Unsafe.pursdeleted−14

This diff is too big to show here.

.spago/p/strings-6.0.1/src/Data/String/Unsafe.jsdeleted−11

This diff is too big to show here.

.spago/p/strings-6.0.1/src/Data/String/Unsafe.pursdeleted−15

This diff is too big to show here.

.spago/p/tailrec-6.1.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/tailrec-6.1.0/README.mddeleted−69

This diff is too big to show here.

.spago/p/tailrec-6.1.0/bower.jsondeleted−35

This diff is too big to show here.

.spago/p/tailrec-6.1.0/package.jsondeleted−13

This diff is too big to show here.

.spago/p/tailrec-6.1.0/purs.jsondeleted−19

This diff is too big to show here.

.spago/p/tailrec-6.1.0/src/Control/Monad/Rec/Class.pursdeleted−191

This diff is too big to show here.

.spago/p/transformers-6.1.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/transformers-6.1.0/README.mddeleted−17

This diff is too big to show here.

.spago/p/transformers-6.1.0/bower.jsondeleted−46

This diff is too big to show here.

.spago/p/transformers-6.1.0/package.jsondeleted−13

This diff is too big to show here.

.spago/p/transformers-6.1.0/purs.jsondeleted−26

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Comonad/Env.pursdeleted−40

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Comonad/Env/Class.pursdeleted−62

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Comonad/Env/Trans.pursdeleted−71

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Comonad/Store.pursdeleted−30

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Comonad/Store/Class.pursdeleted−64

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Comonad/Store/Trans.pursdeleted−38

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Comonad/Traced.pursdeleted−29

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Comonad/Traced/Class.pursdeleted−72

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Comonad/Traced/Trans.pursdeleted−36

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Comonad/Trans/Class.pursdeleted−27

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Monad/Cont.pursdeleted−39

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Monad/Cont/Class.pursdeleted−27

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Monad/Cont/Trans.pursdeleted−81

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Monad/Error/Class.pursdeleted−112

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Monad/Except.pursdeleted−47

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Monad/Except/Trans.pursdeleted−146

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Monad/Identity/Trans.pursdeleted−79

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Monad/List/Trans.pursdeleted−331

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Monad/Maybe/Trans.pursdeleted−131

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Monad/RWS.pursdeleted−54

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Monad/RWS/Trans.pursdeleted−143

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Monad/Reader.pursdeleted−34

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Monad/Reader/Class.pursdeleted−42

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Monad/Reader/Trans.pursdeleted−125

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Monad/State.pursdeleted−45

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Monad/State/Class.pursdeleted−45

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Monad/State/Trans.pursdeleted−147

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Monad/Trans/Class.pursdeleted−23

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Monad/Writer.pursdeleted−40

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Monad/Writer/Class.pursdeleted−51

This diff is too big to show here.

.spago/p/transformers-6.1.0/src/Control/Monad/Writer/Trans.pursdeleted−135

This diff is too big to show here.

.spago/p/tuples-7.0.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/tuples-7.0.0/README.mddeleted−17

This diff is too big to show here.

.spago/p/tuples-7.0.0/bower.jsondeleted−23

This diff is too big to show here.

.spago/p/tuples-7.0.0/package.jsondeleted−12

This diff is too big to show here.

.spago/p/tuples-7.0.0/purs.jsondeleted−14

This diff is too big to show here.

.spago/p/tuples-7.0.0/src/Data/Tuple.pursdeleted−135

This diff is too big to show here.

.spago/p/tuples-7.0.0/src/Data/Tuple/Nested.pursdeleted−294

This diff is too big to show here.

.spago/p/type-equality-4.0.1/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/type-equality-4.0.1/README.mddeleted−17

This diff is too big to show here.

.spago/p/type-equality-4.0.1/bower.jsondeleted−22

This diff is too big to show here.

.spago/p/type-equality-4.0.1/package.jsondeleted−13

This diff is too big to show here.

.spago/p/type-equality-4.0.1/purs.jsondeleted−10

This diff is too big to show here.

.spago/p/type-equality-4.0.1/src/Type/Equality.pursdeleted−35

This diff is too big to show here.

.spago/p/typelevel-prelude-7.0.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/typelevel-prelude-7.0.0/README.mddeleted−17

This diff is too big to show here.

.spago/p/typelevel-prelude-7.0.0/bower.jsondeleted−22

This diff is too big to show here.

.spago/p/typelevel-prelude-7.0.0/package.jsondeleted−12

This diff is too big to show here.

.spago/p/typelevel-prelude-7.0.0/purs.jsondeleted−14

This diff is too big to show here.

.spago/p/typelevel-prelude-7.0.0/src/Type/Data/Boolean.pursdeleted−66

This diff is too big to show here.

.spago/p/typelevel-prelude-7.0.0/src/Type/Data/Ordering.pursdeleted−69

This diff is too big to show here.

.spago/p/typelevel-prelude-7.0.0/src/Type/Data/Symbol.pursdeleted−35

This diff is too big to show here.

.spago/p/typelevel-prelude-7.0.0/src/Type/Function.pursdeleted−23

This diff is too big to show here.

.spago/p/typelevel-prelude-7.0.0/src/Type/Prelude.pursdeleted−17

This diff is too big to show here.

.spago/p/typelevel-prelude-7.0.0/src/Type/Row.pursdeleted−22

This diff is too big to show here.

.spago/p/typelevel-prelude-7.0.0/src/Type/Row/Homogeneous.pursdeleted−23

This diff is too big to show here.

.spago/p/typelevel-prelude-7.0.0/src/Type/RowList.pursdeleted−82

This diff is too big to show here.

.spago/p/uncurried-transformers-1.1.0/LICENSEdeleted−29

This diff is too big to show here.

.spago/p/uncurried-transformers-1.1.0/README.mddeleted−120

This diff is too big to show here.

.spago/p/uncurried-transformers-1.1.0/bower.jsondeleted−28

This diff is too big to show here.

.spago/p/uncurried-transformers-1.1.0/package.jsondeleted−11

This diff is too big to show here.

.spago/p/uncurried-transformers-1.1.0/packages.dhalldeleted−32

This diff is too big to show here.

.spago/p/uncurried-transformers-1.1.0/purs.jsondeleted−22

This diff is too big to show here.

.spago/p/uncurried-transformers-1.1.0/spago.dhalldeleted−18

This diff is too big to show here.

.spago/p/uncurried-transformers-1.1.0/src/Uncurried/RWSE.pursdeleted−51

This diff is too big to show here.

.spago/p/uncurried-transformers-1.1.0/src/Uncurried/RWSET.pursdeleted−337

This diff is too big to show here.

.spago/p/uncurried-transformers-1.1.0/src/Uncurried/Reader.pursdeleted−27

This diff is too big to show here.

.spago/p/uncurried-transformers-1.1.0/src/Uncurried/ReaderT.pursdeleted−144

This diff is too big to show here.

.spago/p/uncurried-transformers-1.1.0/src/Uncurried/State.pursdeleted−36

This diff is too big to show here.

.spago/p/uncurried-transformers-1.1.0/src/Uncurried/StateT.pursdeleted−165

This diff is too big to show here.

.spago/p/uncurried-transformers-1.1.0/src/Uncurried/Writer.pursdeleted−38

This diff is too big to show here.

.spago/p/uncurried-transformers-1.1.0/src/Uncurried/WriterT.pursdeleted−130

This diff is too big to show here.

.spago/p/unfoldable-6.0.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/unfoldable-6.0.0/README.mddeleted−17

This diff is too big to show here.

.spago/p/unfoldable-6.0.0/bower.jsondeleted−30

This diff is too big to show here.

.spago/p/unfoldable-6.0.0/package.jsondeleted−14

This diff is too big to show here.

.spago/p/unfoldable-6.0.0/purs.jsondeleted−16

This diff is too big to show here.

.spago/p/unfoldable-6.0.0/src/Data/Unfoldable.jsdeleted−21

This diff is too big to show here.

.spago/p/unfoldable-6.0.0/src/Data/Unfoldable.pursdeleted−103

This diff is too big to show here.

.spago/p/unfoldable-6.0.0/src/Data/Unfoldable1.jsdeleted−21

This diff is too big to show here.

.spago/p/unfoldable-6.0.0/src/Data/Unfoldable1.pursdeleted−131

This diff is too big to show here.

.spago/p/unsafe-coerce-6.0.0/LICENSEdeleted−26

This diff is too big to show here.

.spago/p/unsafe-coerce-6.0.0/README.mddeleted−19

This diff is too big to show here.

.spago/p/unsafe-coerce-6.0.0/bower.jsondeleted−21

This diff is too big to show here.

.spago/p/unsafe-coerce-6.0.0/package.jsondeleted−14

This diff is too big to show here.

.spago/p/unsafe-coerce-6.0.0/purs.jsondeleted−10

This diff is too big to show here.

.spago/p/unsafe-coerce-6.0.0/src/Unsafe/Coerce.jsdeleted−5

This diff is too big to show here.

.spago/p/unsafe-coerce-6.0.0/src/Unsafe/Coerce.pursdeleted−27

This diff is too big to show here.

.spago/p/variant-8.0.0/LICENSEdeleted−22

This diff is too big to show here.

.spago/p/variant-8.0.0/README.mddeleted−197

This diff is too big to show here.

.spago/p/variant-8.0.0/bower.jsondeleted−39

This diff is too big to show here.

.spago/p/variant-8.0.0/package.jsondeleted−11

This diff is too big to show here.

.spago/p/variant-8.0.0/packages.dhalldeleted−5

This diff is too big to show here.

.spago/p/variant-8.0.0/purs.jsondeleted−20

This diff is too big to show here.

.spago/p/variant-8.0.0/spago.dhalldeleted−32

This diff is too big to show here.

.spago/p/variant-8.0.0/src/Data/Functor/Variant.pursdeleted−536

This diff is too big to show here.

.spago/p/variant-8.0.0/src/Data/Variant.pursdeleted−554

This diff is too big to show here.

.spago/p/variant-8.0.0/src/Data/Variant/Internal.pursdeleted−340

This diff is too big to show here.

.spago/run/package.jsondeleted−1

This diff is too big to show here.

.spago/run/run.jsdeleted−3

This diff is too big to show here.

.spec-resultsdeleted−30

This diff is too big to show here.

bun.lockdeleted−14

This diff is too big to show here.

node_modules/capnweb/LICENSE.txtdeleted−21

This diff is too big to show here.

node_modules/capnweb/README.mddeleted−734

This diff is too big to show here.

node_modules/capnweb/dist/index-workers.cjsdeleted−2661

This diff is too big to show here.

node_modules/capnweb/dist/index-workers.cjs.mapdeleted−1

This diff is too big to show here.

node_modules/capnweb/dist/index-workers.d.ctsdeleted−2

This diff is too big to show here.

node_modules/capnweb/dist/index-workers.d.tsdeleted−2

This diff is too big to show here.

node_modules/capnweb/dist/index-workers.jsdeleted−2627

This diff is too big to show here.

node_modules/capnweb/dist/index-workers.js.mapdeleted−1

This diff is too big to show here.

node_modules/capnweb/dist/index.cjsdeleted−2638

This diff is too big to show here.

node_modules/capnweb/dist/index.cjs.mapdeleted−1

This diff is too big to show here.

node_modules/capnweb/dist/index.d.ctsdeleted−372

This diff is too big to show here.

node_modules/capnweb/dist/index.d.tsdeleted−372

This diff is too big to show here.

node_modules/capnweb/dist/index.jsdeleted−2624

This diff is too big to show here.

node_modules/capnweb/dist/index.js.mapdeleted−1

This diff is too big to show here.

node_modules/capnweb/package.jsondeleted−59

This diff is too big to show here.

output/Ansi.Codes/corefn.jsondeleted−1

This diff is too big to show here.

output/Ansi.Codes/docs.jsondeleted−1

This diff is too big to show here.

output/Ansi.Codes/externs.cbordeleted

Binary file not shown.

output/Ansi.Codes/index.jsdeleted−1785

This diff is too big to show here.

output/Ansi.Codes/index.js.mapdeleted−1

This diff is too big to show here.

output/Ansi.Output/corefn.jsondeleted−1

This diff is too big to show here.

output/Ansi.Output/docs.jsondeleted−1

This diff is too big to show here.

output/Ansi.Output/externs.cbordeleted

Binary file not shown.

output/Ansi.Output/index.jsdeleted−46

This diff is too big to show here.

output/Ansi.Output/index.js.mapdeleted−1

This diff is too big to show here.

output/Benchmark.HighRes/corefn.jsondeleted−1

This diff is too big to show here.

output/Benchmark.HighRes/docs.jsondeleted−1

This diff is too big to show here.

output/Benchmark.HighRes/externs.cbordeleted

Binary file not shown.

output/Benchmark.HighRes/foreign.jsdeleted−9

This diff is too big to show here.

output/Benchmark.HighRes/index.jsdeleted−7

This diff is too big to show here.

output/Benchmark.HighRes/index.js.mapdeleted−1

This diff is too big to show here.

output/Benchmark.MinibenchMain/corefn.jsondeleted−1

This diff is too big to show here.

output/Benchmark.MinibenchMain/docs.jsondeleted−1

This diff is too big to show here.

output/Benchmark.MinibenchMain/externs.cbordeleted

Binary file not shown.

output/Benchmark.MinibenchMain/index.jsdeleted−270

This diff is too big to show here.

output/Benchmark.MinibenchMain/index.js.mapdeleted−1

This diff is too big to show here.

output/Benchmark/corefn.jsondeleted−1

This diff is too big to show here.

output/Benchmark/docs.jsondeleted−1

This diff is too big to show here.

output/Benchmark/externs.cbordeleted

Binary file not shown.

output/Benchmark/index.jsdeleted−261

This diff is too big to show here.

output/Benchmark/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Alt/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Alt/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Alt/externs.cbordeleted

Binary file not shown.

output/Control.Alt/index.jsdeleted−21

This diff is too big to show here.

output/Control.Alt/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Alternative/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Alternative/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Alternative/externs.cbordeleted

Binary file not shown.

output/Control.Alternative/index.jsdeleted−52

This diff is too big to show here.

output/Control.Alternative/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Applicative/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Applicative/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Applicative/externs.cbordeleted

Binary file not shown.

output/Control.Applicative/index.jsdeleted−88

This diff is too big to show here.

output/Control.Applicative/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Apply/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Apply/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Apply/externs.cbordeleted

Binary file not shown.

output/Control.Apply/foreign.jsdeleted−15

This diff is too big to show here.

output/Control.Apply/index.jsdeleted−129

This diff is too big to show here.

output/Control.Apply/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Biapplicative/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Biapplicative/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Biapplicative/externs.cbordeleted

Binary file not shown.

output/Control.Biapplicative/index.jsdeleted−19

This diff is too big to show here.

output/Control.Biapplicative/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Biapply/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Biapply/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Biapply/externs.cbordeleted

Binary file not shown.

output/Control.Biapply/index.jsdeleted−74

This diff is too big to show here.

output/Control.Biapply/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Bind/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Bind/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Bind/externs.cbordeleted

Binary file not shown.

output/Control.Bind/foreign.jsdeleted−21

This diff is too big to show here.

output/Control.Bind/index.jsdeleted−125

This diff is too big to show here.

output/Control.Bind/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Category/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Category/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Category/externs.cbordeleted

Binary file not shown.

output/Control.Category/index.jsdeleted−21

This diff is too big to show here.

output/Control.Category/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Comonad.Cofree.Class/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad.Cofree.Class/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad.Cofree.Class/externs.cbordeleted

Binary file not shown.

output/Control.Comonad.Cofree.Class/index.jsdeleted−94

This diff is too big to show here.

output/Control.Comonad.Cofree.Class/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Comonad.Cofree/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad.Cofree/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad.Cofree/externs.cbordeleted

Binary file not shown.

output/Control.Comonad.Cofree/index.jsdeleted−486

This diff is too big to show here.

output/Control.Comonad.Cofree/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Comonad.Env.Class/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad.Env.Class/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad.Env.Class/externs.cbordeleted

Binary file not shown.

output/Control.Comonad.Env.Class/index.jsdeleted−141

This diff is too big to show here.

output/Control.Comonad.Env.Class/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Comonad.Env.Trans/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad.Env.Trans/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad.Env.Trans/externs.cbordeleted

Binary file not shown.

output/Control.Comonad.Env.Trans/index.jsdeleted−231

This diff is too big to show here.

output/Control.Comonad.Env.Trans/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Comonad.Env/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad.Env/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad.Env/externs.cbordeleted

Binary file not shown.

output/Control.Comonad.Env/index.jsdeleted−37

This diff is too big to show here.

output/Control.Comonad.Env/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Comonad.Store.Class/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad.Store.Class/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad.Store.Class/externs.cbordeleted

Binary file not shown.

output/Control.Comonad.Store.Class/index.jsdeleted−133

This diff is too big to show here.

output/Control.Comonad.Store.Class/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Comonad.Store.Trans/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad.Store.Trans/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad.Store.Trans/externs.cbordeleted

Binary file not shown.

output/Control.Comonad.Store.Trans/index.jsdeleted−80

This diff is too big to show here.

output/Control.Comonad.Store.Trans/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Comonad.Store/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad.Store/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad.Store/externs.cbordeleted

Binary file not shown.

output/Control.Comonad.Store/index.jsdeleted−33

This diff is too big to show here.

output/Control.Comonad.Store/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Comonad.Traced.Class/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad.Traced.Class/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad.Traced.Class/externs.cbordeleted

Binary file not shown.

output/Control.Comonad.Traced.Class/index.jsdeleted−127

This diff is too big to show here.

output/Control.Comonad.Traced.Class/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Comonad.Traced.Trans/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad.Traced.Trans/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad.Traced.Trans/externs.cbordeleted

Binary file not shown.

output/Control.Comonad.Traced.Trans/index.jsdeleted−97

This diff is too big to show here.

output/Control.Comonad.Traced.Trans/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Comonad.Traced/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad.Traced/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad.Traced/externs.cbordeleted

Binary file not shown.

output/Control.Comonad.Traced/index.jsdeleted−28

This diff is too big to show here.

output/Control.Comonad.Traced/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Comonad.Trans.Class/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad.Trans.Class/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad.Trans.Class/externs.cbordeleted

Binary file not shown.

output/Control.Comonad.Trans.Class/index.jsdeleted−15

This diff is too big to show here.

output/Control.Comonad.Trans.Class/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Comonad/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Comonad/externs.cbordeleted

Binary file not shown.

output/Control.Comonad/index.jsdeleted−18

This diff is too big to show here.

output/Control.Comonad/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Extend/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Extend/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Extend/externs.cbordeleted

Binary file not shown.

output/Control.Extend/foreign.jsdeleted−7

This diff is too big to show here.

output/Control.Extend/index.jsdeleted−77

This diff is too big to show here.

output/Control.Extend/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Lazy/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Lazy/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Lazy/externs.cbordeleted

Binary file not shown.

output/Control.Lazy/index.jsdeleted−48

This diff is too big to show here.

output/Control.Lazy/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Monad.Cont.Class/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Cont.Class/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Cont.Class/externs.cbordeleted

Binary file not shown.

output/Control.Monad.Cont.Class/index.jsdeleted−8

This diff is too big to show here.

output/Control.Monad.Cont.Class/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Monad.Cont.Trans/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Cont.Trans/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Cont.Trans/externs.cbordeleted

Binary file not shown.

output/Control.Monad.Cont.Trans/index.jsdeleted−277

This diff is too big to show here.

output/Control.Monad.Cont.Trans/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Monad.Cont/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Cont/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Cont/externs.cbordeleted

Binary file not shown.

output/Control.Monad.Cont/index.jsdeleted−53

This diff is too big to show here.

output/Control.Monad.Cont/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Monad.Error.Class/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Error.Class/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Error.Class/externs.cbordeleted

Binary file not shown.

output/Control.Monad.Error.Class/index.jsdeleted−158

This diff is too big to show here.

output/Control.Monad.Error.Class/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Monad.Except.Trans/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Except.Trans/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Except.Trans/externs.cbordeleted

Binary file not shown.

output/Control.Monad.Except.Trans/index.jsdeleted−483

This diff is too big to show here.

output/Control.Monad.Except.Trans/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Monad.Except/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Except/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Except/externs.cbordeleted

Binary file not shown.

output/Control.Monad.Except/index.jsdeleted−34

This diff is too big to show here.

output/Control.Monad.Except/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Monad.Fork.Class/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Fork.Class/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Fork.Class/externs.cbordeleted

Binary file not shown.

output/Control.Monad.Fork.Class/index.jsdeleted−208

This diff is too big to show here.

output/Control.Monad.Fork.Class/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Monad.Free.Class/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Free.Class/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Free.Class/externs.cbordeleted

Binary file not shown.

output/Control.Monad.Free.Class/index.jsdeleted−119

This diff is too big to show here.

output/Control.Monad.Free.Class/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Monad.Free/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Free/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Free/externs.cbordeleted

Binary file not shown.

output/Control.Monad.Free/index.jsdeleted−541

This diff is too big to show here.

output/Control.Monad.Free/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Monad.Gen.Class/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Gen.Class/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Gen.Class/externs.cbordeleted

Binary file not shown.

output/Control.Monad.Gen.Class/index.jsdeleted−24

This diff is too big to show here.

output/Control.Monad.Gen.Class/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Monad.Gen.Common/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Gen.Common/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Gen.Common/externs.cbordeleted

Binary file not shown.

output/Control.Monad.Gen.Common/index.jsdeleted−97

This diff is too big to show here.

output/Control.Monad.Gen.Common/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Monad.Gen/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Gen/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Gen/externs.cbordeleted

Binary file not shown.

output/Control.Monad.Gen/index.jsdeleted−261

This diff is too big to show here.

output/Control.Monad.Gen/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Monad.Identity.Trans/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Identity.Trans/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Identity.Trans/externs.cbordeleted

Binary file not shown.

output/Control.Monad.Identity.Trans/index.jsdeleted−209

This diff is too big to show here.

output/Control.Monad.Identity.Trans/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Monad.List.Trans/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.List.Trans/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.List.Trans/externs.cbordeleted

Binary file not shown.

output/Control.Monad.List.Trans/index.jsdeleted−823

This diff is too big to show here.

output/Control.Monad.List.Trans/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Monad.Maybe.Trans/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Maybe.Trans/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Maybe.Trans/externs.cbordeleted

Binary file not shown.

output/Control.Monad.Maybe.Trans/index.jsdeleted−428

This diff is too big to show here.

output/Control.Monad.Maybe.Trans/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Monad.Morph/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Morph/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Morph/externs.cbordeleted

Binary file not shown.

output/Control.Monad.Morph/index.jsdeleted−364

This diff is too big to show here.

output/Control.Monad.Morph/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Monad.RWS.Trans/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.RWS.Trans/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.RWS.Trans/externs.cbordeleted

Binary file not shown.

output/Control.Monad.RWS.Trans/index.jsdeleted−570

This diff is too big to show here.

output/Control.Monad.RWS.Trans/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Monad.RWS/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.RWS/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.RWS/externs.cbordeleted

Binary file not shown.

output/Control.Monad.RWS/index.jsdeleted−86

This diff is too big to show here.

output/Control.Monad.RWS/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Monad.Reader.Class/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Reader.Class/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Reader.Class/externs.cbordeleted

Binary file not shown.

output/Control.Monad.Reader.Class/index.jsdeleted−38

This diff is too big to show here.

output/Control.Monad.Reader.Class/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Monad.Reader.Trans/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Reader.Trans/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Reader.Trans/externs.cbordeleted

Binary file not shown.

output/Control.Monad.Reader.Trans/index.jsdeleted−442

This diff is too big to show here.

output/Control.Monad.Reader.Trans/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Monad.Reader/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Reader/docs.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Reader/externs.cbordeleted

Binary file not shown.

output/Control.Monad.Reader/index.jsdeleted−35

This diff is too big to show here.

output/Control.Monad.Reader/index.js.mapdeleted−1

This diff is too big to show here.

output/Control.Monad.Rec.Class/corefn.jsondeleted−1

This diff is too big to show here.

output/Control.Monad.Rec.Class/docs.json−1

This diff is too big to show here.

output/Control.Monad.Rec.Class/externs.cbor

This diff is too big to show here.

output/Control.Monad.Rec.Class/index.js−346

This diff is too big to show here.

output/Control.Monad.Rec.Class/index.js.map−1

This diff is too big to show here.

output/Control.Monad.ST.Class/corefn.json−1

This diff is too big to show here.

output/Control.Monad.ST.Class/docs.json−1

This diff is too big to show here.

output/Control.Monad.ST.Class/externs.cbor

This diff is too big to show here.

output/Control.Monad.ST.Class/index.js−26

This diff is too big to show here.

output/Control.Monad.ST.Class/index.js.map−1

This diff is too big to show here.

output/Control.Monad.ST.Global/corefn.json−1

This diff is too big to show here.

output/Control.Monad.ST.Global/docs.json−1

This diff is too big to show here.

output/Control.Monad.ST.Global/externs.cbor

This diff is too big to show here.

output/Control.Monad.ST.Global/index.js−7

This diff is too big to show here.

output/Control.Monad.ST.Global/index.js.map−1

This diff is too big to show here.

output/Control.Monad.ST.Internal/corefn.json−1

This diff is too big to show here.

output/Control.Monad.ST.Internal/docs.json−1

This diff is too big to show here.

output/Control.Monad.ST.Internal/externs.cbor

This diff is too big to show here.

output/Control.Monad.ST.Internal/foreign.js−90

This diff is too big to show here.

output/Control.Monad.ST.Internal/index.js−144

This diff is too big to show here.

output/Control.Monad.ST.Internal/index.js.map−1

This diff is too big to show here.

output/Control.Monad.ST.Ref/corefn.json−1

This diff is too big to show here.

output/Control.Monad.ST.Ref/docs.json−1

This diff is too big to show here.

output/Control.Monad.ST.Ref/externs.cbor

This diff is too big to show here.

output/Control.Monad.ST.Ref/index.js−11

This diff is too big to show here.

output/Control.Monad.ST.Ref/index.js.map−1

This diff is too big to show here.

output/Control.Monad.ST.Uncurried/corefn.json−1

This diff is too big to show here.

output/Control.Monad.ST.Uncurried/docs.json−1

This diff is too big to show here.

output/Control.Monad.ST.Uncurried/externs.cbor

This diff is too big to show here.

output/Control.Monad.ST.Uncurried/foreign.js−229

This diff is too big to show here.

output/Control.Monad.ST.Uncurried/index.js−26

This diff is too big to show here.

output/Control.Monad.ST.Uncurried/index.js.map−1

This diff is too big to show here.

output/Control.Monad.ST/corefn.json−1

This diff is too big to show here.

output/Control.Monad.ST/docs.json−1

This diff is too big to show here.

output/Control.Monad.ST/externs.cbor

This diff is too big to show here.

output/Control.Monad.ST/index.js−10

This diff is too big to show here.

output/Control.Monad.ST/index.js.map−1

This diff is too big to show here.

output/Control.Monad.State.Class/corefn.json−1

This diff is too big to show here.

output/Control.Monad.State.Class/docs.json−1

This diff is too big to show here.

output/Control.Monad.State.Class/externs.cbor

This diff is too big to show here.

output/Control.Monad.State.Class/index.js−53

This diff is too big to show here.

output/Control.Monad.State.Class/index.js.map−1

This diff is too big to show here.

output/Control.Monad.State.Trans/corefn.json−1

This diff is too big to show here.

output/Control.Monad.State.Trans/docs.json−1

This diff is too big to show here.

output/Control.Monad.State.Trans/externs.cbor

This diff is too big to show here.

output/Control.Monad.State.Trans/index.js−484

This diff is too big to show here.

output/Control.Monad.State.Trans/index.js.map−1

This diff is too big to show here.

output/Control.Monad.State/corefn.json−1

This diff is too big to show here.

output/Control.Monad.State/docs.json−1

This diff is too big to show here.

output/Control.Monad.State/externs.cbor

This diff is too big to show here.

output/Control.Monad.State/index.js−54

This diff is too big to show here.

output/Control.Monad.State/index.js.map−1

This diff is too big to show here.

output/Control.Monad.Trampoline/corefn.json−1

This diff is too big to show here.

output/Control.Monad.Trampoline/docs.json−1

This diff is too big to show here.

output/Control.Monad.Trampoline/externs.cbor

This diff is too big to show here.

output/Control.Monad.Trampoline/index.js−16

This diff is too big to show here.

output/Control.Monad.Trampoline/index.js.map−1

This diff is too big to show here.

output/Control.Monad.Trans.Class/corefn.json−1

This diff is too big to show here.

output/Control.Monad.Trans.Class/docs.json−1

This diff is too big to show here.

output/Control.Monad.Trans.Class/externs.cbor

This diff is too big to show here.

output/Control.Monad.Trans.Class/index.js−8

This diff is too big to show here.

output/Control.Monad.Trans.Class/index.js.map−1

This diff is too big to show here.

output/Control.Monad.Writer.Class/corefn.json−1

This diff is too big to show here.

output/Control.Monad.Writer.Class/docs.json−1

This diff is too big to show here.

output/Control.Monad.Writer.Class/externs.cbor

This diff is too big to show here.

output/Control.Monad.Writer.Class/index.js−47

This diff is too big to show here.

output/Control.Monad.Writer.Class/index.js.map−1

This diff is too big to show here.

output/Control.Monad.Writer.Trans/corefn.json−1

This diff is too big to show here.

output/Control.Monad.Writer.Trans/docs.json−1

This diff is too big to show here.

output/Control.Monad.Writer.Trans/externs.cbor

This diff is too big to show here.

output/Control.Monad.Writer.Trans/index.js−498

This diff is too big to show here.

output/Control.Monad.Writer.Trans/index.js.map−1

This diff is too big to show here.

output/Control.Monad.Writer/corefn.json−1

This diff is too big to show here.

output/Control.Monad.Writer/docs.json−1

This diff is too big to show here.

output/Control.Monad.Writer/externs.cbor

This diff is too big to show here.

output/Control.Monad.Writer/index.js−46

This diff is too big to show here.

output/Control.Monad.Writer/index.js.map−1

This diff is too big to show here.

output/Control.Monad/corefn.json−1

This diff is too big to show here.

output/Control.Monad/docs.json−1

This diff is too big to show here.

output/Control.Monad/externs.cbor

This diff is too big to show here.

output/Control.Monad/index.js−103

This diff is too big to show here.

output/Control.Monad/index.js.map−1

This diff is too big to show here.

output/Control.MonadPlus/corefn.json−1

This diff is too big to show here.

output/Control.MonadPlus/docs.json−1

This diff is too big to show here.

output/Control.MonadPlus/externs.cbor

This diff is too big to show here.

output/Control.MonadPlus/index.js−52

This diff is too big to show here.

output/Control.MonadPlus/index.js.map−1

This diff is too big to show here.

output/Control.Parallel.Class/corefn.json−1

This diff is too big to show here.

output/Control.Parallel.Class/docs.json−1

This diff is too big to show here.

output/Control.Parallel.Class/externs.cbor

This diff is too big to show here.

output/Control.Parallel.Class/index.js−327

This diff is too big to show here.

output/Control.Parallel.Class/index.js.map−1

This diff is too big to show here.

output/Control.Parallel/corefn.json−1

This diff is too big to show here.

output/Control.Parallel/docs.json−1

This diff is too big to show here.

output/Control.Parallel/externs.cbor

This diff is too big to show here.

output/Control.Parallel/index.js−121

This diff is too big to show here.

output/Control.Parallel/index.js.map−1

This diff is too big to show here.

output/Control.Plus/corefn.json−1

This diff is too big to show here.

output/Control.Plus/docs.json−1

This diff is too big to show here.

output/Control.Plus/externs.cbor

This diff is too big to show here.

output/Control.Plus/index.js−24

This diff is too big to show here.

output/Control.Plus/index.js.map−1

This diff is too big to show here.

output/Control.Promise/corefn.json−1

This diff is too big to show here.

output/Control.Promise/docs.json−1

This diff is too big to show here.

output/Control.Promise/externs.cbor

This diff is too big to show here.

output/Control.Promise/foreign.js−24

This diff is too big to show here.

output/Control.Promise/index.js−60

This diff is too big to show here.

output/Control.Promise/index.js.map−1

This diff is too big to show here.

output/Control.Semigroupoid/corefn.json−1

This diff is too big to show here.

output/Control.Semigroupoid/docs.json−1

This diff is too big to show here.

output/Control.Semigroupoid/externs.cbor

This diff is too big to show here.

output/Control.Semigroupoid/index.js−27

This diff is too big to show here.

output/Control.Semigroupoid/index.js.map−1

This diff is too big to show here.

output/Data.Argonaut.Core/corefn.json−1

This diff is too big to show here.

output/Data.Argonaut.Core/docs.json−1

This diff is too big to show here.

output/Data.Argonaut.Core/externs.cbor

This diff is too big to show here.

output/Data.Argonaut.Core/foreign.js−102

This diff is too big to show here.

output/Data.Argonaut.Core/index.js−179

This diff is too big to show here.

output/Data.Argonaut.Core/index.js.map−1

This diff is too big to show here.

output/Data.Argonaut.Decode.Class/corefn.json−1

This diff is too big to show here.

output/Data.Argonaut.Decode.Class/docs.json−1

This diff is too big to show here.

output/Data.Argonaut.Decode.Class/externs.cbor

This diff is too big to show here.

output/Data.Argonaut.Decode.Class/index.js−247

This diff is too big to show here.

output/Data.Argonaut.Decode.Class/index.js.map−1

This diff is too big to show here.

output/Data.Argonaut.Decode.Combinators/corefn.json−1

This diff is too big to show here.

output/Data.Argonaut.Decode.Combinators/docs.json−1

This diff is too big to show here.

output/Data.Argonaut.Decode.Combinators/externs.cbor

This diff is too big to show here.

output/Data.Argonaut.Decode.Combinators/index.js−28

This diff is too big to show here.

output/Data.Argonaut.Decode.Combinators/index.js.map−1

This diff is too big to show here.

output/Data.Argonaut.Decode.Decoders/corefn.json−1

This diff is too big to show here.

output/Data.Argonaut.Decode.Decoders/docs.json−1

This diff is too big to show here.

output/Data.Argonaut.Decode.Decoders/externs.cbor

This diff is too big to show here.

output/Data.Argonaut.Decode.Decoders/index.js−331

This diff is too big to show here.

output/Data.Argonaut.Decode.Decoders/index.js.map−1

This diff is too big to show here.

output/Data.Argonaut.Decode.Error/corefn.json−1

This diff is too big to show here.

output/Data.Argonaut.Decode.Error/docs.json−1

This diff is too big to show here.

output/Data.Argonaut.Decode.Error/externs.cbor

This diff is too big to show here.

output/Data.Argonaut.Decode.Error/index.js−283

This diff is too big to show here.

output/Data.Argonaut.Decode.Error/index.js.map−1

This diff is too big to show here.

output/Data.Argonaut.Decode.Parser/corefn.json−1

This diff is too big to show here.

output/Data.Argonaut.Decode.Parser/docs.json−1

This diff is too big to show here.

output/Data.Argonaut.Decode.Parser/externs.cbor

This diff is too big to show here.

output/Data.Argonaut.Decode.Parser/index.js−16

This diff is too big to show here.

output/Data.Argonaut.Decode.Parser/index.js.map−1

This diff is too big to show here.

output/Data.Argonaut.Decode/corefn.json−1

This diff is too big to show here.

output/Data.Argonaut.Decode/docs.json−1

This diff is too big to show here.

output/Data.Argonaut.Decode/externs.cbor

This diff is too big to show here.

output/Data.Argonaut.Decode/index.js−36

This diff is too big to show here.

output/Data.Argonaut.Decode/index.js.map−1

This diff is too big to show here.

output/Data.Argonaut.Encode.Class/corefn.json−1

This diff is too big to show here.

output/Data.Argonaut.Encode.Class/docs.json−1

This diff is too big to show here.

output/Data.Argonaut.Encode.Class/externs.cbor

This diff is too big to show here.

output/Data.Argonaut.Encode.Class/index.js−191

This diff is too big to show here.

output/Data.Argonaut.Encode.Class/index.js.map−1

This diff is too big to show here.

output/Data.Argonaut.Encode.Combinators/corefn.json−1

This diff is too big to show here.

output/Data.Argonaut.Encode.Combinators/docs.json−1

This diff is too big to show here.

output/Data.Argonaut.Encode.Combinators/externs.cbor

This diff is too big to show here.

output/Data.Argonaut.Encode.Combinators/index.js−22

This diff is too big to show here.

output/Data.Argonaut.Encode.Combinators/index.js.map−1

This diff is too big to show here.

output/Data.Argonaut.Encode.Encoders/corefn.json−1

This diff is too big to show here.

output/Data.Argonaut.Encode.Encoders/docs.json−1

This diff is too big to show here.

output/Data.Argonaut.Encode.Encoders/externs.cbor

This diff is too big to show here.

output/Data.Argonaut.Encode.Encoders/index.js−209

This diff is too big to show here.

output/Data.Argonaut.Encode.Encoders/index.js.map−1

This diff is too big to show here.

output/Data.Argonaut.Encode/corefn.json−1

This diff is too big to show here.

output/Data.Argonaut.Encode/docs.json−1

This diff is too big to show here.

output/Data.Argonaut.Encode/externs.cbor

This diff is too big to show here.

output/Data.Argonaut.Encode/index.js−23

This diff is too big to show here.

output/Data.Argonaut.Encode/index.js.map−1

This diff is too big to show here.

output/Data.Argonaut.Gen/corefn.json−1

This diff is too big to show here.

output/Data.Argonaut.Gen/docs.json−1

This diff is too big to show here.

output/Data.Argonaut.Gen/externs.cbor

This diff is too big to show here.

output/Data.Argonaut.Gen/index.js−75

This diff is too big to show here.

output/Data.Argonaut.Gen/index.js.map−1

This diff is too big to show here.

output/Data.Argonaut.Parser/corefn.json−1

This diff is too big to show here.

output/Data.Argonaut.Parser/docs.json−1

This diff is too big to show here.

output/Data.Argonaut.Parser/externs.cbor

This diff is too big to show here.

output/Data.Argonaut.Parser/foreign.js−8

This diff is too big to show here.

output/Data.Argonaut.Parser/index.js−10

This diff is too big to show here.

output/Data.Argonaut.Parser/index.js.map−1

This diff is too big to show here.

output/Data.Array.NonEmpty.Internal/corefn.json−1

This diff is too big to show here.

output/Data.Array.NonEmpty.Internal/docs.json−1

This diff is too big to show here.

output/Data.Array.NonEmpty.Internal/externs.cbor

This diff is too big to show here.

output/Data.Array.NonEmpty.Internal/foreign.js−77

This diff is too big to show here.

output/Data.Array.NonEmpty.Internal/index.js−105

This diff is too big to show here.

output/Data.Array.NonEmpty.Internal/index.js.map−1

This diff is too big to show here.

output/Data.Array.NonEmpty/corefn.json−1

This diff is too big to show here.

output/Data.Array.NonEmpty/docs.json−1

This diff is too big to show here.

output/Data.Array.NonEmpty/externs.cbor

This diff is too big to show here.

output/Data.Array.NonEmpty/index.js−597

This diff is too big to show here.

output/Data.Array.NonEmpty/index.js.map−1

This diff is too big to show here.

output/Data.Array.Partial/corefn.json−1

This diff is too big to show here.

output/Data.Array.Partial/docs.json−1

This diff is too big to show here.

output/Data.Array.Partial/externs.cbor

This diff is too big to show here.

output/Data.Array.Partial/index.js−30

This diff is too big to show here.

output/Data.Array.Partial/index.js.map−1

This diff is too big to show here.

output/Data.Array.ST.Iterator/corefn.json−1

This diff is too big to show here.

output/Data.Array.ST.Iterator/docs.json−1

This diff is too big to show here.

output/Data.Array.ST.Iterator/externs.cbor

This diff is too big to show here.

output/Data.Array.ST.Iterator/index.js−97

This diff is too big to show here.

output/Data.Array.ST.Iterator/index.js.map−1

This diff is too big to show here.

output/Data.Array.ST.Partial/corefn.json−1

This diff is too big to show here.

output/Data.Array.ST.Partial/docs.json−1

This diff is too big to show here.

output/Data.Array.ST.Partial/externs.cbor

This diff is too big to show here.

output/Data.Array.ST.Partial/foreign.js−7

This diff is too big to show here.

output/Data.Array.ST.Partial/index.js−14

This diff is too big to show here.

output/Data.Array.ST.Partial/index.js.map−1

This diff is too big to show here.

output/Data.Array.ST/corefn.json−1

This diff is too big to show here.

output/Data.Array.ST/docs.json−1

This diff is too big to show here.

output/Data.Array.ST/externs.cbor

This diff is too big to show here.

output/Data.Array.ST/foreign.js−113

This diff is too big to show here.

output/Data.Array.ST/index.js−112

This diff is too big to show here.

output/Data.Array.ST/index.js.map−1

This diff is too big to show here.

output/Data.Array/corefn.json−1

This diff is too big to show here.

output/Data.Array/docs.json−1

This diff is too big to show here.

output/Data.Array/externs.cbor

This diff is too big to show here.

output/Data.Array/foreign.js−298

This diff is too big to show here.

output/Data.Array/index.js−822

This diff is too big to show here.

output/Data.Array/index.js.map−1

This diff is too big to show here.

output/Data.ArrayBuffer.Types/corefn.json−1

This diff is too big to show here.

output/Data.ArrayBuffer.Types/docs.json−1

This diff is too big to show here.

output/Data.ArrayBuffer.Types/externs.cbor

This diff is too big to show here.

output/Data.ArrayBuffer.Types/index.js−3

This diff is too big to show here.

output/Data.ArrayBuffer.Types/index.js.map−1

This diff is too big to show here.

output/Data.Bifoldable/corefn.json−1

This diff is too big to show here.

output/Data.Bifoldable/docs.json−1

This diff is too big to show here.

output/Data.Bifoldable/externs.cbor

This diff is too big to show here.

output/Data.Bifoldable/index.js−451

This diff is too big to show here.

output/Data.Bifoldable/index.js.map−1

This diff is too big to show here.

output/Data.Bifunctor.Join/corefn.json−1

This diff is too big to show here.

output/Data.Bifunctor.Join/docs.json−1

This diff is too big to show here.

output/Data.Bifunctor.Join/externs.cbor

This diff is too big to show here.

output/Data.Bifunctor.Join/index.js−74

This diff is too big to show here.

output/Data.Bifunctor.Join/index.js.map−1

This diff is too big to show here.

output/Data.Bifunctor/corefn.json−1

This diff is too big to show here.

output/Data.Bifunctor/docs.json−1

This diff is too big to show here.

output/Data.Bifunctor/externs.cbor

This diff is too big to show here.

output/Data.Bifunctor/index.js−65

This diff is too big to show here.

output/Data.Bifunctor/index.js.map−1

This diff is too big to show here.

output/Data.Bitraversable/corefn.json−1

This diff is too big to show here.

output/Data.Bitraversable/docs.json−1

This diff is too big to show here.

output/Data.Bitraversable/externs.cbor

This diff is too big to show here.

output/Data.Bitraversable/index.js−357

This diff is too big to show here.

output/Data.Bitraversable/index.js.map−1

This diff is too big to show here.

output/Data.Boolean/corefn.json−1

This diff is too big to show here.

output/Data.Boolean/docs.json−1

This diff is too big to show here.

output/Data.Boolean/externs.cbor

This diff is too big to show here.

output/Data.Boolean/index.js−6

This diff is too big to show here.

output/Data.Boolean/index.js.map−1

This diff is too big to show here.

output/Data.BooleanAlgebra/corefn.json−1

This diff is too big to show here.

output/Data.BooleanAlgebra/docs.json−1

This diff is too big to show here.

output/Data.BooleanAlgebra/externs.cbor

This diff is too big to show here.

output/Data.BooleanAlgebra/index.js−75

This diff is too big to show here.

output/Data.BooleanAlgebra/index.js.map−1

This diff is too big to show here.

output/Data.Bounded.Generic/corefn.json−1

This diff is too big to show here.

output/Data.Bounded.Generic/docs.json−1

This diff is too big to show here.

output/Data.Bounded.Generic/externs.cbor

This diff is too big to show here.

output/Data.Bounded.Generic/index.js−94

This diff is too big to show here.

output/Data.Bounded.Generic/index.js.map−1

This diff is too big to show here.

output/Data.Bounded/corefn.json−1

This diff is too big to show here.

output/Data.Bounded/docs.json−1

This diff is too big to show here.

output/Data.Bounded/externs.cbor

This diff is too big to show here.

output/Data.Bounded/foreign.js−8

This diff is too big to show here.

output/Data.Bounded/index.js−162

This diff is too big to show here.

output/Data.Bounded/index.js.map−1

This diff is too big to show here.

output/Data.CatList/corefn.json−1

This diff is too big to show here.

output/Data.CatList/docs.json−1

This diff is too big to show here.

output/Data.CatList/externs.cbor

This diff is too big to show here.

output/Data.CatList/index.js−480

This diff is too big to show here.

output/Data.CatList/index.js.map−1

This diff is too big to show here.

output/Data.CatQueue/corefn.json−1

This diff is too big to show here.

output/Data.CatQueue/docs.json−1

This diff is too big to show here.

output/Data.CatQueue/externs.cbor

This diff is too big to show here.

output/Data.CatQueue/index.js−445

This diff is too big to show here.

output/Data.CatQueue/index.js.map−1

This diff is too big to show here.

output/Data.Char.Gen/corefn.json−1

This diff is too big to show here.

output/Data.Char.Gen/docs.json−1

This diff is too big to show here.

output/Data.Char.Gen/externs.cbor

This diff is too big to show here.

output/Data.Char.Gen/index.js−43

This diff is too big to show here.

output/Data.Char.Gen/index.js.map−1

This diff is too big to show here.

output/Data.Char/corefn.json−1

This diff is too big to show here.

output/Data.Char/docs.json−1

This diff is too big to show here.

output/Data.Char/externs.cbor

This diff is too big to show here.

output/Data.Char/index.js−9

This diff is too big to show here.

output/Data.Char/index.js.map−1

This diff is too big to show here.

output/Data.CommutativeRing/corefn.json−1

This diff is too big to show here.

output/Data.CommutativeRing/docs.json−1

This diff is too big to show here.

output/Data.CommutativeRing/externs.cbor

This diff is too big to show here.

output/Data.CommutativeRing/index.js−80

This diff is too big to show here.

output/Data.CommutativeRing/index.js.map−1

This diff is too big to show here.

output/Data.Comparison/corefn.json−1

This diff is too big to show here.

output/Data.Comparison/docs.json−1

This diff is too big to show here.

output/Data.Comparison/externs.cbor

This diff is too big to show here.

output/Data.Comparison/index.js−50

This diff is too big to show here.

output/Data.Comparison/index.js.map−1

This diff is too big to show here.

output/Data.Const/corefn.json−1

This diff is too big to show here.

output/Data.Const/docs.json−1

This diff is too big to show here.

output/Data.Const/externs.cbor

This diff is too big to show here.

output/Data.Const/index.js−142

This diff is too big to show here.

output/Data.Const/index.js.map−1

This diff is too big to show here.

output/Data.Coyoneda/corefn.json−1

This diff is too big to show here.

output/Data.Coyoneda/docs.json−1

This diff is too big to show here.

output/Data.Coyoneda/externs.cbor

This diff is too big to show here.

output/Data.Coyoneda/index.js−478

This diff is too big to show here.

output/Data.Coyoneda/index.js.map−1

This diff is too big to show here.

output/Data.Date.Component.Gen/corefn.json−1

This diff is too big to show here.

output/Data.Date.Component.Gen/docs.json−1

This diff is too big to show here.

output/Data.Date.Component.Gen/externs.cbor

This diff is too big to show here.

output/Data.Date.Component.Gen/index.js−30

This diff is too big to show here.

output/Data.Date.Component.Gen/index.js.map−1

This diff is too big to show here.

output/Data.Date.Component/corefn.json−1

This diff is too big to show here.

output/Data.Date.Component/docs.json−1

This diff is too big to show here.

output/Data.Date.Component/externs.cbor

This diff is too big to show here.

output/Data.Date.Component/index.js−861

This diff is too big to show here.

output/Data.Date.Component/index.js.map−1

This diff is too big to show here.

output/Data.Date.Gen/corefn.json−1

This diff is too big to show here.

output/Data.Date.Gen/docs.json−1

This diff is too big to show here.

output/Data.Date.Gen/externs.cbor

This diff is too big to show here.

output/Data.Date.Gen/index.js−50

This diff is too big to show here.

output/Data.Date.Gen/index.js.map−1

This diff is too big to show here.

output/Data.Date/corefn.json−1

This diff is too big to show here.

output/Data.Date/docs.json−1

This diff is too big to show here.

output/Data.Date/externs.cbor

This diff is too big to show here.

output/Data.Date/foreign.js−22

This diff is too big to show here.

output/Data.Date/index.js−366

This diff is too big to show here.

output/Data.Date/index.js.map−1

This diff is too big to show here.

output/Data.DateTime.Gen/corefn.json−1

This diff is too big to show here.

output/Data.DateTime.Gen/docs.json−1

This diff is too big to show here.

output/Data.DateTime.Gen/externs.cbor

This diff is too big to show here.

output/Data.DateTime.Gen/index.js−28

This diff is too big to show here.

output/Data.DateTime.Gen/index.js.map−1

This diff is too big to show here.

output/Data.DateTime.Instant/corefn.json−1

This diff is too big to show here.

output/Data.DateTime.Instant/docs.json−1

This diff is too big to show here.

output/Data.DateTime.Instant/externs.cbor

This diff is too big to show here.

output/Data.DateTime.Instant/foreign.js−18

This diff is too big to show here.

output/Data.DateTime.Instant/index.js−100

This diff is too big to show here.

output/Data.DateTime.Instant/index.js.map−1

This diff is too big to show here.

output/Data.DateTime/corefn.json−1

This diff is too big to show here.

output/Data.DateTime/docs.json−1

This diff is too big to show here.

output/Data.DateTime/externs.cbor

This diff is too big to show here.

output/Data.DateTime/foreign.js−33

This diff is too big to show here.

output/Data.DateTime/index.js−207

This diff is too big to show here.

output/Data.DateTime/index.js.map−1

This diff is too big to show here.

output/Data.Decidable/corefn.json−1

This diff is too big to show here.

output/Data.Decidable/docs.json−1

This diff is too big to show here.

output/Data.Decidable/externs.cbor

This diff is too big to show here.

output/Data.Decidable/index.js−79

This diff is too big to show here.

output/Data.Decidable/index.js.map−1

This diff is too big to show here.

output/Data.Decide/corefn.json−1

This diff is too big to show here.

output/Data.Decide/docs.json−1

This diff is too big to show here.

output/Data.Decide/externs.cbor

This diff is too big to show here.

output/Data.Decide/index.js−128

This diff is too big to show here.

output/Data.Decide/index.js.map−1

This diff is too big to show here.

output/Data.Distributive/corefn.json−1

This diff is too big to show here.

output/Data.Distributive/docs.json−1

This diff is too big to show here.

output/Data.Distributive/externs.cbor

This diff is too big to show here.

output/Data.Distributive/index.js−124

This diff is too big to show here.

output/Data.Distributive/index.js.map−1

This diff is too big to show here.

output/Data.Divide/corefn.json−1

This diff is too big to show here.

output/Data.Divide/docs.json−1

This diff is too big to show here.

output/Data.Divide/externs.cbor

This diff is too big to show here.

output/Data.Divide/index.js−94

This diff is too big to show here.

output/Data.Divide/index.js.map−1

This diff is too big to show here.

output/Data.Divisible/corefn.json−1

This diff is too big to show here.

output/Data.Divisible/docs.json−1

This diff is too big to show here.

output/Data.Divisible/externs.cbor

This diff is too big to show here.

output/Data.Divisible/index.js−51

This diff is too big to show here.

output/Data.Divisible/index.js.map−1

This diff is too big to show here.

output/Data.DivisionRing/corefn.json−1

This diff is too big to show here.

output/Data.DivisionRing/docs.json−1

This diff is too big to show here.

output/Data.DivisionRing/externs.cbor

This diff is too big to show here.

output/Data.DivisionRing/index.js−49

This diff is too big to show here.

output/Data.DivisionRing/index.js.map−1

This diff is too big to show here.

output/Data.Either.Inject/corefn.json−1

This diff is too big to show here.

output/Data.Either.Inject/docs.json−1

This diff is too big to show here.

output/Data.Either.Inject/externs.cbor

This diff is too big to show here.

output/Data.Either.Inject/index.js−42

This diff is too big to show here.

output/Data.Either.Inject/index.js.map−1

This diff is too big to show here.

output/Data.Either.Nested/corefn.json−1

This diff is too big to show here.

output/Data.Either.Nested/docs.json−1

This diff is too big to show here.

output/Data.Either.Nested/externs.cbor

This diff is too big to show here.

output/Data.Either.Nested/index.js−634

This diff is too big to show here.

output/Data.Either.Nested/index.js.map−1

This diff is too big to show here.

output/Data.Either/corefn.json−1

This diff is too big to show here.

output/Data.Either/docs.json−1

This diff is too big to show here.

output/Data.Either/externs.cbor

This diff is too big to show here.

output/Data.Either/index.js−356

This diff is too big to show here.

output/Data.Either/index.js.map−1

This diff is too big to show here.

output/Data.Enum.Gen/corefn.json−1

This diff is too big to show here.

output/Data.Enum.Gen/docs.json−1

This diff is too big to show here.

output/Data.Enum.Gen/externs.cbor

This diff is too big to show here.

output/Data.Enum.Gen/index.js−32

This diff is too big to show here.

output/Data.Enum.Gen/index.js.map−1

This diff is too big to show here.

output/Data.Enum.Generic/corefn.json−1

This diff is too big to show here.

output/Data.Enum.Generic/docs.json−1

This diff is too big to show here.

output/Data.Enum.Generic/externs.cbor

This diff is too big to show here.

output/Data.Enum.Generic/index.js−319

This diff is too big to show here.

output/Data.Enum.Generic/index.js.map−1

This diff is too big to show here.

output/Data.Enum/corefn.json−1

This diff is too big to show here.

output/Data.Enum/docs.json−1

This diff is too big to show here.

output/Data.Enum/externs.cbor

This diff is too big to show here.

output/Data.Enum/foreign.js−7

This diff is too big to show here.

output/Data.Enum/index.js−631

This diff is too big to show here.

output/Data.Enum/index.js.map−1

This diff is too big to show here.

output/Data.Eq.Generic/corefn.json−1

This diff is too big to show here.

output/Data.Eq.Generic/docs.json−1

This diff is too big to show here.

output/Data.Eq.Generic/externs.cbor

This diff is too big to show here.

output/Data.Eq.Generic/index.js−94

This diff is too big to show here.

output/Data.Eq.Generic/index.js.map−1

This diff is too big to show here.

output/Data.Eq/corefn.json−1

This diff is too big to show here.

output/Data.Eq/docs.json−1

This diff is too big to show here.

output/Data.Eq/externs.cbor

This diff is too big to show here.

output/Data.Eq/foreign.js−23

This diff is too big to show here.

output/Data.Eq/index.js−140

This diff is too big to show here.

output/Data.Eq/index.js.map−1

This diff is too big to show here.

output/Data.Equivalence/corefn.json−1

This diff is too big to show here.

output/Data.Equivalence/docs.json−1

This diff is too big to show here.

output/Data.Equivalence/externs.cbor

This diff is too big to show here.

output/Data.Equivalence/index.js−61

This diff is too big to show here.

output/Data.Equivalence/index.js.map−1

This diff is too big to show here.

output/Data.EuclideanRing/corefn.json−1

This diff is too big to show here.

output/Data.EuclideanRing/docs.json−1

This diff is too big to show here.

output/Data.EuclideanRing/externs.cbor

This diff is too big to show here.

output/Data.EuclideanRing/foreign.js−26

This diff is too big to show here.

output/Data.EuclideanRing/index.js−92

This diff is too big to show here.

output/Data.EuclideanRing/index.js.map−1

This diff is too big to show here.

output/Data.Exists/corefn.json−1

This diff is too big to show here.

output/Data.Exists/docs.json−1

This diff is too big to show here.

output/Data.Exists/externs.cbor

This diff is too big to show here.

output/Data.Exists/index.js−9

This diff is too big to show here.

output/Data.Exists/index.js.map−1

This diff is too big to show here.

output/Data.Field/corefn.json−1

This diff is too big to show here.

output/Data.Field/docs.json−1

This diff is too big to show here.

output/Data.Field/externs.cbor

This diff is too big to show here.

output/Data.Field/index.js−42

This diff is too big to show here.

output/Data.Field/index.js.map−1

This diff is too big to show here.

output/Data.Foldable/corefn.json−1

This diff is too big to show here.

output/Data.Foldable/docs.json−1

This diff is too big to show here.

output/Data.Foldable/externs.cbor

This diff is too big to show here.

output/Data.Foldable/foreign.js−25

This diff is too big to show here.

output/Data.Foldable/index.js−972

This diff is too big to show here.

output/Data.Foldable/index.js.map−1

This diff is too big to show here.

output/Data.FoldableWithIndex/corefn.json−1

This diff is too big to show here.

output/Data.FoldableWithIndex/docs.json−1

This diff is too big to show here.

output/Data.FoldableWithIndex/externs.cbor

This diff is too big to show here.

output/Data.FoldableWithIndex/index.js−786

This diff is too big to show here.

output/Data.FoldableWithIndex/index.js.map−1

This diff is too big to show here.

output/Data.Function.Memoize/corefn.json−1

This diff is too big to show here.

output/Data.Function.Memoize/docs.json−1

This diff is too big to show here.

output/Data.Function.Memoize/externs.cbor

This diff is too big to show here.

output/Data.Function.Memoize/index.js−408

This diff is too big to show here.

output/Data.Function.Memoize/index.js.map−1

This diff is too big to show here.

output/Data.Function.Uncurried/corefn.json−1

This diff is too big to show here.

output/Data.Function.Uncurried/docs.json−1

This diff is too big to show here.

output/Data.Function.Uncurried/externs.cbor

This diff is too big to show here.

output/Data.Function.Uncurried/foreign.js−218

This diff is too big to show here.

output/Data.Function.Uncurried/index.js−35

This diff is too big to show here.

output/Data.Function.Uncurried/index.js.map−1

This diff is too big to show here.

output/Data.Function/corefn.json−1

This diff is too big to show here.

output/Data.Function/docs.json−1

This diff is too big to show here.

output/Data.Function/externs.cbor

This diff is too big to show here.

output/Data.Function/index.js−73

This diff is too big to show here.

output/Data.Function/index.js.map−1

This diff is too big to show here.

output/Data.Functor.App/corefn.json−1

This diff is too big to show here.

output/Data.Functor.App/docs.json−1

This diff is too big to show here.

output/Data.Functor.App/externs.cbor

This diff is too big to show here.

output/Data.Functor.App/index.js−172

This diff is too big to show here.

output/Data.Functor.App/index.js.map−1

This diff is too big to show here.

output/Data.Functor.Clown/corefn.json−1

This diff is too big to show here.

output/Data.Functor.Clown/docs.json−1

This diff is too big to show here.

output/Data.Functor.Clown/externs.cbor

This diff is too big to show here.

output/Data.Functor.Clown/index.js−106

This diff is too big to show here.

output/Data.Functor.Clown/index.js.map−1

This diff is too big to show here.

output/Data.Functor.Compose/corefn.json−1

This diff is too big to show here.

output/Data.Functor.Compose/docs.json−1

This diff is too big to show here.

output/Data.Functor.Compose/externs.cbor

This diff is too big to show here.

output/Data.Functor.Compose/index.js−215

This diff is too big to show here.

output/Data.Functor.Compose/index.js.map−1

This diff is too big to show here.

output/Data.Functor.Contravariant/corefn.json−1

This diff is too big to show here.

output/Data.Functor.Contravariant/docs.json−1

This diff is too big to show here.

output/Data.Functor.Contravariant/externs.cbor

This diff is too big to show here.

output/Data.Functor.Contravariant/index.js−46

This diff is too big to show here.

output/Data.Functor.Contravariant/index.js.map−1

This diff is too big to show here.

output/Data.Functor.Coproduct.Inject/corefn.json−1

This diff is too big to show here.

output/Data.Functor.Coproduct.Inject/docs.json−1

This diff is too big to show here.

output/Data.Functor.Coproduct.Inject/externs.cbor

This diff is too big to show here.

output/Data.Functor.Coproduct.Inject/index.js−45

This diff is too big to show here.

output/Data.Functor.Coproduct.Inject/index.js.map−1

This diff is too big to show here.

output/Data.Functor.Coproduct.Nested/corefn.json−1

This diff is too big to show here.

output/Data.Functor.Coproduct.Nested/docs.json−1

This diff is too big to show here.

output/Data.Functor.Coproduct.Nested/externs.cbor

This diff is too big to show here.

output/Data.Functor.Coproduct.Nested/index.js−635

This diff is too big to show here.

output/Data.Functor.Coproduct.Nested/index.js.map−1

This diff is too big to show here.

output/Data.Functor.Coproduct/corefn.json−1

This diff is too big to show here.

output/Data.Functor.Coproduct/docs.json−1

This diff is too big to show here.

output/Data.Functor.Coproduct/externs.cbor

This diff is too big to show here.

output/Data.Functor.Coproduct/index.js−223

This diff is too big to show here.

output/Data.Functor.Coproduct/index.js.map−1

This diff is too big to show here.

output/Data.Functor.Costar/corefn.json−1

This diff is too big to show here.

output/Data.Functor.Costar/docs.json−1

This diff is too big to show here.

output/Data.Functor.Costar/externs.cbor

This diff is too big to show here.

output/Data.Functor.Costar/index.js−210

This diff is too big to show here.

output/Data.Functor.Costar/index.js.map−1

This diff is too big to show here.

output/Data.Functor.Flip/corefn.json−1

This diff is too big to show here.

output/Data.Functor.Flip/docs.json−1

This diff is too big to show here.

output/Data.Functor.Flip/externs.cbor

This diff is too big to show here.

output/Data.Functor.Flip/index.js−124

This diff is too big to show here.

output/Data.Functor.Flip/index.js.map−1

This diff is too big to show here.

output/Data.Functor.Invariant/corefn.json−1

This diff is too big to show here.

output/Data.Functor.Invariant/docs.json−1

This diff is too big to show here.

output/Data.Functor.Invariant/externs.cbor

This diff is too big to show here.

output/Data.Functor.Invariant/index.js−101

This diff is too big to show here.

output/Data.Functor.Invariant/index.js.map−1

This diff is too big to show here.

output/Data.Functor.Joker/corefn.json−1

This diff is too big to show here.

output/Data.Functor.Joker/docs.json−1

This diff is too big to show here.

output/Data.Functor.Joker/externs.cbor

This diff is too big to show here.

output/Data.Functor.Joker/index.js−191

This diff is too big to show here.

output/Data.Functor.Joker/index.js.map−1

This diff is too big to show here.

output/Data.Functor.Product.Nested/corefn.json−1

This diff is too big to show here.

output/Data.Functor.Product.Nested/docs.json−1

This diff is too big to show here.

output/Data.Functor.Product.Nested/externs.cbor

This diff is too big to show here.

output/Data.Functor.Product.Nested/index.js−176

This diff is too big to show here.

output/Data.Functor.Product.Nested/index.js.map−1

This diff is too big to show here.

output/Data.Functor.Product/corefn.json−1

This diff is too big to show here.

output/Data.Functor.Product/docs.json−1

This diff is too big to show here.

output/Data.Functor.Product/externs.cbor

This diff is too big to show here.

output/Data.Functor.Product/index.js−218

This diff is too big to show here.

output/Data.Functor.Product/index.js.map−1

This diff is too big to show here.

output/Data.Functor.Product2/corefn.json−1

This diff is too big to show here.

output/Data.Functor.Product2/docs.json−1

This diff is too big to show here.

output/Data.Functor.Product2/externs.cbor

This diff is too big to show here.

output/Data.Functor.Product2/index.js−162

This diff is too big to show here.

output/Data.Functor.Product2/index.js.map−1

This diff is too big to show here.

output/Data.Functor.Variant/corefn.json−1

This diff is too big to show here.

output/Data.Functor.Variant/docs.json−1

This diff is too big to show here.

output/Data.Functor.Variant/externs.cbor

This diff is too big to show here.

output/Data.Functor.Variant/index.js−602

This diff is too big to show here.

output/Data.Functor.Variant/index.js.map−1

This diff is too big to show here.

output/Data.Functor/corefn.json−1

This diff is too big to show here.

output/Data.Functor/docs.json−1

This diff is too big to show here.

output/Data.Functor/externs.cbor

This diff is too big to show here.

output/Data.Functor/foreign.js−10

This diff is too big to show here.

output/Data.Functor/index.js−69

This diff is too big to show here.

output/Data.Functor/index.js.map−1

This diff is too big to show here.

output/Data.FunctorWithIndex/corefn.json−1

This diff is too big to show here.

output/Data.FunctorWithIndex/docs.json−1

This diff is too big to show here.

output/Data.FunctorWithIndex/externs.cbor

This diff is too big to show here.

output/Data.FunctorWithIndex/foreign.js−10

This diff is too big to show here.

output/Data.FunctorWithIndex/index.js−252

This diff is too big to show here.

output/Data.FunctorWithIndex/index.js.map−1

This diff is too big to show here.

output/Data.Generic.Rep/corefn.json−1

This diff is too big to show here.

output/Data.Generic.Rep/docs.json−1

This diff is too big to show here.

output/Data.Generic.Rep/externs.cbor

This diff is too big to show here.

output/Data.Generic.Rep/index.js−131

This diff is too big to show here.

output/Data.Generic.Rep/index.js.map−1

This diff is too big to show here.

output/Data.HeytingAlgebra.Generic/corefn.json−1

This diff is too big to show here.

output/Data.HeytingAlgebra.Generic/docs.json−1

This diff is too big to show here.

output/Data.HeytingAlgebra.Generic/externs.cbor

This diff is too big to show here.

output/Data.HeytingAlgebra.Generic/index.js−214

This diff is too big to show here.

output/Data.HeytingAlgebra.Generic/index.js.map−1

This diff is too big to show here.

output/Data.HeytingAlgebra/corefn.json−1

This diff is too big to show here.

output/Data.HeytingAlgebra/docs.json−1

This diff is too big to show here.

output/Data.HeytingAlgebra/externs.cbor

This diff is too big to show here.

output/Data.HeytingAlgebra/foreign.js−15

This diff is too big to show here.

output/Data.HeytingAlgebra/index.js−295

This diff is too big to show here.

output/Data.HeytingAlgebra/index.js.map−1

This diff is too big to show here.

output/Data.Identity/corefn.json−1

This diff is too big to show here.

output/Data.Identity/docs.json−1

This diff is too big to show here.

output/Data.Identity/externs.cbor

This diff is too big to show here.

output/Data.Identity/index.js−171

This diff is too big to show here.

output/Data.Identity/index.js.map−1

This diff is too big to show here.

output/Data.Int.Bits/corefn.json−1

This diff is too big to show here.

output/Data.Int.Bits/docs.json−1

This diff is too big to show here.

output/Data.Int.Bits/externs.cbor

This diff is too big to show here.

output/Data.Int.Bits/foreign.js−48

This diff is too big to show here.

output/Data.Int.Bits/index.js−13

This diff is too big to show here.

output/Data.Int.Bits/index.js.map−1

This diff is too big to show here.

output/Data.Int/corefn.json−1

This diff is too big to show here.

output/Data.Int/docs.json−1

This diff is too big to show here.

output/Data.Int/externs.cbor

This diff is too big to show here.

output/Data.Int/foreign.js−65

This diff is too big to show here.

output/Data.Int/index.js−247

This diff is too big to show here.

output/Data.Int/index.js.map−1

This diff is too big to show here.

output/Data.Interval.Duration.Iso/corefn.json−1

This diff is too big to show here.

output/Data.Interval.Duration.Iso/docs.json−1

This diff is too big to show here.

output/Data.Interval.Duration.Iso/externs.cbor

This diff is too big to show here.

output/Data.Interval.Duration.Iso/index.js−269

This diff is too big to show here.

output/Data.Interval.Duration.Iso/index.js.map−1

This diff is too big to show here.

output/Data.Interval.Duration/corefn.json−1

This diff is too big to show here.

output/Data.Interval.Duration/docs.json−1

This diff is too big to show here.

output/Data.Interval.Duration/externs.cbor

This diff is too big to show here.

output/Data.Interval.Duration/index.js−287

This diff is too big to show here.

output/Data.Interval.Duration/index.js.map−1

This diff is too big to show here.

output/Data.Interval/corefn.json−1

This diff is too big to show here.

output/Data.Interval/docs.json−1

This diff is too big to show here.

output/Data.Interval/externs.cbor

This diff is too big to show here.

output/Data.Interval/index.js−596

This diff is too big to show here.

output/Data.Interval/index.js.map−1

This diff is too big to show here.

output/Data.JSDate/corefn.json−1

This diff is too big to show here.

output/Data.JSDate/docs.json−1

This diff is too big to show here.

output/Data.JSDate/externs.cbor

This diff is too big to show here.

output/Data.JSDate/foreign.js−83

This diff is too big to show here.

output/Data.JSDate/index.js−182

This diff is too big to show here.

output/Data.JSDate/index.js.map−1

This diff is too big to show here.

output/Data.Lazy/corefn.json−1

This diff is too big to show here.

output/Data.Lazy/docs.json−1

This diff is too big to show here.

output/Data.Lazy/externs.cbor

This diff is too big to show here.

output/Data.Lazy/foreign.js−14

This diff is too big to show here.

output/Data.Lazy/index.js−489

This diff is too big to show here.

output/Data.Lazy/index.js.map−1

This diff is too big to show here.

output/Data.List.Internal/corefn.json−1

This diff is too big to show here.

output/Data.List.Internal/docs.json−1

This diff is too big to show here.

output/Data.List.Internal/externs.cbor

This diff is too big to show here.

output/Data.List.Internal/index.js−314

This diff is too big to show here.

output/Data.List.Internal/index.js.map−1

This diff is too big to show here.

output/Data.List.Lazy.NonEmpty/corefn.json−1

This diff is too big to show here.

output/Data.List.Lazy.NonEmpty/docs.json−1

This diff is too big to show here.

output/Data.List.Lazy.NonEmpty/externs.cbor

This diff is too big to show here.

output/Data.List.Lazy.NonEmpty/index.js−130

This diff is too big to show here.

output/Data.List.Lazy.NonEmpty/index.js.map−1

This diff is too big to show here.

output/Data.List.Lazy.Types/corefn.json−1

This diff is too big to show here.

output/Data.List.Lazy.Types/docs.json−1

This diff is too big to show here.

output/Data.List.Lazy.Types/externs.cbor

This diff is too big to show here.

output/Data.List.Lazy.Types/index.js−963

This diff is too big to show here.

output/Data.List.Lazy.Types/index.js.map−1

This diff is too big to show here.

output/Data.List.Lazy/corefn.json−1

This diff is too big to show here.

output/Data.List.Lazy/docs.json−1

This diff is too big to show here.

output/Data.List.Lazy/externs.cbor

This diff is too big to show here.

output/Data.List.Lazy/index.js−1046

This diff is too big to show here.

output/Data.List.Lazy/index.js.map−1

This diff is too big to show here.

output/Data.List.NonEmpty/corefn.json−1

This diff is too big to show here.

output/Data.List.NonEmpty/docs.json−1

This diff is too big to show here.

output/Data.List.NonEmpty/externs.cbor

This diff is too big to show here.

output/Data.List.NonEmpty/index.js−506

This diff is too big to show here.

output/Data.List.NonEmpty/index.js.map−1

This diff is too big to show here.

output/Data.List.Partial/corefn.json−1

This diff is too big to show here.

output/Data.List.Partial/docs.json−1

This diff is too big to show here.

output/Data.List.Partial/externs.cbor

This diff is too big to show here.

output/Data.List.Partial/index.js−57

This diff is too big to show here.

output/Data.List.Partial/index.js.map−1

This diff is too big to show here.

output/Data.List.Types/corefn.json−1

This diff is too big to show here.

output/Data.List.Types/docs.json−1

This diff is too big to show here.

output/Data.List.Types/externs.cbor

This diff is too big to show here.

output/Data.List.Types/index.js−909

This diff is too big to show here.

output/Data.List.Types/index.js.map−1

This diff is too big to show here.

output/Data.List.ZipList/corefn.json−1

This diff is too big to show here.

output/Data.List.ZipList/docs.json−1

This diff is too big to show here.

output/Data.List.ZipList/externs.cbor

This diff is too big to show here.

output/Data.List.ZipList/index.js−105

This diff is too big to show here.

output/Data.List.ZipList/index.js.map−1

This diff is too big to show here.

output/Data.List/corefn.json−1

This diff is too big to show here.

output/Data.List/docs.json−1

This diff is too big to show here.

output/Data.List/externs.cbor

This diff is too big to show here.

output/Data.List/index.js−1235

This diff is too big to show here.

output/Data.List/index.js.map−1

This diff is too big to show here.

output/Data.Map.Gen/corefn.json−1

This diff is too big to show here.

output/Data.Map.Gen/docs.json−1

This diff is too big to show here.

output/Data.Map.Gen/externs.cbor

This diff is too big to show here.

output/Data.Map.Gen/index.js−40

This diff is too big to show here.

output/Data.Map.Gen/index.js.map−1

This diff is too big to show here.

output/Data.Map.Internal/corefn.json−1

This diff is too big to show here.

output/Data.Map.Internal/docs.json−1

This diff is too big to show here.

output/Data.Map.Internal/externs.cbor

This diff is too big to show here.

output/Data.Map.Internal/index.js−1845

This diff is too big to show here.

output/Data.Map.Internal/index.js.map−1

This diff is too big to show here.

output/Data.Map/corefn.json−1

This diff is too big to show here.

output/Data.Map/docs.json−1

This diff is too big to show here.

output/Data.Map/externs.cbor

This diff is too big to show here.

output/Data.Map/index.js−154

This diff is too big to show here.

output/Data.Map/index.js.map−1

This diff is too big to show here.

output/Data.Maybe.First/corefn.json−1

This diff is too big to show here.

output/Data.Maybe.First/docs.json−1

This diff is too big to show here.

output/Data.Maybe.First/externs.cbor

This diff is too big to show here.

output/Data.Maybe.First/index.js−100

This diff is too big to show here.

output/Data.Maybe.First/index.js.map−1

This diff is too big to show here.

output/Data.Maybe.Last/corefn.json−1

This diff is too big to show here.

output/Data.Maybe.Last/docs.json−1

This diff is too big to show here.

output/Data.Maybe.Last/externs.cbor

This diff is too big to show here.

output/Data.Maybe.Last/index.js−103

This diff is too big to show here.

output/Data.Maybe.Last/index.js.map−1

This diff is too big to show here.

output/Data.Maybe/corefn.json−1

This diff is too big to show here.

output/Data.Maybe/docs.json−1

This diff is too big to show here.

output/Data.Maybe/externs.cbor

This diff is too big to show here.

output/Data.Maybe/index.js−378

This diff is too big to show here.

output/Data.Maybe/index.js.map−1

This diff is too big to show here.

output/Data.Monoid.Additive/corefn.json−1

This diff is too big to show here.

output/Data.Monoid.Additive/docs.json−1

This diff is too big to show here.

output/Data.Monoid.Additive/externs.cbor

This diff is too big to show here.

output/Data.Monoid.Additive/index.js−115

This diff is too big to show here.

output/Data.Monoid.Additive/index.js.map−1

This diff is too big to show here.

output/Data.Monoid.Alternate/corefn.json−1

This diff is too big to show here.

output/Data.Monoid.Alternate/docs.json−1

This diff is too big to show here.

output/Data.Monoid.Alternate/externs.cbor

This diff is too big to show here.

output/Data.Monoid.Alternate/index.js−107

This diff is too big to show here.

output/Data.Monoid.Alternate/index.js.map−1

This diff is too big to show here.

output/Data.Monoid.Conj/corefn.json−1

This diff is too big to show here.

output/Data.Monoid.Conj/docs.json−1

This diff is too big to show here.

output/Data.Monoid.Conj/externs.cbor

This diff is too big to show here.

output/Data.Monoid.Conj/index.js−134

This diff is too big to show here.

output/Data.Monoid.Conj/index.js.map−1

This diff is too big to show here.

output/Data.Monoid.Disj/corefn.json−1

This diff is too big to show here.

output/Data.Monoid.Disj/docs.json−1

This diff is too big to show here.

output/Data.Monoid.Disj/externs.cbor

This diff is too big to show here.

output/Data.Monoid.Disj/index.js−134

This diff is too big to show here.

output/Data.Monoid.Disj/index.js.map−1

This diff is too big to show here.

output/Data.Monoid.Dual/corefn.json−1

This diff is too big to show here.

output/Data.Monoid.Dual/docs.json−1

This diff is too big to show here.

output/Data.Monoid.Dual/externs.cbor

This diff is too big to show here.

output/Data.Monoid.Dual/index.js−116

This diff is too big to show here.

output/Data.Monoid.Dual/index.js.map−1

This diff is too big to show here.

output/Data.Monoid.Endo/corefn.json−1

This diff is too big to show here.

output/Data.Monoid.Endo/docs.json−1

This diff is too big to show here.

output/Data.Monoid.Endo/externs.cbor

This diff is too big to show here.

output/Data.Monoid.Endo/index.js−53

This diff is too big to show here.

output/Data.Monoid.Endo/index.js.map−1

This diff is too big to show here.

output/Data.Monoid.Generic/corefn.json−1

This diff is too big to show here.

output/Data.Monoid.Generic/docs.json−1

This diff is too big to show here.

output/Data.Monoid.Generic/externs.cbor

This diff is too big to show here.

output/Data.Monoid.Generic/index.js−44

This diff is too big to show here.

output/Data.Monoid.Generic/index.js.map−1

This diff is too big to show here.

output/Data.Monoid.Multiplicative/corefn.json−1

This diff is too big to show here.

output/Data.Monoid.Multiplicative/docs.json−1

This diff is too big to show here.

output/Data.Monoid.Multiplicative/externs.cbor

This diff is too big to show here.

output/Data.Monoid.Multiplicative/index.js−115

This diff is too big to show here.

output/Data.Monoid.Multiplicative/index.js.map−1

This diff is too big to show here.

output/Data.Monoid/corefn.json−1

This diff is too big to show here.

output/Data.Monoid/docs.json−1

This diff is too big to show here.

output/Data.Monoid/externs.cbor

This diff is too big to show here.

output/Data.Monoid/index.js−153

This diff is too big to show here.

output/Data.Monoid/index.js.map−1

This diff is too big to show here.

output/Data.NaturalTransformation/corefn.json−1

This diff is too big to show here.

output/Data.NaturalTransformation/docs.json−1

This diff is too big to show here.

output/Data.NaturalTransformation/externs.cbor

This diff is too big to show here.

output/Data.NaturalTransformation/index.js−3

This diff is too big to show here.

output/Data.NaturalTransformation/index.js.map−1

This diff is too big to show here.

output/Data.Newtype/corefn.json−1

This diff is too big to show here.

output/Data.Newtype/docs.json−1

This diff is too big to show here.

output/Data.Newtype/externs.cbor

This diff is too big to show here.

output/Data.Newtype/index.js−198

This diff is too big to show here.

output/Data.Newtype/index.js.map−1

This diff is too big to show here.

output/Data.NonEmpty/corefn.json−1

This diff is too big to show here.

output/Data.NonEmpty/docs.json−1

This diff is too big to show here.

output/Data.NonEmpty/externs.cbor

This diff is too big to show here.

output/Data.NonEmpty/index.js−376

This diff is too big to show here.

output/Data.NonEmpty/index.js.map−1

This diff is too big to show here.

output/Data.Nullable/corefn.json−1

This diff is too big to show here.

output/Data.Nullable/docs.json−1

This diff is too big to show here.

output/Data.Nullable/externs.cbor

This diff is too big to show here.

output/Data.Nullable/foreign.js−12

This diff is too big to show here.

output/Data.Nullable/index.js−62

This diff is too big to show here.

output/Data.Nullable/index.js.map−1

This diff is too big to show here.

output/Data.Number.Approximate/corefn.json−1

This diff is too big to show here.

output/Data.Number.Approximate/docs.json−1

This diff is too big to show here.

output/Data.Number.Approximate/externs.cbor

This diff is too big to show here.

output/Data.Number.Approximate/index.js−43

This diff is too big to show here.

output/Data.Number.Approximate/index.js.map−1

This diff is too big to show here.

output/Data.Number.Format/corefn.json−1

This diff is too big to show here.

output/Data.Number.Format/docs.json−1

This diff is too big to show here.

output/Data.Number.Format/externs.cbor

This diff is too big to show here.

output/Data.Number.Format/foreign.js−12

This diff is too big to show here.

output/Data.Number.Format/index.js−71

This diff is too big to show here.

output/Data.Number.Format/index.js.map−1

This diff is too big to show here.

output/Data.Number/corefn.json−1

This diff is too big to show here.

output/Data.Number/docs.json−1

This diff is too big to show here.

output/Data.Number/externs.cbor

This diff is too big to show here.

output/Data.Number/foreign.js−80

This diff is too big to show here.

output/Data.Number/index.js−54

This diff is too big to show here.

output/Data.Number/index.js.map−1

This diff is too big to show here.

output/Data.Op/corefn.json−1

This diff is too big to show here.

output/Data.Op/docs.json−1

This diff is too big to show here.

output/Data.Op/externs.cbor

This diff is too big to show here.

output/Data.Op/index.js−52

This diff is too big to show here.

output/Data.Op/index.js.map−1

This diff is too big to show here.

output/Data.Ord.Down/corefn.json−1

This diff is too big to show here.

output/Data.Ord.Down/docs.json−1

This diff is too big to show here.

output/Data.Ord.Down/externs.cbor

This diff is too big to show here.

output/Data.Ord.Down/index.js−57

This diff is too big to show here.

output/Data.Ord.Down/index.js.map−1

This diff is too big to show here.

output/Data.Ord.Generic/corefn.json−1

This diff is too big to show here.

output/Data.Ord.Generic/docs.json−1

This diff is too big to show here.

output/Data.Ord.Generic/externs.cbor

This diff is too big to show here.

output/Data.Ord.Generic/index.js−105

This diff is too big to show here.

output/Data.Ord.Generic/index.js.map−1

This diff is too big to show here.

output/Data.Ord.Max/corefn.json−1

This diff is too big to show here.

output/Data.Ord.Max/docs.json−1

This diff is too big to show here.

output/Data.Ord.Max/externs.cbor

This diff is too big to show here.

output/Data.Ord.Max/index.js−66

This diff is too big to show here.

output/Data.Ord.Max/index.js.map−1

This diff is too big to show here.

output/Data.Ord.Min/corefn.json−1

This diff is too big to show here.

output/Data.Ord.Min/docs.json−1

This diff is too big to show here.

output/Data.Ord.Min/externs.cbor

This diff is too big to show here.

output/Data.Ord.Min/index.js−66

This diff is too big to show here.

output/Data.Ord.Min/index.js.map−1

This diff is too big to show here.

output/Data.Ord/corefn.json−1

This diff is too big to show here.

output/Data.Ord/docs.json−1

This diff is too big to show here.

output/Data.Ord/externs.cbor

This diff is too big to show here.

output/Data.Ord/foreign.js−43

This diff is too big to show here.

output/Data.Ord/index.js−409

This diff is too big to show here.

output/Data.Ord/index.js.map−1

This diff is too big to show here.

output/Data.Ordering/corefn.json−1

This diff is too big to show here.

output/Data.Ordering/docs.json−1

This diff is too big to show here.

output/Data.Ordering/externs.cbor

This diff is too big to show here.

output/Data.Ordering/index.js−90

This diff is too big to show here.

output/Data.Ordering/index.js.map−1

This diff is too big to show here.

output/Data.Posix.Signal/corefn.json−1

This diff is too big to show here.

output/Data.Posix.Signal/docs.json−1

This diff is too big to show here.

output/Data.Posix.Signal/externs.cbor

This diff is too big to show here.

output/Data.Posix.Signal/index.js−1019

This diff is too big to show here.

output/Data.Posix.Signal/index.js.map−1

This diff is too big to show here.

output/Data.Posix/corefn.json−1

This diff is too big to show here.

output/Data.Posix/docs.json−1

This diff is too big to show here.

output/Data.Posix/externs.cbor

This diff is too big to show here.

output/Data.Posix/index.js−68

This diff is too big to show here.

output/Data.Posix/index.js.map−1

This diff is too big to show here.

output/Data.Predicate/corefn.json−1

This diff is too big to show here.

output/Data.Predicate/docs.json−1

This diff is too big to show here.

output/Data.Predicate/externs.cbor

This diff is too big to show here.

output/Data.Predicate/index.js−30

This diff is too big to show here.

output/Data.Predicate/index.js.map−1

This diff is too big to show here.

output/Data.Profunctor.Choice/corefn.json−1

This diff is too big to show here.

output/Data.Profunctor.Choice/docs.json−1

This diff is too big to show here.

output/Data.Profunctor.Choice/externs.cbor

This diff is too big to show here.

output/Data.Profunctor.Choice/index.js−62

This diff is too big to show here.

output/Data.Profunctor.Choice/index.js.map−1

This diff is too big to show here.

output/Data.Profunctor.Closed/corefn.json−1

This diff is too big to show here.

output/Data.Profunctor.Closed/docs.json−1

This diff is too big to show here.

output/Data.Profunctor.Closed/externs.cbor

This diff is too big to show here.

output/Data.Profunctor.Closed/index.js−17

This diff is too big to show here.

output/Data.Profunctor.Closed/index.js.map−1

This diff is too big to show here.

output/Data.Profunctor.Cochoice/corefn.json−1

This diff is too big to show here.

output/Data.Profunctor.Cochoice/docs.json−1

This diff is too big to show here.

output/Data.Profunctor.Cochoice/externs.cbor

This diff is too big to show here.

output/Data.Profunctor.Cochoice/index.js−12

This diff is too big to show here.

output/Data.Profunctor.Cochoice/index.js.map−1

This diff is too big to show here.

output/Data.Profunctor.Costrong/corefn.json−1

This diff is too big to show here.

output/Data.Profunctor.Costrong/docs.json−1

This diff is too big to show here.

output/Data.Profunctor.Costrong/externs.cbor

This diff is too big to show here.

output/Data.Profunctor.Costrong/index.js−12

This diff is too big to show here.

output/Data.Profunctor.Costrong/index.js.map−1

This diff is too big to show here.

output/Data.Profunctor.Join/corefn.json−1

This diff is too big to show here.

output/Data.Profunctor.Join/docs.json−1

This diff is too big to show here.

output/Data.Profunctor.Join/externs.cbor

This diff is too big to show here.

output/Data.Profunctor.Join/index.js−69

This diff is too big to show here.

output/Data.Profunctor.Join/index.js.map−1

This diff is too big to show here.

output/Data.Profunctor.Split/corefn.json−1

This diff is too big to show here.

output/Data.Profunctor.Split/docs.json−1

This diff is too big to show here.

output/Data.Profunctor.Split/externs.cbor

This diff is too big to show here.

output/Data.Profunctor.Split/index.js−90

This diff is too big to show here.

output/Data.Profunctor.Split/index.js.map−1

This diff is too big to show here.

output/Data.Profunctor.Star/corefn.json−1

This diff is too big to show here.

output/Data.Profunctor.Star/docs.json−1

This diff is too big to show here.

output/Data.Profunctor.Star/externs.cbor

This diff is too big to show here.

output/Data.Profunctor.Star/index.js−323

This diff is too big to show here.

output/Data.Profunctor.Star/index.js.map−1

This diff is too big to show here.

output/Data.Profunctor.Strong/corefn.json−1

This diff is too big to show here.

output/Data.Profunctor.Strong/docs.json−1

This diff is too big to show here.

output/Data.Profunctor.Strong/externs.cbor

This diff is too big to show here.

output/Data.Profunctor.Strong/index.js−56

This diff is too big to show here.

output/Data.Profunctor.Strong/index.js.map−1

This diff is too big to show here.

output/Data.Profunctor/corefn.json−1

This diff is too big to show here.

output/Data.Profunctor/docs.json−1

This diff is too big to show here.

output/Data.Profunctor/externs.cbor

This diff is too big to show here.

output/Data.Profunctor/index.js−65

This diff is too big to show here.

output/Data.Profunctor/index.js.map−1

This diff is too big to show here.

output/Data.Reflectable/corefn.json−1

This diff is too big to show here.

output/Data.Reflectable/docs.json−1

This diff is too big to show here.

output/Data.Reflectable/externs.cbor

This diff is too big to show here.

output/Data.Reflectable/foreign.js−5

This diff is too big to show here.

output/Data.Reflectable/index.js−32

This diff is too big to show here.

output/Data.Reflectable/index.js.map−1

This diff is too big to show here.

output/Data.Ring.Generic/corefn.json−1

This diff is too big to show here.

output/Data.Ring.Generic/docs.json−1

This diff is too big to show here.

output/Data.Ring.Generic/externs.cbor

This diff is too big to show here.

output/Data.Ring.Generic/index.js−67

This diff is too big to show here.

output/Data.Ring.Generic/index.js.map−1

This diff is too big to show here.

output/Data.Ring/corefn.json−1

This diff is too big to show here.

output/Data.Ring/docs.json−1

This diff is too big to show here.

output/Data.Ring/externs.cbor

This diff is too big to show here.

output/Data.Ring/foreign.js−12

This diff is too big to show here.

output/Data.Ring/index.js−142

This diff is too big to show here.

output/Data.Ring/index.js.map−1

This diff is too big to show here.

output/Data.Semigroup.First/corefn.json−1

This diff is too big to show here.

output/Data.Semigroup.First/docs.json−1

This diff is too big to show here.

output/Data.Semigroup.First/externs.cbor

This diff is too big to show here.

output/Data.Semigroup.First/index.js−101

This diff is too big to show here.

output/Data.Semigroup.First/index.js.map−1

This diff is too big to show here.

output/Data.Semigroup.Foldable/corefn.json−1

This diff is too big to show here.

output/Data.Semigroup.Foldable/docs.json−1

This diff is too big to show here.

output/Data.Semigroup.Foldable/externs.cbor

This diff is too big to show here.

output/Data.Semigroup.Foldable/index.js−347

This diff is too big to show here.

output/Data.Semigroup.Foldable/index.js.map−1

This diff is too big to show here.

output/Data.Semigroup.Generic/corefn.json−1

This diff is too big to show here.

output/Data.Semigroup.Generic/docs.json−1

This diff is too big to show here.

output/Data.Semigroup.Generic/externs.cbor

This diff is too big to show here.

output/Data.Semigroup.Generic/index.js−75

This diff is too big to show here.

output/Data.Semigroup.Generic/index.js.map−1

This diff is too big to show here.

output/Data.Semigroup.Last/corefn.json−1

This diff is too big to show here.

output/Data.Semigroup.Last/docs.json−1

This diff is too big to show here.

output/Data.Semigroup.Last/externs.cbor

This diff is too big to show here.

output/Data.Semigroup.Last/index.js−101

This diff is too big to show here.

output/Data.Semigroup.Last/index.js.map−1

This diff is too big to show here.

output/Data.Semigroup.Traversable/corefn.json−1

This diff is too big to show here.

output/Data.Semigroup.Traversable/docs.json−1

This diff is too big to show here.

output/Data.Semigroup.Traversable/externs.cbor

This diff is too big to show here.

output/Data.Semigroup.Traversable/index.js−127

This diff is too big to show here.

output/Data.Semigroup.Traversable/index.js.map−1

This diff is too big to show here.

output/Data.Semigroup/corefn.json−1

This diff is too big to show here.

output/Data.Semigroup/docs.json−1

This diff is too big to show here.

output/Data.Semigroup/externs.cbor

This diff is too big to show here.

output/Data.Semigroup/foreign.js−13

This diff is too big to show here.

output/Data.Semigroup/index.js−104

This diff is too big to show here.

output/Data.Semigroup/index.js.map−1

This diff is too big to show here.

output/Data.Semiring.Generic/corefn.json−1

This diff is too big to show here.

output/Data.Semiring.Generic/docs.json−1

This diff is too big to show here.

output/Data.Semiring.Generic/externs.cbor

This diff is too big to show here.

output/Data.Semiring.Generic/index.js−142

This diff is too big to show here.

output/Data.Semiring.Generic/index.js.map−1

This diff is too big to show here.

output/Data.Semiring/corefn.json−1

This diff is too big to show here.

output/Data.Semiring/docs.json−1

This diff is too big to show here.

output/Data.Semiring/externs.cbor

This diff is too big to show here.

output/Data.Semiring/foreign.js−25

This diff is too big to show here.

output/Data.Semiring/index.js−212

This diff is too big to show here.

output/Data.Semiring/index.js.map−1

This diff is too big to show here.

output/Data.Set.NonEmpty/corefn.json−1

This diff is too big to show here.

output/Data.Set.NonEmpty/docs.json−1

This diff is too big to show here.

output/Data.Set.NonEmpty/externs.cbor

This diff is too big to show here.

output/Data.Set.NonEmpty/index.js−209

This diff is too big to show here.

output/Data.Set.NonEmpty/index.js.map−1

This diff is too big to show here.

output/Data.Set/corefn.json−1

This diff is too big to show here.

output/Data.Set/docs.json−1

This diff is too big to show here.

output/Data.Set/externs.cbor

This diff is too big to show here.

output/Data.Set/index.js−274

This diff is too big to show here.

output/Data.Set/index.js.map−1

This diff is too big to show here.

output/Data.Show.Generic/corefn.json−1

This diff is too big to show here.

output/Data.Show.Generic/docs.json−1

This diff is too big to show here.

output/Data.Show.Generic/externs.cbor

This diff is too big to show here.

output/Data.Show.Generic/foreign.js−5

This diff is too big to show here.

output/Data.Show.Generic/index.js−97

This diff is too big to show here.

output/Data.Show.Generic/index.js.map−1

This diff is too big to show here.

output/Data.Show/corefn.json−1

This diff is too big to show here.

output/Data.Show/docs.json−1

This diff is too big to show here.

output/Data.Show/externs.cbor

This diff is too big to show here.

output/Data.Show/foreign.js−59

This diff is too big to show here.

output/Data.Show/index.js−124

This diff is too big to show here.

output/Data.Show/index.js.map−1

This diff is too big to show here.

output/Data.String.CaseInsensitive/corefn.json−1

This diff is too big to show here.

output/Data.String.CaseInsensitive/docs.json−1

This diff is too big to show here.

output/Data.String.CaseInsensitive/externs.cbor

This diff is too big to show here.

output/Data.String.CaseInsensitive/index.js−44

This diff is too big to show here.

output/Data.String.CaseInsensitive/index.js.map−1

This diff is too big to show here.

output/Data.String.CodePoints/corefn.json−1

This diff is too big to show here.

output/Data.String.CodePoints/docs.json−1

This diff is too big to show here.

output/Data.String.CodePoints/externs.cbor

This diff is too big to show here.

output/Data.String.CodePoints/foreign.js−107

This diff is too big to show here.

output/Data.String.CodePoints/index.js−358

This diff is too big to show here.

output/Data.String.CodePoints/index.js.map−1

This diff is too big to show here.

output/Data.String.CodeUnits/corefn.json−1

This diff is too big to show here.

output/Data.String.CodeUnits/docs.json−1

This diff is too big to show here.

output/Data.String.CodeUnits/externs.cbor

This diff is too big to show here.

output/Data.String.CodeUnits/foreign.js−116

This diff is too big to show here.

output/Data.String.CodeUnits/index.js−105

This diff is too big to show here.

output/Data.String.CodeUnits/index.js.map−1

This diff is too big to show here.

output/Data.String.Common/corefn.json−1

This diff is too big to show here.

output/Data.String.Common/docs.json−1

This diff is too big to show here.

output/Data.String.Common/externs.cbor

This diff is too big to show here.

output/Data.String.Common/foreign.js−52

This diff is too big to show here.

output/Data.String.Common/index.js−23

This diff is too big to show here.

output/Data.String.Common/index.js.map−1

This diff is too big to show here.

output/Data.String.Gen/corefn.json−1

This diff is too big to show here.

output/Data.String.Gen/docs.json−1

This diff is too big to show here.

output/Data.String.Gen/externs.cbor

This diff is too big to show here.

output/Data.String.Gen/index.js−83

This diff is too big to show here.

output/Data.String.Gen/index.js.map−1

This diff is too big to show here.

output/Data.String.NonEmpty.CaseInsensitive/corefn.json−1

This diff is too big to show here.

output/Data.String.NonEmpty.CaseInsensitive/docs.json−1

This diff is too big to show here.

output/Data.String.NonEmpty.CaseInsensitive/externs.cbor

This diff is too big to show here.

output/Data.String.NonEmpty.CaseInsensitive/index.js−46

This diff is too big to show here.

output/Data.String.NonEmpty.CaseInsensitive/index.js.map−1

This diff is too big to show here.

output/Data.String.NonEmpty.CodePoints/corefn.json−1

This diff is too big to show here.

output/Data.String.NonEmpty.CodePoints/docs.json−1

This diff is too big to show here.

output/Data.String.NonEmpty.CodePoints/externs.cbor

This diff is too big to show here.

output/Data.String.NonEmpty.CodePoints/index.js−146

This diff is too big to show here.

output/Data.String.NonEmpty.CodePoints/index.js.map−1

This diff is too big to show here.

output/Data.String.NonEmpty.CodeUnits/corefn.json−1

This diff is too big to show here.

output/Data.String.NonEmpty.CodeUnits/docs.json−1

This diff is too big to show here.

output/Data.String.NonEmpty.CodeUnits/externs.cbor

This diff is too big to show here.

output/Data.String.NonEmpty.CodeUnits/index.js−176

This diff is too big to show here.

output/Data.String.NonEmpty.CodeUnits/index.js.map−1

This diff is too big to show here.

output/Data.String.NonEmpty.Internal/corefn.json−1

This diff is too big to show here.

output/Data.String.NonEmpty.Internal/docs.json−1

This diff is too big to show here.

output/Data.String.NonEmpty.Internal/externs.cbor

This diff is too big to show here.

output/Data.String.NonEmpty.Internal/index.js−183

This diff is too big to show here.

output/Data.String.NonEmpty.Internal/index.js.map−1

This diff is too big to show here.

output/Data.String.NonEmpty/corefn.json−1

This diff is too big to show here.

output/Data.String.NonEmpty/docs.json−1

This diff is too big to show here.

output/Data.String.NonEmpty/externs.cbor

This diff is too big to show here.

output/Data.String.NonEmpty/index.js−53

This diff is too big to show here.

output/Data.String.NonEmpty/index.js.map−1

This diff is too big to show here.

output/Data.String.Pattern/corefn.json−1

This diff is too big to show here.

output/Data.String.Pattern/docs.json−1

This diff is too big to show here.

output/Data.String.Pattern/externs.cbor

This diff is too big to show here.

output/Data.String.Pattern/index.js−78

This diff is too big to show here.

output/Data.String.Pattern/index.js.map−1

This diff is too big to show here.

output/Data.String.Regex.Flags/corefn.json−1

This diff is too big to show here.

output/Data.String.Regex.Flags/docs.json−1

This diff is too big to show here.

output/Data.String.Regex.Flags/externs.cbor

This diff is too big to show here.

output/Data.String.Regex.Flags/index.js−145

This diff is too big to show here.

output/Data.String.Regex.Flags/index.js.map−1

This diff is too big to show here.

output/Data.String.Regex.Unsafe/corefn.json−1

This diff is too big to show here.

output/Data.String.Regex.Unsafe/docs.json−1

This diff is too big to show here.

output/Data.String.Regex.Unsafe/externs.cbor

This diff is too big to show here.

output/Data.String.Regex.Unsafe/index.js−15

This diff is too big to show here.

output/Data.String.Regex.Unsafe/index.js.map−1

This diff is too big to show here.

output/Data.String.Regex/corefn.json−1

This diff is too big to show here.

output/Data.String.Regex/docs.json−1

This diff is too big to show here.

output/Data.String.Regex/externs.cbor

This diff is too big to show here.

output/Data.String.Regex/foreign.js−103

This diff is too big to show here.

output/Data.String.Regex/index.js−86

This diff is too big to show here.

output/Data.String.Regex/index.js.map−1

This diff is too big to show here.

output/Data.String.Unsafe/corefn.json−1

This diff is too big to show here.

output/Data.String.Unsafe/docs.json−1

This diff is too big to show here.

output/Data.String.Unsafe/externs.cbor

This diff is too big to show here.

output/Data.String.Unsafe/foreign.js−11

This diff is too big to show here.

output/Data.String.Unsafe/index.js−8

This diff is too big to show here.

output/Data.String.Unsafe/index.js.map−1

This diff is too big to show here.

output/Data.String/corefn.json−1

This diff is too big to show here.

output/Data.String/docs.json−1

This diff is too big to show here.

output/Data.String/externs.cbor

This diff is too big to show here.

output/Data.String/index.js−43

This diff is too big to show here.

output/Data.String/index.js.map−1

This diff is too big to show here.

output/Data.Symbol/corefn.json−1

This diff is too big to show here.

output/Data.Symbol/docs.json−1

This diff is too big to show here.

output/Data.Symbol/externs.cbor

This diff is too big to show here.

output/Data.Symbol/foreign.js−6

This diff is too big to show here.

output/Data.Symbol/index.js−22

This diff is too big to show here.

output/Data.Symbol/index.js.map−1

This diff is too big to show here.

output/Data.Time.Component.Gen/corefn.json−1

This diff is too big to show here.

output/Data.Time.Component.Gen/docs.json−1

This diff is too big to show here.

output/Data.Time.Component.Gen/externs.cbor

This diff is too big to show here.

output/Data.Time.Component.Gen/index.js−22

This diff is too big to show here.

output/Data.Time.Component.Gen/index.js.map−1

This diff is too big to show here.

output/Data.Time.Component/corefn.json−1

This diff is too big to show here.

output/Data.Time.Component/docs.json−1

This diff is too big to show here.

output/Data.Time.Component/externs.cbor

This diff is too big to show here.

output/Data.Time.Component/index.js−303

This diff is too big to show here.

output/Data.Time.Component/index.js.map−1

This diff is too big to show here.

output/Data.Time.Duration.Gen/corefn.json−1

This diff is too big to show here.

output/Data.Time.Duration.Gen/docs.json−1

This diff is too big to show here.

output/Data.Time.Duration.Gen/externs.cbor

This diff is too big to show here.

output/Data.Time.Duration.Gen/index.js−27

This diff is too big to show here.

output/Data.Time.Duration.Gen/index.js.map−1

This diff is too big to show here.

output/Data.Time.Duration/corefn.json−1

This diff is too big to show here.

output/Data.Time.Duration/docs.json−1

This diff is too big to show here.

output/Data.Time.Duration/externs.cbor

This diff is too big to show here.

output/Data.Time.Duration/index.js−257

This diff is too big to show here.

output/Data.Time.Duration/index.js.map−1

This diff is too big to show here.

output/Data.Time.Gen/corefn.json−1

This diff is too big to show here.

output/Data.Time.Gen/docs.json−1

This diff is too big to show here.

output/Data.Time.Gen/externs.cbor

This diff is too big to show here.

output/Data.Time.Gen/index.js−20

This diff is too big to show here.

output/Data.Time.Gen/index.js.map−1

This diff is too big to show here.

output/Data.Time/corefn.json−1

This diff is too big to show here.

output/Data.Time/docs.json−1

This diff is too big to show here.

output/Data.Time/externs.cbor

This diff is too big to show here.

output/Data.Time/index.js−211

This diff is too big to show here.

output/Data.Time/index.js.map−1

This diff is too big to show here.

output/Data.Traversable.Accum.Internal/corefn.json−1

This diff is too big to show here.

output/Data.Traversable.Accum.Internal/docs.json−1

This diff is too big to show here.

output/Data.Traversable.Accum.Internal/externs.cbor

This diff is too big to show here.

output/Data.Traversable.Accum.Internal/index.js−112

This diff is too big to show here.

output/Data.Traversable.Accum.Internal/index.js.map−1

This diff is too big to show here.

output/Data.Traversable.Accum/corefn.json−1

This diff is too big to show here.

output/Data.Traversable.Accum/docs.json−1

This diff is too big to show here.

output/Data.Traversable.Accum/externs.cbor

This diff is too big to show here.

output/Data.Traversable.Accum/index.js−3

This diff is too big to show here.

output/Data.Traversable.Accum/index.js.map−1

This diff is too big to show here.

output/Data.Traversable/corefn.json−1

This diff is too big to show here.

output/Data.Traversable/docs.json−1

This diff is too big to show here.

output/Data.Traversable/externs.cbor

This diff is too big to show here.

output/Data.Traversable/foreign.js−52

This diff is too big to show here.

output/Data.Traversable/index.js−656

This diff is too big to show here.

output/Data.Traversable/index.js.map−1

This diff is too big to show here.

output/Data.TraversableWithIndex/corefn.json−1

This diff is too big to show here.

output/Data.TraversableWithIndex/docs.json−1

This diff is too big to show here.

output/Data.TraversableWithIndex/externs.cbor

This diff is too big to show here.

output/Data.TraversableWithIndex/index.js−541

This diff is too big to show here.

output/Data.TraversableWithIndex/index.js.map−1

This diff is too big to show here.

output/Data.Tuple.Nested/corefn.json−1

This diff is too big to show here.

output/Data.Tuple.Nested/docs.json−1

This diff is too big to show here.

output/Data.Tuple.Nested/externs.cbor

This diff is too big to show here.

output/Data.Tuple.Nested/index.js−466

This diff is too big to show here.

output/Data.Tuple.Nested/index.js.map−1

This diff is too big to show here.

output/Data.Tuple/corefn.json−1

This diff is too big to show here.

output/Data.Tuple/docs.json−1

This diff is too big to show here.

output/Data.Tuple/externs.cbor

This diff is too big to show here.

output/Data.Tuple/index.js−396

This diff is too big to show here.

output/Data.Tuple/index.js.map−1

This diff is too big to show here.

output/Data.Unfoldable/corefn.json−1

This diff is too big to show here.

output/Data.Unfoldable/docs.json−1

This diff is too big to show here.

output/Data.Unfoldable/externs.cbor

This diff is too big to show here.

output/Data.Unfoldable/foreign.js−21

This diff is too big to show here.

output/Data.Unfoldable/index.js−84

This diff is too big to show here.

output/Data.Unfoldable/index.js.map−1

This diff is too big to show here.

output/Data.Unfoldable1/corefn.json−1

This diff is too big to show here.

output/Data.Unfoldable1/docs.json−1

This diff is too big to show here.

output/Data.Unfoldable1/externs.cbor

This diff is too big to show here.

output/Data.Unfoldable1/foreign.js−21

This diff is too big to show here.

output/Data.Unfoldable1/index.js−110

This diff is too big to show here.

output/Data.Unfoldable1/index.js.map−1

This diff is too big to show here.

output/Data.Unit/corefn.json−1

This diff is too big to show here.

output/Data.Unit/docs.json−1

This diff is too big to show here.

output/Data.Unit/externs.cbor

This diff is too big to show here.

output/Data.Unit/foreign.js−1

This diff is too big to show here.

output/Data.Unit/index.js−7

This diff is too big to show here.

output/Data.Unit/index.js.map−1

This diff is too big to show here.

output/Data.Variant.Internal/corefn.json−1

This diff is too big to show here.

output/Data.Variant.Internal/docs.json−1

This diff is too big to show here.

output/Data.Variant.Internal/externs.cbor

This diff is too big to show here.

output/Data.Variant.Internal/index.js−532

This diff is too big to show here.

output/Data.Variant.Internal/index.js.map−1

This diff is too big to show here.

output/Data.Variant/corefn.json−1

This diff is too big to show here.

output/Data.Variant/docs.json−1

This diff is too big to show here.

output/Data.Variant/externs.cbor

This diff is too big to show here.

output/Data.Variant/index.js−575

This diff is too big to show here.

output/Data.Variant/index.js.map−1

This diff is too big to show here.

output/Data.Void/corefn.json−1

This diff is too big to show here.

output/Data.Void/docs.json−1

This diff is too big to show here.

output/Data.Void/externs.cbor

This diff is too big to show here.

output/Data.Void/index.js−22

This diff is too big to show here.

output/Data.Void/index.js.map−1

This diff is too big to show here.

output/Data.Yoneda/corefn.json−1

This diff is too big to show here.

output/Data.Yoneda/docs.json−1

This diff is too big to show here.

output/Data.Yoneda/externs.cbor

This diff is too big to show here.

output/Data.Yoneda/index.js−218

This diff is too big to show here.

output/Data.Yoneda/index.js.map−1

This diff is too big to show here.

output/Effect.AVar/corefn.json−1

This diff is too big to show here.

output/Effect.AVar/docs.json−1

This diff is too big to show here.

output/Effect.AVar/externs.cbor

This diff is too big to show here.

output/Effect.AVar/foreign.js−307

This diff is too big to show here.

output/Effect.AVar/index.js−116

This diff is too big to show here.

output/Effect.AVar/index.js.map−1

This diff is too big to show here.

output/Effect.Aff.AVar/corefn.json−1

This diff is too big to show here.

output/Effect.Aff.AVar/docs.json−1

This diff is too big to show here.

output/Effect.Aff.AVar/externs.cbor

This diff is too big to show here.

output/Effect.Aff.AVar/index.js−77

This diff is too big to show here.

output/Effect.Aff.AVar/index.js.map−1

This diff is too big to show here.

output/Effect.Aff.Class/corefn.json−1

This diff is too big to show here.

output/Effect.Aff.Class/docs.json−1

This diff is too big to show here.

output/Effect.Aff.Class/externs.cbor

This diff is too big to show here.

output/Effect.Aff.Class/index.js−174

This diff is too big to show here.

output/Effect.Aff.Class/index.js.map−1

This diff is too big to show here.

output/Effect.Aff.Compat/corefn.json−1

This diff is too big to show here.

output/Effect.Aff.Compat/docs.json−1

This diff is too big to show here.

output/Effect.Aff.Compat/externs.cbor

This diff is too big to show here.

output/Effect.Aff.Compat/index.js−47

This diff is too big to show here.

output/Effect.Aff.Compat/index.js.map−1

This diff is too big to show here.

output/Effect.Aff.Retry/corefn.json−1

This diff is too big to show here.

output/Effect.Aff.Retry/docs.json−1

This diff is too big to show here.

output/Effect.Aff.Retry/externs.cbor

This diff is too big to show here.

output/Effect.Aff.Retry/index.js−366

This diff is too big to show here.

output/Effect.Aff.Retry/index.js.map−1

This diff is too big to show here.

output/Effect.Aff/corefn.json−1

This diff is too big to show here.

output/Effect.Aff/docs.json−1

This diff is too big to show here.

output/Effect.Aff/externs.cbor

This diff is too big to show here.

output/Effect.Aff/foreign.js−1154

This diff is too big to show here.

output/Effect.Aff/index.js−531

This diff is too big to show here.

output/Effect.Aff/index.js.map−1

This diff is too big to show here.

output/Effect.Class.Console/corefn.json−1

This diff is too big to show here.

output/Effect.Class.Console/docs.json−1

This diff is too big to show here.

output/Effect.Class.Console/externs.cbor

This diff is too big to show here.

output/Effect.Class.Console/index.js−158

This diff is too big to show here.

output/Effect.Class.Console/index.js.map−1

This diff is too big to show here.

output/Effect.Class/corefn.json−1

This diff is too big to show here.

output/Effect.Class/docs.json−1

This diff is too big to show here.

output/Effect.Class/externs.cbor

This diff is too big to show here.

output/Effect.Class/index.js−17

This diff is too big to show here.

output/Effect.Class/index.js.map−1

This diff is too big to show here.

output/Effect.Console/corefn.json−1

This diff is too big to show here.

output/Effect.Console/docs.json−1

This diff is too big to show here.

output/Effect.Console/externs.cbor

This diff is too big to show here.

output/Effect.Console/foreign.js−67

This diff is too big to show here.

output/Effect.Console/index.js−66

This diff is too big to show here.

output/Effect.Console/index.js.map−1

This diff is too big to show here.

output/Effect.Exception.Unsafe/corefn.json−1

This diff is too big to show here.

output/Effect.Exception.Unsafe/docs.json−1

This diff is too big to show here.

output/Effect.Exception.Unsafe/externs.cbor

This diff is too big to show here.

output/Effect.Exception.Unsafe/index.js−14

This diff is too big to show here.

output/Effect.Exception.Unsafe/index.js.map−1

This diff is too big to show here.

output/Effect.Exception/corefn.json−1

This diff is too big to show here.

output/Effect.Exception/docs.json−1

This diff is too big to show here.

output/Effect.Exception/externs.cbor

This diff is too big to show here.

output/Effect.Exception/foreign.js−59

This diff is too big to show here.

output/Effect.Exception/index.js−39

This diff is too big to show here.

output/Effect.Exception/index.js.map−1

This diff is too big to show here.

output/Effect.Now/corefn.json−1

This diff is too big to show here.

output/Effect.Now/docs.json−1

This diff is too big to show here.

output/Effect.Now/externs.cbor

This diff is too big to show here.

output/Effect.Now/foreign.js−8

This diff is too big to show here.

output/Effect.Now/index.js−24

This diff is too big to show here.

output/Effect.Now/index.js.map−1

This diff is too big to show here.

output/Effect.Random/corefn.json−1

This diff is too big to show here.

output/Effect.Random/docs.json−1

This diff is too big to show here.

output/Effect.Random/externs.cbor

This diff is too big to show here.

output/Effect.Random/foreign.js−1

This diff is too big to show here.

output/Effect.Random/index.js−34

This diff is too big to show here.

output/Effect.Random/index.js.map−1

This diff is too big to show here.

output/Effect.Ref/corefn.json−1

This diff is too big to show here.

output/Effect.Ref/docs.json−1

This diff is too big to show here.

output/Effect.Ref/externs.cbor

This diff is too big to show here.

output/Effect.Ref/foreign.js−37

This diff is too big to show here.

output/Effect.Ref/index.js−33

This diff is too big to show here.

output/Effect.Ref/index.js.map−1

This diff is too big to show here.

output/Effect.Uncurried/corefn.json−1

This diff is too big to show here.

output/Effect.Uncurried/docs.json−1

This diff is too big to show here.

output/Effect.Uncurried/externs.cbor

This diff is too big to show here.

output/Effect.Uncurried/foreign.js−229

This diff is too big to show here.

output/Effect.Uncurried/index.js−470

This diff is too big to show here.

output/Effect.Uncurried/index.js.map−1

This diff is too big to show here.

output/Effect.Unsafe/corefn.json−1

This diff is too big to show here.

output/Effect.Unsafe/docs.json−1

This diff is too big to show here.

output/Effect.Unsafe/externs.cbor

This diff is too big to show here.

output/Effect.Unsafe/foreign.js−3

This diff is too big to show here.

output/Effect.Unsafe/index.js−7

This diff is too big to show here.

output/Effect.Unsafe/index.js.map−1

This diff is too big to show here.

output/Effect/corefn.json−1

This diff is too big to show here.

output/Effect/docs.json−1

This diff is too big to show here.

output/Effect/externs.cbor

This diff is too big to show here.

output/Effect/foreign.js−51

This diff is too big to show here.

output/Effect/index.js−85

This diff is too big to show here.

output/Effect/index.js.map−1

This diff is too big to show here.

output/ExitCodes/corefn.json−1

This diff is too big to show here.

output/ExitCodes/docs.json−1

This diff is too big to show here.

output/ExitCodes/externs.cbor

This diff is too big to show here.

output/ExitCodes/index.js−1183

This diff is too big to show here.

output/ExitCodes/index.js.map−1

This diff is too big to show here.

output/Foreign.Index/corefn.json−1

This diff is too big to show here.

output/Foreign.Index/docs.json−1

This diff is too big to show here.

output/Foreign.Index/externs.cbor

This diff is too big to show here.

output/Foreign.Index/foreign.js−11

This diff is too big to show here.

output/Foreign.Index/index.js−115

This diff is too big to show here.

output/Foreign.Index/index.js.map−1

This diff is too big to show here.

output/Foreign.Keys/corefn.json−1

This diff is too big to show here.

output/Foreign.Keys/docs.json−1

This diff is too big to show here.

output/Foreign.Keys/externs.cbor

This diff is too big to show here.

output/Foreign.Keys/foreign.js−9

This diff is too big to show here.

output/Foreign.Keys/index.js−29

This diff is too big to show here.

output/Foreign.Keys/index.js.map−1

This diff is too big to show here.

output/Foreign.Object.Gen/corefn.json−1

This diff is too big to show here.

output/Foreign.Object.Gen/docs.json−1

This diff is too big to show here.

output/Foreign.Object.Gen/externs.cbor

This diff is too big to show here.

output/Foreign.Object.Gen/index.js−38

This diff is too big to show here.

output/Foreign.Object.Gen/index.js.map−1

This diff is too big to show here.

output/Foreign.Object.ST.Unsafe/corefn.json−1

This diff is too big to show here.

output/Foreign.Object.ST.Unsafe/docs.json−1

This diff is too big to show here.

output/Foreign.Object.ST.Unsafe/externs.cbor

This diff is too big to show here.

output/Foreign.Object.ST.Unsafe/foreign.js−5

This diff is too big to show here.

output/Foreign.Object.ST.Unsafe/index.js−7

This diff is too big to show here.

output/Foreign.Object.ST.Unsafe/index.js.map−1

This diff is too big to show here.

output/Foreign.Object.ST/corefn.json−1

This diff is too big to show here.

output/Foreign.Object.ST/docs.json−1

This diff is too big to show here.

output/Foreign.Object.ST/externs.cbor

This diff is too big to show here.

output/Foreign.Object.ST/foreign.js−37

This diff is too big to show here.

output/Foreign.Object.ST/index.js−15

This diff is too big to show here.

output/Foreign.Object.ST/index.js.map−1

This diff is too big to show here.

output/Foreign.Object.Unsafe/corefn.json−1

This diff is too big to show here.

output/Foreign.Object.Unsafe/docs.json−1

This diff is too big to show here.

output/Foreign.Object.Unsafe/externs.cbor

This diff is too big to show here.

output/Foreign.Object.Unsafe/foreign.js−5

This diff is too big to show here.

output/Foreign.Object.Unsafe/index.js−7

This diff is too big to show here.

output/Foreign.Object.Unsafe/index.js.map−1

This diff is too big to show here.

output/Foreign.Object/corefn.json−1

This diff is too big to show here.

output/Foreign.Object/docs.json−1

This diff is too big to show here.

output/Foreign.Object/externs.cbor

This diff is too big to show here.

output/Foreign.Object/foreign.js−116

This diff is too big to show here.

output/Foreign.Object/index.js−479

This diff is too big to show here.

output/Foreign.Object/index.js.map−1

This diff is too big to show here.

output/Foreign/corefn.json−1

This diff is too big to show here.

output/Foreign/docs.json−1

This diff is too big to show here.

output/Foreign/externs.cbor

This diff is too big to show here.

output/Foreign/foreign.js−19

This diff is too big to show here.

output/Foreign/index.js−320

This diff is too big to show here.

output/Foreign/index.js.map−1

This diff is too big to show here.

output/Heterogeneous.Folding/corefn.json−1

This diff is too big to show here.

output/Heterogeneous.Folding/docs.json−1

This diff is too big to show here.

output/Heterogeneous.Folding/externs.cbor

This diff is too big to show here.

output/Heterogeneous.Folding/index.js−338

This diff is too big to show here.

output/Heterogeneous.Folding/index.js.map−1

This diff is too big to show here.

output/Heterogeneous.Mapping/corefn.json−1

This diff is too big to show here.

output/Heterogeneous.Mapping/docs.json−1

This diff is too big to show here.

output/Heterogeneous.Mapping/externs.cbor

This diff is too big to show here.

output/Heterogeneous.Mapping/index.js−304

This diff is too big to show here.

output/Heterogeneous.Mapping/index.js.map−1

This diff is too big to show here.

output/Heterogeneous.Variadic/corefn.json−1

This diff is too big to show here.

output/Heterogeneous.Variadic/docs.json−1

This diff is too big to show here.

output/Heterogeneous.Variadic/externs.cbor

This diff is too big to show here.

output/Heterogeneous.Variadic/index.js−83

This diff is too big to show here.

output/Heterogeneous.Variadic/index.js.map−1

This diff is too big to show here.

output/Node.Buffer.Class/corefn.json−1

This diff is too big to show here.

output/Node.Buffer.Class/docs.json−1

This diff is too big to show here.

output/Node.Buffer.Class/externs.cbor

This diff is too big to show here.

output/Node.Buffer.Class/index.js−96

This diff is too big to show here.

output/Node.Buffer.Class/index.js.map−1

This diff is too big to show here.

output/Node.Buffer.Constants/corefn.json−1

This diff is too big to show here.

output/Node.Buffer.Constants/docs.json−1

This diff is too big to show here.

output/Node.Buffer.Constants/externs.cbor

This diff is too big to show here.

output/Node.Buffer.Constants/foreign.js−5

This diff is too big to show here.

output/Node.Buffer.Constants/index.js−9

This diff is too big to show here.

output/Node.Buffer.Constants/index.js.map−1

This diff is too big to show here.

output/Node.Buffer.Immutable/corefn.json−1

This diff is too big to show here.

output/Node.Buffer.Immutable/docs.json−1

This diff is too big to show here.

output/Node.Buffer.Immutable/externs.cbor

This diff is too big to show here.

output/Node.Buffer.Immutable/foreign.js−45

This diff is too big to show here.

output/Node.Buffer.Immutable/index.js−144

This diff is too big to show here.

output/Node.Buffer.Immutable/index.js.map−1

This diff is too big to show here.

output/Node.Buffer.ST/corefn.json−1

This diff is too big to show here.

output/Node.Buffer.ST/docs.json−1

This diff is too big to show here.

output/Node.Buffer.ST/externs.cbor

This diff is too big to show here.

output/Node.Buffer.ST/index.js−105

This diff is too big to show here.

output/Node.Buffer.ST/index.js.map−1

This diff is too big to show here.

output/Node.Buffer.Types/corefn.json−1

This diff is too big to show here.

output/Node.Buffer.Types/docs.json−1

This diff is too big to show here.

output/Node.Buffer.Types/externs.cbor

This diff is too big to show here.

output/Node.Buffer.Types/index.js−164

This diff is too big to show here.

output/Node.Buffer.Types/index.js.map−1

This diff is too big to show here.

output/Node.Buffer/corefn.json−1

This diff is too big to show here.

output/Node.Buffer/docs.json−1

This diff is too big to show here.

output/Node.Buffer/externs.cbor

This diff is too big to show here.

output/Node.Buffer/foreign.js−33

This diff is too big to show here.

output/Node.Buffer/index.js−276

This diff is too big to show here.

output/Node.Buffer/index.js.map−1

This diff is too big to show here.

output/Node.Encoding/corefn.json−1

This diff is too big to show here.

output/Node.Encoding/docs.json−1

This diff is too big to show here.

output/Node.Encoding/externs.cbor

This diff is too big to show here.

output/Node.Encoding/foreign.js−3

This diff is too big to show here.

output/Node.Encoding/index.js−147

This diff is too big to show here.

output/Node.Encoding/index.js.map−1

This diff is too big to show here.

output/Node.EventEmitter.UtilTypes/corefn.json−1

This diff is too big to show here.

output/Node.EventEmitter.UtilTypes/docs.json−1

This diff is too big to show here.

output/Node.EventEmitter.UtilTypes/externs.cbor

This diff is too big to show here.

output/Node.EventEmitter.UtilTypes/index.js−3

This diff is too big to show here.

output/Node.EventEmitter.UtilTypes/index.js.map−1

This diff is too big to show here.

output/Node.EventEmitter/corefn.json−1

This diff is too big to show here.

output/Node.EventEmitter/docs.json−1

This diff is too big to show here.

output/Node.EventEmitter/externs.cbor

This diff is too big to show here.

output/Node.EventEmitter/foreign.js−24

This diff is too big to show here.

output/Node.EventEmitter/index.js−154

This diff is too big to show here.

output/Node.EventEmitter/index.js.map−1

This diff is too big to show here.

output/Node.FS.Aff/corefn.json−1

This diff is too big to show here.

output/Node.FS.Aff/docs.json−1

This diff is too big to show here.

output/Node.FS.Aff/externs.cbor

This diff is too big to show here.

output/Node.FS.Aff/index.js−145

This diff is too big to show here.

output/Node.FS.Aff/index.js.map−1

This diff is too big to show here.

output/Node.FS.Async/corefn.json−1

This diff is too big to show here.

output/Node.FS.Async/docs.json−1

This diff is too big to show here.

output/Node.FS.Async/externs.cbor

This diff is too big to show here.

output/Node.FS.Async/foreign.js−28

This diff is too big to show here.

output/Node.FS.Async/index.js−422

This diff is too big to show here.

output/Node.FS.Async/index.js.map−1

This diff is too big to show here.

output/Node.FS.Constants/corefn.json−1

This diff is too big to show here.

output/Node.FS.Constants/docs.json−1

This diff is too big to show here.

output/Node.FS.Constants/externs.cbor

This diff is too big to show here.

output/Node.FS.Constants/foreign.js−17

This diff is too big to show here.

output/Node.FS.Constants/index.js−215

This diff is too big to show here.

output/Node.FS.Constants/index.js.map−1

This diff is too big to show here.

output/Node.FS.Perms/corefn.json−1

This diff is too big to show here.

output/Node.FS.Perms/docs.json−1

This diff is too big to show here.

output/Node.FS.Perms/externs.cbor

This diff is too big to show here.

output/Node.FS.Perms/index.js−298

This diff is too big to show here.

output/Node.FS.Perms/index.js.map−1

This diff is too big to show here.

output/Node.FS.Stats/corefn.json−1

This diff is too big to show here.

output/Node.FS.Stats/docs.json−1

This diff is too big to show here.

output/Node.FS.Stats/externs.cbor

This diff is too big to show here.

output/Node.FS.Stats/foreign.js−27

This diff is too big to show here.

output/Node.FS.Stats/index.js−142

This diff is too big to show here.

output/Node.FS.Stats/index.js.map−1

This diff is too big to show here.

output/Node.FS.Stream/corefn.json−1

This diff is too big to show here.

output/Node.FS.Stream/docs.json−1

This diff is too big to show here.

output/Node.FS.Stream/externs.cbor

This diff is too big to show here.

output/Node.FS.Stream/foreign.js−11

This diff is too big to show here.

output/Node.FS.Stream/index.js−69

This diff is too big to show here.

output/Node.FS.Stream/index.js.map−1

This diff is too big to show here.

output/Node.FS.Sync/corefn.json−1

This diff is too big to show here.

output/Node.FS.Sync/docs.json−1

This diff is too big to show here.

output/Node.FS.Sync/externs.cbor

This diff is too big to show here.

output/Node.FS.Sync/foreign.js−30

This diff is too big to show here.

output/Node.FS.Sync/index.js−359

This diff is too big to show here.

output/Node.FS.Sync/index.js.map−1

This diff is too big to show here.

output/Node.FS/corefn.json−1

This diff is too big to show here.

output/Node.FS/docs.json−1

This diff is too big to show here.

output/Node.FS/externs.cbor

This diff is too big to show here.

output/Node.FS/index.js−89

This diff is too big to show here.

output/Node.FS/index.js.map−1

This diff is too big to show here.

output/Node.Path/corefn.json−1

This diff is too big to show here.

output/Node.Path/docs.json−1

This diff is too big to show here.

output/Node.Path/externs.cbor

This diff is too big to show here.

output/Node.Path/foreign.js−30

This diff is too big to show here.

output/Node.Path/index.js−18

This diff is too big to show here.

output/Node.Path/index.js.map−1

This diff is too big to show here.

output/Node.Platform/corefn.json−1

This diff is too big to show here.

output/Node.Platform/docs.json−1

This diff is too big to show here.

output/Node.Platform/externs.cbor

This diff is too big to show here.

output/Node.Platform/index.js−265

This diff is too big to show here.

output/Node.Platform/index.js.map−1

This diff is too big to show here.

output/Node.Process/corefn.json−1

This diff is too big to show here.

output/Node.Process/docs.json−1

This diff is too big to show here.

output/Node.Process/externs.cbor

This diff is too big to show here.

output/Node.Process/foreign.js−65

This diff is too big to show here.

output/Node.Process/index.js−289

This diff is too big to show here.

output/Node.Process/index.js.map−1

This diff is too big to show here.

output/Node.Stream.Aff/corefn.json−1

This diff is too big to show here.

output/Node.Stream.Aff/docs.json−1

This diff is too big to show here.

output/Node.Stream.Aff/externs.cbor

This diff is too big to show here.

output/Node.Stream.Aff/index.js−518

This diff is too big to show here.

output/Node.Stream.Aff/index.js.map−1

This diff is too big to show here.

output/Node.Stream/corefn.json−1

This diff is too big to show here.

output/Node.Stream/docs.json−1

This diff is too big to show here.

output/Node.Stream/externs.cbor

This diff is too big to show here.

output/Node.Stream/foreign.js−97

This diff is too big to show here.

output/Node.Stream/index.js−482

This diff is too big to show here.

output/Node.Stream/index.js.map−1

This diff is too big to show here.

output/Node.Symbol/corefn.json−1

This diff is too big to show here.

output/Node.Symbol/docs.json−1

This diff is too big to show here.

output/Node.Symbol/externs.cbor

This diff is too big to show here.

output/Node.Symbol/foreign.js−3

This diff is too big to show here.

output/Node.Symbol/index.js−36

This diff is too big to show here.

output/Node.Symbol/index.js.map−1

This diff is too big to show here.

output/Options.Applicative.BashCompletion/corefn.json−1

This diff is too big to show here.

output/Options.Applicative.BashCompletion/docs.json−1

This diff is too big to show here.

output/Options.Applicative.BashCompletion/externs.cbor

This diff is too big to show here.

output/Options.Applicative.BashCompletion/index.js−351

This diff is too big to show here.

output/Options.Applicative.BashCompletion/index.js.map−1

This diff is too big to show here.

output/Options.Applicative.Builder.Completer/corefn.json−1

This diff is too big to show here.

output/Options.Applicative.Builder.Completer/docs.json−1

This diff is too big to show here.

output/Options.Applicative.Builder.Completer/externs.cbor

This diff is too big to show here.

output/Options.Applicative.Builder.Completer/foreign.js−8

This diff is too big to show here.

output/Options.Applicative.Builder.Completer/index.js−152

This diff is too big to show here.

output/Options.Applicative.Builder.Completer/index.js.map−1

This diff is too big to show here.

output/Options.Applicative.Builder.Internal/corefn.json−1

This diff is too big to show here.

output/Options.Applicative.Builder.Internal/docs.json−1

This diff is too big to show here.

output/Options.Applicative.Builder.Internal/externs.cbor

This diff is too big to show here.

output/Options.Applicative.Builder.Internal/index.js−305

This diff is too big to show here.

output/Options.Applicative.Builder.Internal/index.js.map−1

This diff is too big to show here.

output/Options.Applicative.Builder/corefn.json−1

This diff is too big to show here.

output/Options.Applicative.Builder/docs.json−1

This diff is too big to show here.

output/Options.Applicative.Builder/externs.cbor

This diff is too big to show here.

output/Options.Applicative.Builder/index.js−649

This diff is too big to show here.

output/Options.Applicative.Builder/index.js.map−1

This diff is too big to show here.

output/Options.Applicative.Common/corefn.json−1

This diff is too big to show here.

output/Options.Applicative.Common/docs.json−1

This diff is too big to show here.

output/Options.Applicative.Common/externs.cbor

This diff is too big to show here.

output/Options.Applicative.Common/index.js−672

This diff is too big to show here.

output/Options.Applicative.Common/index.js.map−1

This diff is too big to show here.

output/Options.Applicative.Extra/corefn.json−1

This diff is too big to show here.

output/Options.Applicative.Extra/docs.json−1

This diff is too big to show here.

output/Options.Applicative.Extra/externs.cbor

This diff is too big to show here.

output/Options.Applicative.Extra/index.js−348

This diff is too big to show here.

output/Options.Applicative.Extra/index.js.map−1

This diff is too big to show here.

output/Options.Applicative.Help.Chunk/corefn.json−1

This diff is too big to show here.

output/Options.Applicative.Help.Chunk/docs.json−1

This diff is too big to show here.

output/Options.Applicative.Help.Chunk/externs.cbor

This diff is too big to show here.

output/Options.Applicative.Help.Chunk/index.js−178

This diff is too big to show here.

output/Options.Applicative.Help.Chunk/index.js.map−1

This diff is too big to show here.

output/Options.Applicative.Help.Core/corefn.json−1

This diff is too big to show here.

output/Options.Applicative.Help.Core/docs.json−1

This diff is too big to show here.

output/Options.Applicative.Help.Core/externs.cbor

This diff is too big to show here.

output/Options.Applicative.Help.Core/index.js−325

This diff is too big to show here.

output/Options.Applicative.Help.Core/index.js.map−1

This diff is too big to show here.

output/Options.Applicative.Help.Levenshtein/corefn.json−1

This diff is too big to show here.

output/Options.Applicative.Help.Levenshtein/docs.json−1

This diff is too big to show here.

output/Options.Applicative.Help.Levenshtein/externs.cbor

This diff is too big to show here.

output/Options.Applicative.Help.Levenshtein/index.js−60

This diff is too big to show here.

output/Options.Applicative.Help.Levenshtein/index.js.map−1

This diff is too big to show here.

output/Options.Applicative.Help.Pretty/corefn.json−1

This diff is too big to show here.

output/Options.Applicative.Help.Pretty/docs.json−1

This diff is too big to show here.

output/Options.Applicative.Help.Pretty/externs.cbor

This diff is too big to show here.

output/Options.Applicative.Help.Pretty/index.js−108

This diff is too big to show here.

output/Options.Applicative.Help.Pretty/index.js.map−1

This diff is too big to show here.

output/Options.Applicative.Help.Types/corefn.json−1

This diff is too big to show here.

output/Options.Applicative.Help.Types/docs.json−1

This diff is too big to show here.

output/Options.Applicative.Help.Types/externs.cbor

This diff is too big to show here.

output/Options.Applicative.Help.Types/index.js−76

This diff is too big to show here.

output/Options.Applicative.Help.Types/index.js.map−1

This diff is too big to show here.

output/Options.Applicative.Help/corefn.json−1

This diff is too big to show here.

output/Options.Applicative.Help/docs.json−1

This diff is too big to show here.

output/Options.Applicative.Help/externs.cbor

This diff is too big to show here.

output/Options.Applicative.Help/index.js−141

This diff is too big to show here.

output/Options.Applicative.Help/index.js.map−1

This diff is too big to show here.

output/Options.Applicative.Internal.Utils/corefn.json−1

This diff is too big to show here.

output/Options.Applicative.Internal.Utils/docs.json−1

This diff is too big to show here.

output/Options.Applicative.Internal.Utils/externs.cbor

This diff is too big to show here.

output/Options.Applicative.Internal.Utils/index.js−60

This diff is too big to show here.

output/Options.Applicative.Internal.Utils/index.js.map−1

This diff is too big to show here.

output/Options.Applicative.Internal/corefn.json−1

This diff is too big to show here.

output/Options.Applicative.Internal/docs.json−1

This diff is too big to show here.

output/Options.Applicative.Internal/externs.cbor

This diff is too big to show here.

output/Options.Applicative.Internal/index.js−858

This diff is too big to show here.

output/Options.Applicative.Internal/index.js.map−1

This diff is too big to show here.

output/Options.Applicative.Types/corefn.json−1

This diff is too big to show here.

output/Options.Applicative.Types/docs.json−1

This diff is too big to show here.

output/Options.Applicative.Types/externs.cbor

This diff is too big to show here.

output/Options.Applicative.Types/index.js−1614

This diff is too big to show here.

output/Options.Applicative.Types/index.js.map−1

This diff is too big to show here.

output/Options.Applicative/corefn.json−1

This diff is too big to show here.

output/Options.Applicative/docs.json−1

This diff is too big to show here.

output/Options.Applicative/externs.cbor

This diff is too big to show here.

output/Options.Applicative/index.js−104

This diff is too big to show here.

output/Options.Applicative/index.js.map−1

This diff is too big to show here.

output/Partial.Unsafe/corefn.json−1

This diff is too big to show here.

output/Partial.Unsafe/docs.json−1

This diff is too big to show here.

output/Partial.Unsafe/externs.cbor

This diff is too big to show here.

output/Partial.Unsafe/foreign.js−5

This diff is too big to show here.

output/Partial.Unsafe/index.js−15

This diff is too big to show here.

output/Partial.Unsafe/index.js.map−1

This diff is too big to show here.

output/Partial/corefn.json−1

This diff is too big to show here.

output/Partial/docs.json−1

This diff is too big to show here.

output/Partial/externs.cbor

This diff is too big to show here.

output/Partial/foreign.js−5

This diff is too big to show here.

output/Partial/index.js−14

This diff is too big to show here.

output/Partial/index.js.map−1

This diff is too big to show here.

output/Pipes.Core/corefn.json−1

This diff is too big to show here.

output/Pipes.Core/docs.json−1

This diff is too big to show here.

output/Pipes.Core/externs.cbor

This diff is too big to show here.

output/Pipes.Core/index.js−336

This diff is too big to show here.

output/Pipes.Core/index.js.map−1

This diff is too big to show here.

output/Pipes.Internal/corefn.json−1

This diff is too big to show here.

output/Pipes.Internal/docs.json−1

This diff is too big to show here.

output/Pipes.Internal/externs.cbor

This diff is too big to show here.

output/Pipes.Internal/index.js−732

This diff is too big to show here.

output/Pipes.Internal/index.js.map−1

This diff is too big to show here.

output/Pipes.ListT/corefn.json−1

This diff is too big to show here.

output/Pipes.ListT/docs.json−1

This diff is too big to show here.

output/Pipes.ListT/externs.cbor

This diff is too big to show here.

output/Pipes.ListT/index.js−458

This diff is too big to show here.

output/Pipes.ListT/index.js.map−1

This diff is too big to show here.

output/Pipes.Prelude/corefn.json−1

This diff is too big to show here.

output/Pipes.Prelude/docs.json−1

This diff is too big to show here.

output/Pipes.Prelude/externs.cbor

This diff is too big to show here.

output/Pipes.Prelude/index.js−772

This diff is too big to show here.

output/Pipes.Prelude/index.js.map−1

This diff is too big to show here.

output/Pipes/corefn.json−1

This diff is too big to show here.

output/Pipes/docs.json−1

This diff is too big to show here.

output/Pipes/externs.cbor

This diff is too big to show here.

output/Pipes/index.js−108

This diff is too big to show here.

output/Pipes/index.js.map−1

This diff is too big to show here.

output/Prelude/corefn.json−1

This diff is too big to show here.

output/Prelude/docs.json−1

This diff is too big to show here.

output/Prelude/externs.cbor

This diff is too big to show here.

output/Prelude/index.js−130

This diff is too big to show here.

output/Prelude/index.js.map−1

This diff is too big to show here.

output/Prim.Boolean/docs.json−1

This diff is too big to show here.

output/Prim.Coerce/docs.json−1

This diff is too big to show here.

output/Prim.Int/docs.json−1

This diff is too big to show here.

output/Prim.Ordering/docs.json−1

This diff is too big to show here.

output/Prim.Row/docs.json−1

This diff is too big to show here.

output/Prim.RowList/docs.json−1

This diff is too big to show here.

output/Prim.Symbol/docs.json−1

This diff is too big to show here.

output/Prim.TypeError/docs.json−1

This diff is too big to show here.

output/Prim/docs.json−1

This diff is too big to show here.

output/Record.Builder/corefn.json−1

This diff is too big to show here.

output/Record.Builder/docs.json−1

This diff is too big to show here.

output/Record.Builder/externs.cbor

This diff is too big to show here.

output/Record.Builder/foreign.js−44

This diff is too big to show here.

output/Record.Builder/index.js−131

This diff is too big to show here.

output/Record.Builder/index.js.map−1

This diff is too big to show here.

output/Record.Studio.Keys/corefn.json−1

This diff is too big to show here.

output/Record.Studio.Keys/docs.json−1

This diff is too big to show here.

output/Record.Studio.Keys/externs.cbor

This diff is too big to show here.

output/Record.Studio.Keys/index.js−58

This diff is too big to show here.

output/Record.Studio.Keys/index.js.map−1

This diff is too big to show here.

output/Record.Studio.Map/corefn.json−1

This diff is too big to show here.

output/Record.Studio.Map/docs.json−1

This diff is too big to show here.

output/Record.Studio.Map/externs.cbor

This diff is too big to show here.

output/Record.Studio.Map/index.js−97

This diff is too big to show here.

output/Record.Studio.Map/index.js.map−1

This diff is too big to show here.

output/Record.Studio.MapKind/corefn.json−1

This diff is too big to show here.

output/Record.Studio.MapKind/docs.json−1

This diff is too big to show here.

output/Record.Studio.MapKind/externs.cbor

This diff is too big to show here.

output/Record.Studio.MapKind/index.js−97

This diff is too big to show here.

output/Record.Studio.MapKind/index.js.map−1

This diff is too big to show here.

output/Record.Studio.MapUniform/corefn.json−1

This diff is too big to show here.

output/Record.Studio.MapUniform/docs.json−1

This diff is too big to show here.

output/Record.Studio.MapUniform/externs.cbor

This diff is too big to show here.

output/Record.Studio.MapUniform/index.js−64

This diff is too big to show here.

output/Record.Studio.MapUniform/index.js.map−1

This diff is too big to show here.

output/Record.Studio.Merge/corefn.json−1

This diff is too big to show here.

output/Record.Studio.Merge/docs.json−1

This diff is too big to show here.

output/Record.Studio.Merge/externs.cbor

This diff is too big to show here.

output/Record.Studio.Merge/index.js−13

This diff is too big to show here.

output/Record.Studio.Merge/index.js.map−1

This diff is too big to show here.

output/Record.Studio.SameKeys/corefn.json−1

This diff is too big to show here.

output/Record.Studio.SameKeys/docs.json−1

This diff is too big to show here.

output/Record.Studio.SameKeys/externs.cbor

This diff is too big to show here.

output/Record.Studio.SameKeys/index.js−28

This diff is too big to show here.

output/Record.Studio.SameKeys/index.js.map−1

This diff is too big to show here.

output/Record.Studio.Sequence/corefn.json−1

This diff is too big to show here.

output/Record.Studio.Sequence/docs.json−1

This diff is too big to show here.

output/Record.Studio.Sequence/externs.cbor

This diff is too big to show here.

output/Record.Studio.Sequence/index.js−117

This diff is too big to show here.

output/Record.Studio.Sequence/index.js.map−1

This diff is too big to show here.

output/Record.Studio.Shrink/corefn.json−1

This diff is too big to show here.

output/Record.Studio.Shrink/docs.json−1

This diff is too big to show here.

output/Record.Studio.Shrink/externs.cbor

This diff is too big to show here.

output/Record.Studio.Shrink/foreign.js−6

This diff is too big to show here.

output/Record.Studio.Shrink/index.js−13

This diff is too big to show here.

output/Record.Studio.Shrink/index.js.map−1

This diff is too big to show here.

output/Record.Studio.SingletonRecord/corefn.json−1

This diff is too big to show here.

output/Record.Studio.SingletonRecord/docs.json−1

This diff is too big to show here.

output/Record.Studio.SingletonRecord/externs.cbor

This diff is too big to show here.

output/Record.Studio.SingletonRecord/foreign.js−2

This diff is too big to show here.

output/Record.Studio.SingletonRecord/index.js−73

This diff is too big to show here.

output/Record.Studio.SingletonRecord/index.js.map−1

This diff is too big to show here.

output/Record.Studio/corefn.json−1

This diff is too big to show here.

output/Record.Studio/docs.json−1

This diff is too big to show here.

output/Record.Studio/externs.cbor

This diff is too big to show here.

output/Record.Studio/index.js−42

This diff is too big to show here.

output/Record.Studio/index.js.map−1

This diff is too big to show here.

output/Record.Unsafe.Union/corefn.json−1

This diff is too big to show here.

output/Record.Unsafe.Union/docs.json−1

This diff is too big to show here.

output/Record.Unsafe.Union/externs.cbor

This diff is too big to show here.

output/Record.Unsafe.Union/foreign.js−14

This diff is too big to show here.

output/Record.Unsafe.Union/index.js−11

This diff is too big to show here.

output/Record.Unsafe.Union/index.js.map−1

This diff is too big to show here.

output/Record.Unsafe/corefn.json−1

This diff is too big to show here.

output/Record.Unsafe/docs.json−1

This diff is too big to show here.

output/Record.Unsafe/externs.cbor

This diff is too big to show here.

output/Record.Unsafe/foreign.js−38

This diff is too big to show here.

output/Record.Unsafe/index.js−10

This diff is too big to show here.

output/Record.Unsafe/index.js.map−1

This diff is too big to show here.

output/Record/corefn.json−1

This diff is too big to show here.

output/Record/docs.json−1

This diff is too big to show here.

output/Record/externs.cbor

This diff is too big to show here.

output/Record/index.js−183

This diff is too big to show here.

output/Record/index.js.map−1

This diff is too big to show here.

output/Safe.Coerce/corefn.json−1

This diff is too big to show here.

output/Safe.Coerce/docs.json−1

This diff is too big to show here.

output/Safe.Coerce/externs.cbor

This diff is too big to show here.

output/Safe.Coerce/index.js−9

This diff is too big to show here.

output/Safe.Coerce/index.js.map−1

This diff is too big to show here.

output/Spago.Generated.BuildInfo/corefn.json−1

This diff is too big to show here.

output/Spago.Generated.BuildInfo/docs.json−1

This diff is too big to show here.

output/Spago.Generated.BuildInfo/externs.cbor

This diff is too big to show here.

output/Spago.Generated.BuildInfo/index.js−12

This diff is too big to show here.

output/Spago.Generated.BuildInfo/index.js.map−1

This diff is too big to show here.

output/Test.Main/corefn.json−1

This diff is too big to show here.

output/Test.Main/docs.json−1

This diff is too big to show here.

output/Test.Main/externs.cbor

This diff is too big to show here.

output/Test.Main/index.js−8

This diff is too big to show here.

output/Test.Main/index.js.map−1

This diff is too big to show here.

output/Test.Spec.Assertions.String/corefn.json−1

This diff is too big to show here.

output/Test.Spec.Assertions.String/docs.json−1

This diff is too big to show here.

output/Test.Spec.Assertions.String/externs.cbor

This diff is too big to show here.

output/Test.Spec.Assertions.String/foreign.js−13

This diff is too big to show here.

output/Test.Spec.Assertions.String/index.js−50

This diff is too big to show here.

output/Test.Spec.Assertions.String/index.js.map−1

This diff is too big to show here.

output/Test.Spec.Assertions/corefn.json−1

This diff is too big to show here.

output/Test.Spec.Assertions/docs.json−1

This diff is too big to show here.

output/Test.Spec.Assertions/externs.cbor

This diff is too big to show here.

output/Test.Spec.Assertions/foreign.js−1

This diff is too big to show here.

output/Test.Spec.Assertions/index.js−193

This diff is too big to show here.

output/Test.Spec.Assertions/index.js.map−1

This diff is too big to show here.

output/Test.Spec.Config/corefn.json−1

This diff is too big to show here.

output/Test.Spec.Config/docs.json−1

This diff is too big to show here.

output/Test.Spec.Config/externs.cbor

This diff is too big to show here.

output/Test.Spec.Config/index.js−20

This diff is too big to show here.

output/Test.Spec.Config/index.js.map−1

This diff is too big to show here.

output/Test.Spec.Console/corefn.json−1

This diff is too big to show here.

output/Test.Spec.Console/docs.json−1

This diff is too big to show here.

output/Test.Spec.Console/externs.cbor

This diff is too big to show here.

output/Test.Spec.Console/foreign.js−13

This diff is too big to show here.

output/Test.Spec.Console/index.js−43

This diff is too big to show here.

output/Test.Spec.Console/index.js.map−1

This diff is too big to show here.

output/Test.Spec.Discovery/corefn.json−1

This diff is too big to show here.

output/Test.Spec.Discovery/docs.json−1

This diff is too big to show here.

output/Test.Spec.Discovery/externs.cbor

This diff is too big to show here.

output/Test.Spec.Discovery/foreign.js−36

This diff is too big to show here.

output/Test.Spec.Discovery/index.js−45

This diff is too big to show here.

output/Test.Spec.Discovery/index.js.map−1

This diff is too big to show here.

output/Test.Spec.Reporter.Base/corefn.json−1

This diff is too big to show here.

output/Test.Spec.Reporter.Base/docs.json−1

This diff is too big to show here.

output/Test.Spec.Reporter.Base/externs.cbor

This diff is too big to show here.

output/Test.Spec.Reporter.Base/index.js−327

This diff is too big to show here.

output/Test.Spec.Reporter.Base/index.js.map−1

This diff is too big to show here.

output/Test.Spec.Reporter.Console/corefn.json−1

This diff is too big to show here.

output/Test.Spec.Reporter.Console/docs.json−1

This diff is too big to show here.

output/Test.Spec.Reporter.Console/externs.cbor

This diff is too big to show here.

output/Test.Spec.Reporter.Console/index.js−249

This diff is too big to show here.

output/Test.Spec.Reporter.Console/index.js.map−1

This diff is too big to show here.

output/Test.Spec.Reporter.Dot/corefn.json−1

This diff is too big to show here.

output/Test.Spec.Reporter.Dot/docs.json−1

This diff is too big to show here.

output/Test.Spec.Reporter.Dot/externs.cbor

This diff is too big to show here.

output/Test.Spec.Reporter.Dot/index.js−58

This diff is too big to show here.

output/Test.Spec.Reporter.Dot/index.js.map−1

This diff is too big to show here.

output/Test.Spec.Reporter.Spec/corefn.json−1

This diff is too big to show here.

output/Test.Spec.Reporter.Spec/docs.json−1

This diff is too big to show here.

output/Test.Spec.Reporter.Spec/externs.cbor

This diff is too big to show here.

output/Test.Spec.Reporter.Spec/index.js−209

This diff is too big to show here.

output/Test.Spec.Reporter.Spec/index.js.map−1

This diff is too big to show here.

output/Test.Spec.Reporter.Tap/corefn.json−1

This diff is too big to show here.

output/Test.Spec.Reporter.Tap/docs.json−1

This diff is too big to show here.

output/Test.Spec.Reporter.Tap/externs.cbor

This diff is too big to show here.

output/Test.Spec.Reporter.Tap/index.js−100

This diff is too big to show here.

output/Test.Spec.Reporter.Tap/index.js.map−1

This diff is too big to show here.

output/Test.Spec.Reporter.TeamCity/corefn.json−1

This diff is too big to show here.

output/Test.Spec.Reporter.TeamCity/docs.json−1

This diff is too big to show here.

output/Test.Spec.Reporter.TeamCity/externs.cbor

This diff is too big to show here.

output/Test.Spec.Reporter.TeamCity/index.js−183

This diff is too big to show here.

output/Test.Spec.Reporter.TeamCity/index.js.map−1

This diff is too big to show here.

output/Test.Spec.Reporter/corefn.json−1

This diff is too big to show here.

output/Test.Spec.Reporter/docs.json−1

This diff is too big to show here.

output/Test.Spec.Reporter/externs.cbor

This diff is too big to show here.

output/Test.Spec.Reporter/index.js−24

This diff is too big to show here.

output/Test.Spec.Reporter/index.js.map−1

This diff is too big to show here.

output/Test.Spec.Result/corefn.json−1

This diff is too big to show here.

output/Test.Spec.Result/docs.json−1

This diff is too big to show here.

output/Test.Spec.Result/externs.cbor

This diff is too big to show here.

output/Test.Spec.Result/index.js−66

This diff is too big to show here.

output/Test.Spec.Result/index.js.map−1

This diff is too big to show here.

output/Test.Spec.Runner.Event/corefn.json−1

This diff is too big to show here.

output/Test.Spec.Runner.Event/docs.json−1

This diff is too big to show here.

output/Test.Spec.Runner.Event/externs.cbor

This diff is too big to show here.

output/Test.Spec.Runner.Event/index.js−146

This diff is too big to show here.

output/Test.Spec.Runner.Event/index.js.map−1

This diff is too big to show here.

output/Test.Spec.Runner.Node.Config/corefn.json−1

This diff is too big to show here.

output/Test.Spec.Runner.Node.Config/docs.json−1

This diff is too big to show here.

output/Test.Spec.Runner.Node.Config/externs.cbor

This diff is too big to show here.

output/Test.Spec.Runner.Node.Config/index.js−274

This diff is too big to show here.

output/Test.Spec.Runner.Node.Config/index.js.map−1

This diff is too big to show here.

output/Test.Spec.Runner.Node.Persist/corefn.json−1

This diff is too big to show here.

output/Test.Spec.Runner.Node.Persist/docs.json−1

This diff is too big to show here.

output/Test.Spec.Runner.Node.Persist/externs.cbor

This diff is too big to show here.

output/Test.Spec.Runner.Node.Persist/index.js−131

This diff is too big to show here.

output/Test.Spec.Runner.Node.Persist/index.js.map−1

This diff is too big to show here.

output/Test.Spec.Runner.Node/corefn.json−1

This diff is too big to show here.

output/Test.Spec.Runner.Node/docs.json−1

This diff is too big to show here.

output/Test.Spec.Runner.Node/externs.cbor

This diff is too big to show here.

output/Test.Spec.Runner.Node/index.js−110

This diff is too big to show here.

output/Test.Spec.Runner.Node/index.js.map−1

This diff is too big to show here.

output/Test.Spec.Runner/corefn.json−1

This diff is too big to show here.

output/Test.Spec.Runner/docs.json−1

This diff is too big to show here.

output/Test.Spec.Runner/externs.cbor

This diff is too big to show here.

output/Test.Spec.Runner/foreign.js−20

This diff is too big to show here.

output/Test.Spec.Runner/index.js−346

This diff is too big to show here.

output/Test.Spec.Runner/index.js.map−1

This diff is too big to show here.

output/Test.Spec.Speed/corefn.json−1

This diff is too big to show here.

output/Test.Spec.Speed/docs.json−1

This diff is too big to show here.

output/Test.Spec.Speed/externs.cbor

This diff is too big to show here.

output/Test.Spec.Speed/index.js−110

This diff is too big to show here.

output/Test.Spec.Speed/index.js.map−1

This diff is too big to show here.

output/Test.Spec.Style/corefn.json−1

This diff is too big to show here.

output/Test.Spec.Style/docs.json−1

This diff is too big to show here.

output/Test.Spec.Style/externs.cbor

This diff is too big to show here.

output/Test.Spec.Style/index.js−56

This diff is too big to show here.

output/Test.Spec.Style/index.js.map−1

This diff is too big to show here.

output/Test.Spec.Summary/corefn.json−1

This diff is too big to show here.

output/Test.Spec.Summary/docs.json−1

This diff is too big to show here.

output/Test.Spec.Summary/externs.cbor

This diff is too big to show here.

output/Test.Spec.Summary/index.js−97

This diff is too big to show here.

output/Test.Spec.Summary/index.js.map−1

This diff is too big to show here.

output/Test.Spec.Tree/corefn.json−1

This diff is too big to show here.

output/Test.Spec.Tree/docs.json−1

This diff is too big to show here.

output/Test.Spec.Tree/externs.cbor

This diff is too big to show here.

output/Test.Spec.Tree/index.js−445

This diff is too big to show here.

output/Test.Spec.Tree/index.js.map−1

This diff is too big to show here.

output/Test.Spec/corefn.json−1

This diff is too big to show here.

output/Test.Spec/docs.json−1

This diff is too big to show here.

output/Test.Spec/externs.cbor

This diff is too big to show here.

output/Test.Spec/index.js−578

This diff is too big to show here.

output/Test.Spec/index.js.map−1

This diff is too big to show here.

output/Test.Yoga.Capnweb.OmSpec/corefn.json−1

This diff is too big to show here.

output/Test.Yoga.Capnweb.OmSpec/docs.json−1

This diff is too big to show here.

output/Test.Yoga.Capnweb.OmSpec/externs.cbor

This diff is too big to show here.

output/Test.Yoga.Capnweb.OmSpec/foreign.js−29

This diff is too big to show here.

output/Test.Yoga.Capnweb.OmSpec/index.js−79

This diff is too big to show here.

output/Test.Yoga.Capnweb.OmSpec/index.js.map−1

This diff is too big to show here.

output/Text.PrettyPrint.Leijen/corefn.json−1

This diff is too big to show here.

output/Text.PrettyPrint.Leijen/docs.json−1

This diff is too big to show here.

output/Text.PrettyPrint.Leijen/externs.cbor

This diff is too big to show here.

output/Text.PrettyPrint.Leijen/index.js−1185

This diff is too big to show here.

output/Text.PrettyPrint.Leijen/index.js.map−1

This diff is too big to show here.

output/Type.Data.Boolean/corefn.json−1

This diff is too big to show here.

output/Type.Data.Boolean/docs.json−1

This diff is too big to show here.

output/Type.Data.Boolean/externs.cbor

This diff is too big to show here.

output/Type.Data.Boolean/index.js−81

This diff is too big to show here.

output/Type.Data.Boolean/index.js.map−1

This diff is too big to show here.

output/Type.Data.Ordering/corefn.json−1

This diff is too big to show here.

output/Type.Data.Ordering/docs.json−1

This diff is too big to show here.

output/Type.Data.Ordering/externs.cbor

This diff is too big to show here.

output/Type.Data.Ordering/index.js−95

This diff is too big to show here.

output/Type.Data.Ordering/index.js.map−1

This diff is too big to show here.

output/Type.Data.Symbol/corefn.json−1

This diff is too big to show here.

output/Type.Data.Symbol/docs.json−1

This diff is too big to show here.

output/Type.Data.Symbol/externs.cbor

This diff is too big to show here.

output/Type.Data.Symbol/index.js−49

This diff is too big to show here.

output/Type.Data.Symbol/index.js.map−1

This diff is too big to show here.

output/Type.Equality/corefn.json−1

This diff is too big to show here.

output/Type.Equality/docs.json−1

This diff is too big to show here.

output/Type.Equality/externs.cbor

This diff is too big to show here.

output/Type.Equality/index.js−37

This diff is too big to show here.

output/Type.Equality/index.js.map−1

This diff is too big to show here.

output/Type.Function/corefn.json−1

This diff is too big to show here.

output/Type.Function/docs.json−1

This diff is too big to show here.

output/Type.Function/externs.cbor

This diff is too big to show here.

output/Type.Function/index.js−3

This diff is too big to show here.

output/Type.Function/index.js.map−1

This diff is too big to show here.

output/Type.Prelude/corefn.json−1

This diff is too big to show here.

output/Type.Prelude/docs.json−1

This diff is too big to show here.

output/Type.Prelude/externs.cbor

This diff is too big to show here.

output/Type.Prelude/index.js−31

This diff is too big to show here.

output/Type.Prelude/index.js.map−1

This diff is too big to show here.

output/Type.Proxy/corefn.json−1

This diff is too big to show here.

output/Type.Proxy/docs.json−1

This diff is too big to show here.

output/Type.Proxy/externs.cbor

This diff is too big to show here.

output/Type.Proxy/index.js−12

This diff is too big to show here.

output/Type.Proxy/index.js.map−1

This diff is too big to show here.