packages feed

effectful 2.2.0.0 → 2.2.1.0

raw patch · 3 files changed

+35/−24 lines, 3 filesdep ~effectful-corePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: effectful-core

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,3 +1,6 @@+# effectful-2.2.1.0 (2022-11-09)+* Add `localSeqLift` and `localLift` to `Effectful.Dispatch.Dynamic`.+ # effectful-2.2.0.0 (2022-10-24) * Change `PrimState` for `Eff` from `RealWorld` to `PrimStateEff` to prevent the   `Prim` effect from executing arbitrary `IO` actions via `ioToPrim`.@@ -28,5 +31,5 @@   `withEffToIO`. * Add `withReader`. -# effectful-1.0.0.0 (2021-07-13)+# effectful-1.0.0.0 (2022-07-13) * Initial release.
README.md view
@@ -40,10 +40,11 @@ [polysemy](https://hackage.haskell.org/package/polysemy), [eff](https://github.com/hasura/eff) and probably a few more. -Unfortunately, of all of them only `eff` is a promising proposition because of-reasonable performance characteristics (see the talk [Effects for-Less](https://www.youtube.com/watch?v=0jI-AlWEwYI) for more information) and-potential for good interoperability with the existing ecosystem.+It needs to be noted that of all of them only the work-in-progress `eff` library+is a promising proposition because of reasonable performance characteristics+(see the talk [Effects for Less](https://www.youtube.com/watch?v=0jI-AlWEwYI)+for more information) and potential for good interoperability with the existing+ecosystem.  The second point is arguably the most important, because it allows focusing on things that matter instead of reinventing all kinds of wheels, hence being a@@ -88,8 +89,8 @@  What is more, the `Eff` monad is concrete, so GHC has many possibilities for optimization, which results in a very fast code at a default optimization-level. There is no need to mark every function `INLINE` or enable additional-optimization passes, it just works.+level. There is no need to explicitly mark functions with `INLINE` pragmas or+enable additional optimization passes, it just works.  ### Any downsides? @@ -117,36 +118,43 @@  ### Summary -`effectful` is an extensible effects library that aims to replace "boring"-transformer stacks (which consist of a dozen of newtype'd `ExceptT`, `ReaderT`,-`StateT` and `WriterT` transformers) and their derivatives by providing-equivalent effects with improved semantics, performance and usability (it also-makes it easy to reuse them for your own effects). It doesn't try to make monad-transformers obsolete, so you're free to use it with `ConduitT`, `ContT`,-`ListT` etc. when necessary.+`effectful` is an extensible effects library that aims to be the replacement+for: +- The bare `ReaderT` pattern by being essentially its enriched version.++- Monad transformer stacks typically encountered in the wild (i.e. consisting of+  a dozen of newtype'd `ExceptT`, `ReaderT`, `StateT` and `WriterT` transformers+  and their derivatives) by providing equivalent effects with improved+  semantics, performance, usability and making it easy to reuse them for your+  own effects.++It doesn't try to make monad transformers obsolete, so you're free to+use it with `ConduitT`, `ContT`, `ListT` etc. when necessary.+ ## Package structure -The effect system is split among several libraries:+The library is split among several packages:  - The [`effectful-core`](https://hackage.haskell.org/package/effectful-core)-  library contains the core of the effect system along with the basic-  effects. It aims for a small dependency footprint and provides building blocks-  for more advanced effects.+  package contains the core of the library along with basic effects. It aims for+  a small dependency footprint and provides building blocks for more advanced+  effects.  - The [`effectful-plugin`](https://hackage.haskell.org/package/effectful-plugin)-  library provides an optional GHC plugin for improving disambiguation of+  package provides an optional GHC plugin for improving disambiguation of   effects (see   [here](https://github.com/haskell-effectful/effectful/blob/master/effectful-plugin/README.md)   for more information). -- The [`effectful-th`](https://hackage.haskell.org/package/effectful-th) library+- The [`effectful-th`](https://hackage.haskell.org/package/effectful-th) package   provides utilities for generating bits of effect-related boilerplate via   Template Haskell. -- The [`effectful`](https://hackage.haskell.org/package/effectful) library+- The [`effectful`](https://hackage.haskell.org/package/effectful) package   re-exports public modules of `effectful-core` and additionally provides most-  features of the `unliftio` library divided into appropriate effects.+  features of the [`unliftio`](https://hackage.haskell.org/package/unliftio)+  package divided into appropriate effects.  ## Example 
effectful.cabal view
@@ -1,7 +1,7 @@ cabal-version:      2.4 build-type:         Simple name:               effectful-version:            2.2.0.0+version:            2.2.1.0 license:            BSD-3-Clause license-file:       LICENSE category:           Control@@ -67,7 +67,7 @@                     , async               >= 2.2.2                     , bytestring          >= 0.10                     , directory           >= 1.3.2-                    , effectful-core      >= 2.2.0.0   && < 2.2.1.0+                    , effectful-core      >= 2.2.1.0   && < 2.2.2.0                     , process             >= 1.6.9                      , time                >= 1.9.2