packages feed

polysemy-methodology 0.1.6.0 → 0.1.7.0

raw patch · 3 files changed

+29/−3 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Polysemy.Methodology: pureMethodology :: forall f b c r a. (Members '[Methodology b c] r, Applicative f) => Sem (Methodology b (f c) : r) a -> Sem r a
+ Polysemy.Methodology: pureMethodology' :: forall f b c r a. Applicative f => Sem (Methodology b (f c) : r) a -> Sem (Methodology b c : r) a

Files

ChangeLog.md view
@@ -1,5 +1,9 @@ # Changelog for polysemy-methodology +## v0.1.7.0++* Add `pureMethodology` and `pureMethodology'`.+ ## v0.1.6.0  * Add reinterpreting versions of `cutMethodology`, `cutMethodology3`, `divideMethodology`,
polysemy-methodology.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           polysemy-methodology-version:        0.1.6.0+version:        0.1.7.0 synopsis:       Domain modelling algebra for polysemy category:       Polysemy author:         Daniel Firth
src/Polysemy/Methodology.hs view
@@ -48,6 +48,8 @@ , fmapMethodology' , fmap2Methodology , fmap2Methodology'+, pureMethodology+, pureMethodology' , bindMethodology , bindMethodology' , traverseMethodology@@ -377,7 +379,7 @@   Process b -> traverse (process @b @c) b {-# INLINE fmapMethodology #-} --- | Reinterpreting version of `fmapMethodology`+-- | Reinterpreting version of `fmapMethodology`. -- -- @since 0.1.6.0 fmapMethodology' :: forall f b c r a.@@ -399,7 +401,7 @@ fmap2Methodology = fmapMethodology' @f @(g b) @(g c) >>> fmapMethodology @g @b @c {-# INLINE fmap2Methodology #-} --- | Reinterpreting version of `fmapMethodology`+-- | Reinterpreting version of `fmapMethodology`. -- -- @since 0.1.6.0 fmap2Methodology' :: forall f g b c r a.@@ -408,6 +410,26 @@                   -> Sem (Methodology b c ': r) a fmap2Methodology' = raiseUnder >>> fmap2Methodology {-# INLINE fmap2Methodology' #-}++-- | Run a `Methodology` b (f c) in terms of a `Methodology` b c.+--+-- @since 0.1.7.0+pureMethodology :: forall f b c r a.+                   (Members '[Methodology b c] r, Applicative f)+                => Sem (Methodology b (f c) ': r) a+                -> Sem r a+pureMethodology = interpret \case+  Process b -> pure <$> process @b @c b+{-# INLINE pureMethodology #-}++-- | Reinterpreting version of `pureMethodology`.+--+-- @since 0.1.7.0+pureMethodology' :: forall f b c r a. Applicative f+                 => Sem (Methodology b (f c) ': r) a+                 -> Sem (Methodology b c ': r) a+pureMethodology' = raiseUnder >>> pureMethodology+{-# INLINE pureMethodology' #-}  -- | Run a `Methodology` (f b) (f c) by way of a `Methodology` b (f c). Note that -- `f` must be both `Traversable` and `Monad`.