packages feed

parameterized 0.4.0.0 → 0.5.0.0

raw patch · 3 files changed

+19/−16 lines, 3 filesdep ~data-diverse

Dependency ranges changed: data-diverse

Files

README.md view
@@ -7,13 +7,16 @@  # Changelog +* 0.5.0.0+  - Support data-diverse-2.0.0.0.+ * 0.4.0.0   - Added PNullary and PUnary injective type families.  * 0.3.0.0   - PMonoid is now a class with a single instance (courtesy of georgew).   - added fixities for backtick versions of pmappend, pappend, papply and pbind-  - added changingState constructor which results in better type inference.+  - added changingState constructor which sults in better type inference.  * 0.2.0.0   - Renamed Pempty to PEmpty.
parameterized.cabal view
@@ -1,5 +1,5 @@ name:                parameterized-version:             0.4.0.0+version:             0.5.0.0 synopsis:            Parameterized/indexed monoids and monads using only a single parameter type variable. description:         Parameterized/indexed monoids and monads using only a single parameter type variable. @@ -25,7 +25,7 @@                        Parameterized.Control.Monad.Trans.Reader                        Parameterized.Control.Monad.Trans.State.Strict   build-depends:       base >= 4.7 && < 5-                     , data-diverse >= 1.2.0.3+                     , data-diverse >= 2.0.0.0                      , transformers >= 0.5.2.0   ghc-options:         -Wall   default-language:    Haskell2010@@ -39,7 +39,7 @@   build-depends:       base                      , parameterized                      , hspec >= 2-                     , data-diverse >= 1.2.0.3+                     , data-diverse >= 2.0.0.0                      , transformers >= 0.5.2.0   ghc-options:         -threaded -rtsopts -with-rtsopts=-N -Wall   default-language:    Haskell2010
src/Parameterized/Control/Monad/Trans/State/Strict.hs view
@@ -49,25 +49,25 @@ instance ( Monad m          , Select a c          , Select b c-         , Amend a c-         , Amend b c+         , Amend' a c+         , Amend' b c          , c ~ AppendUnique a b          ) =>          PApplicative (ManyState m) (Many a) (Many b) (Many c) where     papply (ManyState (StateT x)) (ManyState (StateT y)) =         ManyState . StateT $ \c -> do              (f, a) <- x (select c)-             let c' = amend c a+             let c' = amend' c a              (r, b) <- y (select c')-             let c'' = amend c' b+             let c'' = amend' c' b              pure (f r, c'')  instance ( Monad m          , Alternative m          , Select a c          , Select b c-         , Amend a c-         , Amend b c+         , Amend' a c+         , Amend' b c          , c ~ AppendUnique a b          ) =>          PAlternative (ManyState m) (Many a) (Many b) (Many c) where@@ -76,26 +76,26 @@       where         x' c = do             (r, a) <- x (select c)-            pure (r, amend c a)+            pure (r, amend' c a)         y' c = do             (r, b) <- y (select c)-            pure (r, amend c b)+            pure (r, amend' c b)  instance ( Monad m          , Select a c          , Select b c-         , Amend a c-         , Amend b c+         , Amend' a c+         , Amend' b c          , c ~ AppendUnique a b          ) =>          PMonad (ManyState m) (Many a) (Many b) (Many c) where     pbind (ManyState (StateT x)) k =         ManyState . StateT $ \c -> do              (r, a) <- x (select c)-             let c' = amend c a+             let c' = amend' c a                  ManyState (StateT y) = k r              (r', b) <- y (select c')-             let c'' = amend c' b+             let c'' = amend' c' b              pure (r', c'')  --------------------------------------------