packages feed

effable 0.3.0.0 → 0.3.1.0

raw patch · 3 files changed

+13/−20 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

README.md view
@@ -2,7 +2,7 @@  _A data structure for emission plans_ -![GitHub License](https://img.shields.io/github/license/carlwr/effable)+[![License](https://img.shields.io/badge/license-MIT-green)](./LICENSE) ![Hackage Version](https://img.shields.io/hackage/v/effable) ![CI](https://img.shields.io/github/actions/workflow/status/carlwr/effable/ci.yml?label=CI) @@ -99,5 +99,5 @@  Since I am not a native English speaker, any natural language is likely to feature language quirks. AI models were not asked to identify or rectify such. -The above should not be understood as any opinion or even preference of mine - I both use and value development with higher degrees of AI autonomy than what was used in this (and many of my other) projects.+The above should not be understood as any opinion or even preference of mine - I both use and value development with higher degrees of AI autonomy than what was used in this project. 
effable.cabal view
@@ -1,7 +1,7 @@ cabal-version: 3.0  name:           effable-version:        0.3.0.0+version:        0.3.1.0 stability:      experimental category:       Data synopsis:       A data structure for emission plans@@ -14,6 +14,7 @@ license-file:   LICENSE build-type:     Simple tested-with:+    GHC == 9.14.1     GHC == 9.12.2     GHC == 9.10.2     GHC == 9.8.4@@ -34,6 +35,7 @@   manual: True  flag isDev+  description: development conveniences   default: False   manual: True @@ -84,7 +86,9 @@ test-suite doctest   import:     , defaults-  if !flag(doctest)+  -- no solution for 9.14 due to doctest-parallell+  -- (forcing with --alow-newer causes compilation error)+  if !flag(doctest) || impl(ghc >= 9.14)       buildable: False   hs-source-dirs:  test/doctests   type:            exitcode-stdio-1.0
src/Data/Effable.hs view
@@ -430,8 +430,8 @@ Suppress the effects of emitting the value if an effectful predicate evaluates to False:  @-'run' emit ('when'' (pure False) x)  == pure ()-'run' emit ('when'' (pure True ) x)  == 'run' emit x+'run' emit ('when'' (pure False) x)  ==  pure ()+'run' emit ('when'' (pure True ) x)  ==  'run' emit x @  'when'' has the distributive and commutation properties as those of 'wrap'.@@ -517,7 +517,7 @@ In light of 'byAction', 'ifThenElse' can be viewed as 'byAction' specialized to a domain with the two inhabitants 'True' and 'False':  @-'ifThenElse' bM x y  ==  'byAction' bM (\b -> if b then x else y)+'ifThenElse' bM x y  ==  'byAction' bM (\\b -> if b then x else y) @  (Between the LHS and RHS the ordering of the internal representation will be different; that is however not observable with read-like actions.)@@ -638,7 +638,7 @@ 'embedAction' x  ==  'byAction' x 'embed' @ -(The same warning as that for 'byAction' applies.)+(The same warning as that for 'byAction' apply.) -} embedAction   :: (Monad m, Enumerable a)@@ -708,17 +708,6 @@ >>> run emitConst (embed 'a' <> (silence $ embed 'b') <> embed 'c') Const "ac" -== Definition--'run' is the /monoid homomorphism/--@-from   ('Effable' m b, '<>', 'mempty' )-to     (m ()\ \      , '*>', 'pure' ())-@--and is natural in the emission function.- -} run   :: Applicative m@@ -735,7 +724,7 @@ Methods of the 'Foldable' and 'Traversable' instances of the result type can be used e.g. to customize how the individual emission results are combined.  @-'Data.Foldable.sequenceA_' ('runWith' emit x)  == 'run' emit x+'Data.Foldable.sequenceA_' ('runWith' emit x)  ==  'run' emit x @  === Example