extensible-effects 2.5.2.0 → 2.5.3.0
raw patch · 3 files changed
+17/−1 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Control.Eff.Exception: throwError_ :: (Member (Exc e) r) => e -> Eff r ()
+ Control.Eff.Lift: type LiftedBase m r = (SetMember Lift (Lift m) r, MonadBaseControl m (Eff r))
Files
extensible-effects.cabal view
@@ -6,7 +6,7 @@ -- PVP summary: +-+------- breaking API changes -- | | +----- non-breaking API additions -- | | | +--- code changes with no API change-version: 2.5.2.0+version: 2.5.3.0 -- A short (one-line) description of the package. synopsis: An Alternative to Monad Transformers
src/Control/Eff/Exception.hs view
@@ -10,6 +10,7 @@ module Control.Eff.Exception ( Exc (..) , Fail , throwError+ , throwError_ , die , runError , runFail@@ -52,6 +53,13 @@ throwError :: (Member (Exc e) r) => e -> Eff r a throwError e = send (Exc e) {-# INLINE throwError #-}++-- | Throw an exception in an effectful computation. The type is unit, +-- which suppresses the ghc-mod warning "A do-notation statement +-- discarded a result of type"+throwError_ :: (Member (Exc e) r) => e -> Eff r ()+throwError_ = throwError+{-# INLINE throwError_ #-} -- | Makes an effect fail, preventing future effects from happening. die :: Member Fail r => Eff r a
src/Control/Eff/Lift.hs view
@@ -5,6 +5,7 @@ -- (e.g. Maybe (IO a) is functionally distinct from IO (Maybe a)). module Control.Eff.Lift ( Lift (..) , Lifted+ , LiftedBase , lift , runLift , catchDynE@@ -14,8 +15,15 @@ import qualified Control.Exception as Exc import Data.OpenUnion +import Control.Monad.Trans.Control (MonadBaseControl)+ -- |A convenient alias to 'SetMember Lift (Lift m) r' type Lifted m r = SetMember Lift (Lift m) r++-- |Same as 'Lifted' but with additional 'MonadBaseControl' constraint+type LiftedBase m r = ( SetMember Lift (Lift m) r+ , MonadBaseControl m (Eff r)+ ) -- | Catching of dynamic exceptions -- See the problem in