hw-polysemy 0.2.8.0 → 0.2.9.0
raw patch · 4 files changed
+26/−1 lines, 4 filesdep +mtlPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: mtl
API changes (from Hackage documentation)
- HaskellWorks.Polysemy.Hedgehog: catchAssertion :: forall r_anjj a_an4v. (Member Hedgehog r_anjj, HasCallStack) => Sem r_anjj a_an4v -> (Failure -> Sem r_anjj a_an4v) -> Sem r_anjj a_an4v
+ HaskellWorks.Polysemy.Hedgehog: catchAssertion :: forall r_anjl a_an4x. (Member Hedgehog r_anjl, HasCallStack) => Sem r_anjl a_an4x -> (Failure -> Sem r_anjl a_an4x) -> Sem r_anjl a_an4x
- HaskellWorks.Polysemy.Hedgehog: eval :: forall r_anjm a_an4w. (Member Hedgehog r_anjm, HasCallStack) => a_an4w -> Sem r_anjm a_an4w
+ HaskellWorks.Polysemy.Hedgehog: eval :: forall r_anjo a_an4y. (Member Hedgehog r_anjo, HasCallStack) => a_an4y -> Sem r_anjo a_an4y
- HaskellWorks.Polysemy.Hedgehog: evalIO :: forall r_anjq a_an4A. (Member Hedgehog r_anjq, HasCallStack) => IO a_an4A -> Sem r_anjq a_an4A
+ HaskellWorks.Polysemy.Hedgehog: evalIO :: forall r_anjs a_an4C. (Member Hedgehog r_anjs, HasCallStack) => IO a_an4C -> Sem r_anjs a_an4C
- HaskellWorks.Polysemy.Hedgehog: evalM :: forall r_anjo a_an4z. (Member Hedgehog r_anjo, HasCallStack) => Sem r_anjo a_an4z -> Sem r_anjo a_an4z
+ HaskellWorks.Polysemy.Hedgehog: evalM :: forall r_anjq a_an4B. (Member Hedgehog r_anjq, HasCallStack) => Sem r_anjq a_an4B -> Sem r_anjq a_an4B
- HaskellWorks.Polysemy.Hedgehog: failWith :: forall r_anjs a_an4D. (Member Hedgehog r_anjs, HasCallStack) => Maybe Diff -> String -> Sem r_anjs a_an4D
+ HaskellWorks.Polysemy.Hedgehog: failWith :: forall r_anju a_an4F. (Member Hedgehog r_anju, HasCallStack) => Maybe Diff -> String -> Sem r_anju a_an4F
- HaskellWorks.Polysemy.Hedgehog: failWithCustom :: forall r_anjv a_an4F. Member Hedgehog r_anjv => CallStack -> Maybe Diff -> String -> Sem r_anjv a_an4F
+ HaskellWorks.Polysemy.Hedgehog: failWithCustom :: forall r_anjx a_an4H. Member Hedgehog r_anjx => CallStack -> Maybe Diff -> String -> Sem r_anjx a_an4H
- HaskellWorks.Polysemy.Hedgehog: moduleWorkspace :: () => Member Hedgehog r => Member Log r => Member (Embed IO) r => String -> Sem (Reader Workspace : r) () -> Sem r ()
+ HaskellWorks.Polysemy.Hedgehog: moduleWorkspace :: () => HasCallStack => Member Hedgehog r => Member Log r => Member (Embed IO) r => String -> Sem (Reader Workspace : r) () -> Sem r ()
- HaskellWorks.Polysemy.Hedgehog: throwAssertion :: forall r_anjz a_an4H. (Member Hedgehog r_anjz, HasCallStack) => Failure -> Sem r_anjz a_an4H
+ HaskellWorks.Polysemy.Hedgehog: throwAssertion :: forall r_anjB a_an4J. (Member Hedgehog r_anjB, HasCallStack) => Failure -> Sem r_anjB a_an4J
- HaskellWorks.Polysemy.Hedgehog: workspace :: () => Member Hedgehog r => Member Log r => Member (Embed IO) r => HasCallStack => FilePath -> Sem (Reader Workspace : r) () -> Sem r ()
+ HaskellWorks.Polysemy.Hedgehog: workspace :: () => HasCallStack => Member Hedgehog r => Member Log r => Member (Embed IO) r => HasCallStack => FilePath -> Sem (Reader Workspace : r) () -> Sem r ()
- HaskellWorks.Polysemy.Hedgehog: writeLog :: forall r_anjB. (Member Hedgehog r_anjB, HasCallStack) => Log -> Sem r_anjB ()
+ HaskellWorks.Polysemy.Hedgehog: writeLog :: forall r_anjD. (Member Hedgehog r_anjD, HasCallStack) => Log -> Sem r_anjD ()
- HaskellWorks.Polysemy.Hedgehog.Assert: evalIO :: forall r_anjq a_an4A. (Member Hedgehog r_anjq, HasCallStack) => IO a_an4A -> Sem r_anjq a_an4A
+ HaskellWorks.Polysemy.Hedgehog.Assert: evalIO :: forall r_anjs a_an4C. (Member Hedgehog r_anjs, HasCallStack) => IO a_an4C -> Sem r_anjs a_an4C
- HaskellWorks.Polysemy.Hedgehog.Effect.Hedgehog: assertEquals :: forall r_anjg a_X0. (Member Hedgehog r_anjg, HasCallStack, Eq a_X0, Show a_X0) => a_X0 -> a_X0 -> Sem r_anjg ()
+ HaskellWorks.Polysemy.Hedgehog.Effect.Hedgehog: assertEquals :: forall r_anji a_X0. (Member Hedgehog r_anji, HasCallStack, Eq a_X0, Show a_X0) => a_X0 -> a_X0 -> Sem r_anji ()
- HaskellWorks.Polysemy.Hedgehog.Effect.Hedgehog: catchAssertion :: forall r_anjj a_an4v. (Member Hedgehog r_anjj, HasCallStack) => Sem r_anjj a_an4v -> (Failure -> Sem r_anjj a_an4v) -> Sem r_anjj a_an4v
+ HaskellWorks.Polysemy.Hedgehog.Effect.Hedgehog: catchAssertion :: forall r_anjl a_an4x. (Member Hedgehog r_anjl, HasCallStack) => Sem r_anjl a_an4x -> (Failure -> Sem r_anjl a_an4x) -> Sem r_anjl a_an4x
- HaskellWorks.Polysemy.Hedgehog.Effect.Hedgehog: eval :: forall r_anjm a_an4w. (Member Hedgehog r_anjm, HasCallStack) => a_an4w -> Sem r_anjm a_an4w
+ HaskellWorks.Polysemy.Hedgehog.Effect.Hedgehog: eval :: forall r_anjo a_an4y. (Member Hedgehog r_anjo, HasCallStack) => a_an4y -> Sem r_anjo a_an4y
- HaskellWorks.Polysemy.Hedgehog.Effect.Hedgehog: evalIO :: forall r_anjq a_an4A. (Member Hedgehog r_anjq, HasCallStack) => IO a_an4A -> Sem r_anjq a_an4A
+ HaskellWorks.Polysemy.Hedgehog.Effect.Hedgehog: evalIO :: forall r_anjs a_an4C. (Member Hedgehog r_anjs, HasCallStack) => IO a_an4C -> Sem r_anjs a_an4C
- HaskellWorks.Polysemy.Hedgehog.Effect.Hedgehog: evalM :: forall r_anjo a_an4z. (Member Hedgehog r_anjo, HasCallStack) => Sem r_anjo a_an4z -> Sem r_anjo a_an4z
+ HaskellWorks.Polysemy.Hedgehog.Effect.Hedgehog: evalM :: forall r_anjq a_an4B. (Member Hedgehog r_anjq, HasCallStack) => Sem r_anjq a_an4B -> Sem r_anjq a_an4B
- HaskellWorks.Polysemy.Hedgehog.Effect.Hedgehog: failWith :: forall r_anjs a_an4D. (Member Hedgehog r_anjs, HasCallStack) => Maybe Diff -> String -> Sem r_anjs a_an4D
+ HaskellWorks.Polysemy.Hedgehog.Effect.Hedgehog: failWith :: forall r_anju a_an4F. (Member Hedgehog r_anju, HasCallStack) => Maybe Diff -> String -> Sem r_anju a_an4F
- HaskellWorks.Polysemy.Hedgehog.Effect.Hedgehog: failWithCustom :: forall r_anjv a_an4F. Member Hedgehog r_anjv => CallStack -> Maybe Diff -> String -> Sem r_anjv a_an4F
+ HaskellWorks.Polysemy.Hedgehog.Effect.Hedgehog: failWithCustom :: forall r_anjx a_an4H. Member Hedgehog r_anjx => CallStack -> Maybe Diff -> String -> Sem r_anjx a_an4H
- HaskellWorks.Polysemy.Hedgehog.Effect.Hedgehog: throwAssertion :: forall r_anjz a_an4H. (Member Hedgehog r_anjz, HasCallStack) => Failure -> Sem r_anjz a_an4H
+ HaskellWorks.Polysemy.Hedgehog.Effect.Hedgehog: throwAssertion :: forall r_anjB a_an4J. (Member Hedgehog r_anjB, HasCallStack) => Failure -> Sem r_anjB a_an4J
- HaskellWorks.Polysemy.Hedgehog.Effect.Hedgehog: writeLog :: forall r_anjB. (Member Hedgehog r_anjB, HasCallStack) => Log -> Sem r_anjB ()
+ HaskellWorks.Polysemy.Hedgehog.Effect.Hedgehog: writeLog :: forall r_anjD. (Member Hedgehog r_anjD, HasCallStack) => Log -> Sem r_anjD ()
- HaskellWorks.Polysemy.Hedgehog.Eval: eval :: forall r_anjm a_an4w. (Member Hedgehog r_anjm, HasCallStack) => a_an4w -> Sem r_anjm a_an4w
+ HaskellWorks.Polysemy.Hedgehog.Eval: eval :: forall r_anjo a_an4y. (Member Hedgehog r_anjo, HasCallStack) => a_an4y -> Sem r_anjo a_an4y
- HaskellWorks.Polysemy.Hedgehog.Eval: evalIO :: forall r_anjq a_an4A. (Member Hedgehog r_anjq, HasCallStack) => IO a_an4A -> Sem r_anjq a_an4A
+ HaskellWorks.Polysemy.Hedgehog.Eval: evalIO :: forall r_anjs a_an4C. (Member Hedgehog r_anjs, HasCallStack) => IO a_an4C -> Sem r_anjs a_an4C
- HaskellWorks.Polysemy.Hedgehog.Eval: evalM :: forall r_anjo a_an4z. (Member Hedgehog r_anjo, HasCallStack) => Sem r_anjo a_an4z -> Sem r_anjo a_an4z
+ HaskellWorks.Polysemy.Hedgehog.Eval: evalM :: forall r_anjq a_an4B. (Member Hedgehog r_anjq, HasCallStack) => Sem r_anjq a_an4B -> Sem r_anjq a_an4B
- HaskellWorks.Polysemy.Hedgehog.Workspace: moduleWorkspace :: () => Member Hedgehog r => Member Log r => Member (Embed IO) r => String -> Sem (Reader Workspace : r) () -> Sem r ()
+ HaskellWorks.Polysemy.Hedgehog.Workspace: moduleWorkspace :: () => HasCallStack => Member Hedgehog r => Member Log r => Member (Embed IO) r => String -> Sem (Reader Workspace : r) () -> Sem r ()
- HaskellWorks.Polysemy.Hedgehog.Workspace: workspace :: () => Member Hedgehog r => Member Log r => Member (Embed IO) r => HasCallStack => FilePath -> Sem (Reader Workspace : r) () -> Sem r ()
+ HaskellWorks.Polysemy.Hedgehog.Workspace: workspace :: () => HasCallStack => Member Hedgehog r => Member Log r => Member (Embed IO) r => HasCallStack => FilePath -> Sem (Reader Workspace : r) () -> Sem r ()
Files
- core/HaskellWorks/Polysemy.hs +2/−0
- core/HaskellWorks/Polysemy/Error.hs +19/−0
- hedgehog/HaskellWorks/Polysemy/Hedgehog/Workspace.hs +2/−0
- hw-polysemy.cabal +3/−1
core/HaskellWorks/Polysemy.hs view
@@ -44,6 +44,8 @@ catch, trap, trap_,+ embedRunExceptT,+ embedThrowExceptT, fromEither, fromEitherM, fromException,
core/HaskellWorks/Polysemy/Error.hs view
@@ -2,8 +2,11 @@ ( module HaskellWorks.Error , trap , trap_+ , embedRunExceptT+ , embedThrowExceptT ) where +import Control.Monad.Except import HaskellWorks.Error import HaskellWorks.Polysemy.Prelude import Polysemy@@ -26,3 +29,19 @@ -> Sem r a trap_ h = trap (const h)++embedRunExceptT :: ()+ => Member (Embed m) r+ => ExceptT e m a+ -> Sem r (Either e a)+embedRunExceptT = embed . runExceptT++-- | Run an embedded 'ExceptT' effect in a 'Sem' monad and throw any errors.+embedThrowExceptT :: ()+ => Member (Error e) r+ => Member (Embed m) r+ => ExceptT e m a+ -> Sem r a+embedThrowExceptT f =+ embedRunExceptT f+ & onLeftM throw
hedgehog/HaskellWorks/Polysemy/Hedgehog/Workspace.hs view
@@ -32,6 +32,7 @@ -- The directory will be deleted if the block succeeds, but left behind if -- the block fails. workspace :: ()+ => HasCallStack => Member Hedgehog r => Member Log r => Member (Embed IO) r@@ -62,6 +63,7 @@ -- -- The 'prefix' argument should not contain directory delimeters. moduleWorkspace :: ()+ => HasCallStack => Member Hedgehog r => Member Log r => Member (Embed IO) r
hw-polysemy.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.4 name: hw-polysemy-version: 0.2.8.0+version: 0.2.9.0 synopsis: Opinionated polysemy library description: Opinionated polysemy library. license: Apache-2.0@@ -33,6 +33,7 @@ common hedgehog { build-depends: hedgehog < 1.5 } common network { build-depends: network < 3.3 } common lens { build-depends: lens < 5.4 }+common mtl { build-depends: mtl < 5.4 } common polysemy { build-depends: polysemy < 2 } common polysemy-log { build-depends: polysemy-log < 0.11 } common polysemy-plugin { build-depends: polysemy-plugin < 0.5 }@@ -95,6 +96,7 @@ ghc-prim, hedgehog, lens,+ mtl, network, polysemy, polysemy-log,