packages feed

yaya 0.5.2.1 → 0.6.0.0

raw patch · 2 files changed

+26/−16 lines, 2 filesdep +foldable1-classes-compatdep ~comonaddep ~doctestdep ~either

Dependencies added: foldable1-classes-compat

Dependency ranges changed: comonad, doctest, either, free, kan-extensions, lens, profunctors, strict, template-haskell, th-abstraction, transformers

Files

README.md view
@@ -8,6 +8,8 @@  How's this possible? You can’t have totality _and_ Turing-completeness, can you? Oh, but [you can](https://pdfs.semanticscholar.org/e291/5b546b9039a8cf8f28e0b814f6502630239f.pdf) – there is a particular type, `Partial a` (encoded with a fixed-point) that handles potential non-termination, akin to the way that `Maybe a` handles exceptional cases. It can be folded into `IO` in your main function, so that the runtime can execute a Turing-complete program that was modeled totally. +**NB**: The tests for this package are unfortunately included in `yaya-hedgehog` instead, to avoid a dependency cycle.+ ## organization  This organization is intended to make this a lightly-opinionated library. You should only need to import one module (per package) into any module of yours.
yaya.cabal view
@@ -1,7 +1,7 @@ cabal-version:  3.0  name:        yaya-version:     0.5.2.1+version:     0.6.0.0 synopsis:    Total recursion schemes. description: Recursion schemes allow you to separate recursion from your              business logic – making your own operations simpler, more modular,@@ -149,7 +149,7 @@     -- TODO: Remove `Cabal` dep once haskell/cabal#3751 is fixed.     Cabal ^>= {3.0.0, 3.2.0, 3.4.0, 3.6.0, 3.8.0, 3.10.0},     base ^>= {4.12.0, 4.13.0, 4.14.0, 4.15.0, 4.16.0, 4.17.0, 4.18.0, 4.19.0},-    cabal-doctest ^>= 1.0.0+    cabal-doctest ^>= {1.0.0},  library   import: defaults@@ -167,16 +167,25 @@   other-modules:     Yaya.Fold.Native.Internal   build-depends:-    comonad,-    either,-    free,-    kan-extensions,-    lens,-    profunctors,-    strict,-    template-haskell,-    th-abstraction,-    transformers,+    comonad ^>= 5.0.7,+    either ^>= 5,+    free ^>= {5.1.5, 5.2},+    kan-extensions ^>= 5.2,+    -- `Control.Lens` in lens < 5 is `Unsafe`+    lens ^>= {5, 5.1, 5.2},+    profunctors ^>= {5.5.2, 5.6},+    -- strict < 0.4 doesn’t export various combinators+    strict ^>= {0.4, 0.5},+    template-haskell ^>= {2.14.0, 2.15.0, 2.16.0, 2.17.0, 2.18.0, 2.19.0, 2.20.0, 2.21.0},+    -- th-abstraction < 0.3 has different field names+    th-abstraction ^>= {0.4.1, 0.6.0},+    transformers ^>= {0.5.5, 0.6.1},+    -- NB: foldable-classes-compat is a transitive dependency … depending on+    --     which version of other dependencies (specifically,+    --     indexed-traversable) we select. However, `-trust` only works for+    --     packages in the dependency graph, so we make it explicit here for the+    --     times that it doesn’t get included transitively.+    foldable1-classes-compat ^>= {0.1},   ghc-options:     -trust adjunctions     -trust array@@ -186,7 +195,9 @@     -trust containers     -trust distributive     -trust exceptions+    -trust foldable1-classes-compat     -trust ghc-prim+    -trust hashable     -trust lens     -trust profunctors     -trust semigroupoids@@ -194,9 +205,6 @@     -trust template-haskell     -trust text     -trust transformers-compat-  if impl(ghc < 9.6)-    ghc-options:-      -trust foldable1-classes-compat  test-suite doctests   import: defaults@@ -204,7 +212,7 @@   hs-source-dirs: tests   main-is: doctests.hs   build-depends:-    doctest ^>= {0.15.0, 0.16.0, 0.17.0, 0.18.0, 0.19.0, 0.20.0, 0.21.0, 0.22.0},+    doctest ^>= {0.16.0, 0.18.1, 0.20.1, 0.21.1, 0.22.2},     yaya,   -- TODO: The sections below here are necessary because we don’t have control   --       over the generated `Build_doctests.hs` file. So we have to silence