incipit-core 0.1.0.3 → 0.2.0.0
raw patch · 3 files changed
+34/−13 lines, 3 filesdep ~incipit-basePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: incipit-base
API changes (from Hackage documentation)
+ Incipit: ask :: forall i (r :: [Effect]). MemberWithError (Reader i) r => Sem r i
+ Incipit: asks :: forall i j (r :: [(Type -> Type) -> Type -> Type]). Member (Reader i) r => (i -> j) -> Sem r j
+ Incipit: async :: forall (r :: [Effect]) a. MemberWithError Async r => Sem r a -> Sem r (Async (Maybe a))
+ Incipit: asyncToIO :: forall (r :: [(Type -> Type) -> Type -> Type]) a. Member (Embed IO) r => Sem (Async : r) a -> Sem r a
+ Incipit: asyncToIOFinal :: forall (r :: [(Type -> Type) -> Type -> Type]) a. Member (Final IO) r => Sem (Async : r) a -> Sem r a
+ Incipit: atomicGet :: forall s (r :: [(Type -> Type) -> Type -> Type]). Member (AtomicState s :: (Type -> Type) -> Type -> Type) r => Sem r s
+ Incipit: atomicGets :: forall s s' (r :: [(Type -> Type) -> Type -> Type]). Member (AtomicState s :: (Type -> Type) -> Type -> Type) r => (s -> s') -> Sem r s'
+ Incipit: atomicModify :: forall s (r :: [(Type -> Type) -> Type -> Type]). Member (AtomicState s :: (Type -> Type) -> Type -> Type) r => (s -> s) -> Sem r ()
+ Incipit: atomicModify' :: forall s (r :: [(Type -> Type) -> Type -> Type]). Member (AtomicState s :: (Type -> Type) -> Type -> Type) r => (s -> s) -> Sem r ()
+ Incipit: atomicPut :: forall s (r :: [(Type -> Type) -> Type -> Type]). Member (AtomicState s :: (Type -> Type) -> Type -> Type) r => s -> Sem r ()
+ Incipit: atomicState :: forall s a (r :: [(Type -> Type) -> Type -> Type]). Member (AtomicState s :: (Type -> Type) -> Type -> Type) r => (s -> (s, a)) -> Sem r a
+ Incipit: atomicState' :: forall s a (r :: [(Type -> Type) -> Type -> Type]). Member (AtomicState s :: (Type -> Type) -> Type -> Type) r => (s -> (s, a)) -> Sem r a
+ Incipit: atomicStateToIO :: forall s (r :: [(Type -> Type) -> Type -> Type]) a. Member (Embed IO) r => s -> Sem ((AtomicState s :: (Type -> Type) -> Type -> Type) : r) a -> Sem r (s, a)
+ Incipit: atomicStateToState :: forall s (r :: [(Type -> Type) -> Type -> Type]) a. Member (State s :: (Type -> Type) -> Type -> Type) r => Sem ((AtomicState s :: (Type -> Type) -> Type -> Type) : r) a -> Sem r a
+ Incipit: await :: forall (r :: [Effect]) a. MemberWithError Async r => Async a -> Sem r a
+ Incipit: bracket :: forall (r :: [Effect]) a c b. MemberWithError Resource r => Sem r a -> (a -> Sem r c) -> (a -> Sem r b) -> Sem r b
+ Incipit: bracketOnError :: forall (r :: [Effect]) a c b. MemberWithError Resource r => Sem r a -> (a -> Sem r c) -> (a -> Sem r b) -> Sem r b
+ Incipit: bracket_ :: forall (r :: [(Type -> Type) -> Type -> Type]) a b c. Member Resource r => Sem r a -> Sem r b -> Sem r c -> Sem r c
+ Incipit: cancel :: forall (r :: [Effect]) a. MemberWithError Async r => Async a -> Sem r ()
+ Incipit: catch :: forall e (r :: [Effect]) a. MemberWithError (Error e :: (Type -> Type) -> Type -> Type) r => Sem r a -> (e -> Sem r a) -> Sem r a
+ Incipit: catchJust :: forall e (r :: [(Type -> Type) -> Type -> Type]) b a. Member (Error e :: (Type -> Type) -> Type -> Type) r => (e -> Maybe b) -> Sem r a -> (b -> Sem r a) -> Sem r a
+ Incipit: censor :: forall o (r :: [(Type -> Type) -> Type -> Type]) a. Member (Writer o) r => (o -> o) -> Sem r a -> Sem r a
+ Incipit: data Async (m :: Type -> Type) a
+ Incipit: data AtomicState s (m :: k) a
+ Incipit: data Error e (m :: k -> Type) (a :: k)
+ Incipit: data Fail (m :: k) (a :: k1)
+ Incipit: data Input (i :: k) (m :: k1) (a :: k)
+ Incipit: data Output o (m :: k) a
+ Incipit: data Reader i (m :: Type -> Type) a
+ Incipit: data Resource (m :: Type -> Type) a
+ Incipit: data State s (m :: k) a
+ Incipit: data Tagged (k3 :: k) (e :: k1 -> k2 -> Type) (m :: k1) (a :: k2)
+ Incipit: data Writer o (m :: Type -> Type) a
+ Incipit: errorToIOFinal :: forall e (r :: [(Type -> Type) -> Type -> Type]) a. (Typeable e, Member (Final IO) r) => Sem ((Error e :: (Type -> Type) -> Type -> Type) : r) a -> Sem r (Either e a)
+ Incipit: evalLazyState :: forall s (r :: [(Type -> Type) -> Type -> Type]) a. s -> Sem ((State s :: (Type -> Type) -> Type -> Type) : r) a -> Sem r a
+ Incipit: evalState :: forall s (r :: [(Type -> Type) -> Type -> Type]) a. s -> Sem ((State s :: (Type -> Type) -> Type -> Type) : r) a -> Sem r a
+ Incipit: execLazyState :: forall s (r :: [(Type -> Type) -> Type -> Type]) a. s -> Sem ((State s :: (Type -> Type) -> Type -> Type) : r) a -> Sem r s
+ Incipit: execState :: forall s (r :: [(Type -> Type) -> Type -> Type]) a. s -> Sem ((State s :: (Type -> Type) -> Type -> Type) : r) a -> Sem r s
+ Incipit: failToEmbed :: forall (m :: Type -> Type) (r :: [(Type -> Type) -> Type -> Type]) a. (Member (Embed m) r, MonadFail m) => Sem ((Fail :: (Type -> Type) -> Type -> Type) : r) a -> Sem r a
+ Incipit: failToError :: forall e (r :: [(Type -> Type) -> Type -> Type]) a. Member (Error e :: (Type -> Type) -> Type -> Type) r => (String -> e) -> Sem ((Fail :: (Type -> Type) -> Type -> Type) : r) a -> Sem r a
+ Incipit: failToNonDet :: forall (r :: [(Type -> Type) -> Type -> Type]) a. Member NonDet r => Sem ((Fail :: (Type -> Type) -> Type -> Type) : r) a -> Sem r a
+ Incipit: finally :: forall (r :: [(Type -> Type) -> Type -> Type]) a b. Member Resource r => Sem r a -> Sem r b -> Sem r a
+ Incipit: fromEither :: forall e (r :: [(Type -> Type) -> Type -> Type]) a. Member (Error e :: (Type -> Type) -> Type -> Type) r => Either e a -> Sem r a
+ Incipit: fromEitherM :: forall e m (r :: [(Type -> Type) -> Type -> Type]) a. (Member (Error e :: (Type -> Type) -> Type -> Type) r, Member (Embed m) r) => m (Either e a) -> Sem r a
+ Incipit: fromException :: forall e (r :: [(Type -> Type) -> Type -> Type]) a. (Exception e, Member (Error e :: (Type -> Type) -> Type -> Type) r, Member (Embed IO) r) => IO a -> Sem r a
+ Incipit: fromExceptionSem :: forall e (r :: [(Type -> Type) -> Type -> Type]) a. (Exception e, Member (Error e :: (Type -> Type) -> Type -> Type) r, Member (Final IO) r) => Sem r a -> Sem r a
+ Incipit: fromExceptionSemVia :: forall exc err (r :: [(Type -> Type) -> Type -> Type]) a. (Exception exc, Member (Error err :: (Type -> Type) -> Type -> Type) r, Member (Final IO) r) => (exc -> err) -> Sem r a -> Sem r a
+ Incipit: fromExceptionVia :: forall exc err (r :: [(Type -> Type) -> Type -> Type]) a. (Exception exc, Member (Error err :: (Type -> Type) -> Type -> Type) r, Member (Embed IO) r) => (exc -> err) -> IO a -> Sem r a
+ Incipit: get :: forall s (r :: [Effect]). MemberWithError (State s :: (Type -> Type) -> Type -> Type) r => Sem r s
+ Incipit: gets :: forall s a (r :: [(Type -> Type) -> Type -> Type]). Member (State s :: (Type -> Type) -> Type -> Type) r => (s -> a) -> Sem r a
+ Incipit: hoistStateIntoStateT :: forall s (r :: [(Type -> Type) -> Type -> Type]) a. Sem ((State s :: (Type -> Type) -> Type -> Type) : r) a -> StateT s (Sem r) a
+ Incipit: ignoreOutput :: forall o (r :: [(Type -> Type) -> Type -> Type]) a. Sem ((Output o :: (Type -> Type) -> Type -> Type) : r) a -> Sem r a
+ Incipit: input :: forall i (r :: [Effect]). MemberWithError (Input i :: (Type -> Type) -> Type -> Type) r => Sem r i
+ Incipit: inputToReader :: forall i (r :: [(Type -> Type) -> Type -> Type]) a. Member (Reader i) r => Sem ((Input i :: (Type -> Type) -> Type -> Type) : r) a -> Sem r a
+ Incipit: inputs :: forall i j (r :: [(Type -> Type) -> Type -> Type]). Member (Input i :: (Type -> Type) -> Type -> Type) r => (i -> j) -> Sem r j
+ Incipit: listen :: forall o (r :: [Effect]) a. MemberWithError (Writer o) r => Sem r a -> Sem r (o, a)
+ Incipit: local :: forall i (r :: [Effect]) a. MemberWithError (Reader i) r => (i -> i) -> Sem r a -> Sem r a
+ Incipit: lowerAsync :: forall (r :: [(Type -> Type) -> Type -> Type]) a. Member (Embed IO) r => (forall x. () => Sem r x -> IO x) -> Sem (Async : r) a -> Sem r a
+ Incipit: lowerError :: forall e (r :: [(Type -> Type) -> Type -> Type]) a. (Typeable e, Member (Embed IO) r) => (forall x. () => Sem r x -> IO x) -> Sem ((Error e :: (Type -> Type) -> Type -> Type) : r) a -> Sem r (Either e a)
+ Incipit: lowerResource :: forall (r :: [(Type -> Type) -> Type -> Type]) a. Member (Embed IO) r => (forall x. () => Sem r x -> IO x) -> Sem (Resource : r) a -> Sem r a
+ Incipit: mapError :: forall e1 e2 (r :: [(Type -> Type) -> Type -> Type]) a. Member (Error e2 :: (Type -> Type) -> Type -> Type) r => (e1 -> e2) -> Sem ((Error e1 :: (Type -> Type) -> Type -> Type) : r) a -> Sem r a
+ Incipit: modify :: forall s (r :: [(Type -> Type) -> Type -> Type]). Member (State s :: (Type -> Type) -> Type -> Type) r => (s -> s) -> Sem r ()
+ Incipit: modify' :: forall s (r :: [(Type -> Type) -> Type -> Type]). Member (State s :: (Type -> Type) -> Type -> Type) r => (s -> s) -> Sem r ()
+ Incipit: note :: forall e (r :: [(Type -> Type) -> Type -> Type]) a. Member (Error e :: (Type -> Type) -> Type -> Type) r => e -> Maybe a -> Sem r a
+ Incipit: onException :: forall (r :: [(Type -> Type) -> Type -> Type]) a b. Member Resource r => Sem r a -> Sem r b -> Sem r a
+ Incipit: output :: forall o (r :: [Effect]). MemberWithError (Output o :: (Type -> Type) -> Type -> Type) r => o -> Sem r ()
+ Incipit: outputToIOMonoid :: forall o m (r :: [(Type -> Type) -> Type -> Type]) a. (Monoid m, Member (Embed IO) r) => (o -> m) -> Sem ((Output o :: (Type -> Type) -> Type -> Type) : r) a -> Sem r (m, a)
+ Incipit: outputToIOMonoidAssocR :: forall o m (r :: [(Type -> Type) -> Type -> Type]) a. (Monoid m, Member (Embed IO) r) => (o -> m) -> Sem ((Output o :: (Type -> Type) -> Type -> Type) : r) a -> Sem r (m, a)
+ Incipit: outputToWriter :: forall o (r :: [(Type -> Type) -> Type -> Type]) a. Member (Writer o) r => Sem ((Output o :: (Type -> Type) -> Type -> Type) : r) a -> Sem r a
+ Incipit: pass :: forall o (r :: [Effect]) a. MemberWithError (Writer o) r => Sem r (o -> o, a) -> Sem r a
+ Incipit: put :: forall s (r :: [Effect]). MemberWithError (State s :: (Type -> Type) -> Type -> Type) r => s -> Sem r ()
+ Incipit: resourceToIO :: forall (r :: [(Type -> Type) -> Type -> Type]) a. Member (Embed IO) r => Sem (Resource : r) a -> Sem r a
+ Incipit: resourceToIOFinal :: forall (r :: [(Type -> Type) -> Type -> Type]) a. Member (Final IO) r => Sem (Resource : r) a -> Sem r a
+ Incipit: retag :: forall {k1} {k2} (k3 :: k1) (k4 :: k2) (e :: (Type -> Type) -> Type -> Type) (r :: [(Type -> Type) -> Type -> Type]) a. Member (Tagged k4 e) r => Sem (Tagged k3 e : r) a -> Sem r a
+ Incipit: runAtomicStateIORef :: forall s (r :: [(Type -> Type) -> Type -> Type]) a. Member (Embed IO) r => IORef s -> Sem ((AtomicState s :: (Type -> Type) -> Type -> Type) : r) a -> Sem r a
+ Incipit: runAtomicStateTVar :: forall (r :: [(Type -> Type) -> Type -> Type]) s a. Member (Embed IO) r => TVar s -> Sem ((AtomicState s :: (Type -> Type) -> Type -> Type) : r) a -> Sem r a
+ Incipit: runError :: forall e (r :: [(Type -> Type) -> Type -> Type]) a. Sem ((Error e :: (Type -> Type) -> Type -> Type) : r) a -> Sem r (Either e a)
+ Incipit: runFail :: forall (r :: [(Type -> Type) -> Type -> Type]) a. Sem ((Fail :: (Type -> Type) -> Type -> Type) : r) a -> Sem r (Either String a)
+ Incipit: runInputConst :: forall i (r :: [(Type -> Type) -> Type -> Type]) a. i -> Sem ((Input i :: (Type -> Type) -> Type -> Type) : r) a -> Sem r a
+ Incipit: runInputList :: forall i (r :: [(Type -> Type) -> Type -> Type]) a. [i] -> Sem ((Input (Maybe i) :: (Type -> Type) -> Type -> Type) : r) a -> Sem r a
+ Incipit: runInputSem :: forall i (r :: EffectRow) a. Sem r i -> Sem ((Input i :: (Type -> Type) -> Type -> Type) : r) a -> Sem r a
+ Incipit: runLazyOutputList :: forall o (r :: [(Type -> Type) -> Type -> Type]) a. Sem ((Output o :: (Type -> Type) -> Type -> Type) : r) a -> Sem r ([o], a)
+ Incipit: runLazyOutputMonoid :: forall o m (r :: [(Type -> Type) -> Type -> Type]) a. Monoid m => (o -> m) -> Sem ((Output o :: (Type -> Type) -> Type -> Type) : r) a -> Sem r (m, a)
+ Incipit: runLazyOutputMonoidAssocR :: forall o m (r :: [(Type -> Type) -> Type -> Type]) a. Monoid m => (o -> m) -> Sem ((Output o :: (Type -> Type) -> Type -> Type) : r) a -> Sem r (m, a)
+ Incipit: runLazyState :: forall s (r :: [(Type -> Type) -> Type -> Type]) a. s -> Sem ((State s :: (Type -> Type) -> Type -> Type) : r) a -> Sem r (s, a)
+ Incipit: runLazyWriter :: forall o (r :: [(Type -> Type) -> Type -> Type]) a. Monoid o => Sem (Writer o : r) a -> Sem r (o, a)
+ Incipit: runLazyWriterAssocR :: forall o (r :: [(Type -> Type) -> Type -> Type]) a. Monoid o => Sem (Writer o : r) a -> Sem r (o, a)
+ Incipit: runOutputBatched :: forall o (r :: [(Type -> Type) -> Type -> Type]) a. Member (Output [o] :: (Type -> Type) -> Type -> Type) r => Int -> Sem ((Output o :: (Type -> Type) -> Type -> Type) : r) a -> Sem r a
+ Incipit: runOutputList :: forall o (r :: [(Type -> Type) -> Type -> Type]) a. Sem ((Output o :: (Type -> Type) -> Type -> Type) : r) a -> Sem r ([o], a)
+ Incipit: runOutputMonoid :: forall o m (r :: [(Type -> Type) -> Type -> Type]) a. Monoid m => (o -> m) -> Sem ((Output o :: (Type -> Type) -> Type -> Type) : r) a -> Sem r (m, a)
+ Incipit: runOutputMonoidAssocR :: forall o m (r :: [(Type -> Type) -> Type -> Type]) a. Monoid m => (o -> m) -> Sem ((Output o :: (Type -> Type) -> Type -> Type) : r) a -> Sem r (m, a)
+ Incipit: runOutputMonoidIORef :: forall o m (r :: [(Type -> Type) -> Type -> Type]) a. (Monoid m, Member (Embed IO) r) => IORef m -> (o -> m) -> Sem ((Output o :: (Type -> Type) -> Type -> Type) : r) a -> Sem r a
+ Incipit: runOutputMonoidTVar :: forall o m (r :: [(Type -> Type) -> Type -> Type]) a. (Monoid m, Member (Embed IO) r) => TVar m -> (o -> m) -> Sem ((Output o :: (Type -> Type) -> Type -> Type) : r) a -> Sem r a
+ Incipit: runOutputSem :: forall o (r :: EffectRow) a. (o -> Sem r ()) -> Sem ((Output o :: (Type -> Type) -> Type -> Type) : r) a -> Sem r a
+ Incipit: runReader :: forall i (r :: [(Type -> Type) -> Type -> Type]) a. i -> Sem (Reader i : r) a -> Sem r a
+ Incipit: runResource :: forall (r :: [(Type -> Type) -> Type -> Type]) a. Sem (Resource : r) a -> Sem r a
+ Incipit: runState :: forall s (r :: [(Type -> Type) -> Type -> Type]) a. s -> Sem ((State s :: (Type -> Type) -> Type -> Type) : r) a -> Sem r (s, a)
+ Incipit: runStateIORef :: forall s (r :: [(Type -> Type) -> Type -> Type]) a. Member (Embed IO) r => IORef s -> Sem ((State s :: (Type -> Type) -> Type -> Type) : r) a -> Sem r a
+ Incipit: runStateSTRef :: forall s st (r :: [(Type -> Type) -> Type -> Type]) a. Member (Embed (ST st)) r => STRef st s -> Sem ((State s :: (Type -> Type) -> Type -> Type) : r) a -> Sem r a
+ Incipit: runWriter :: forall o (r :: [(Type -> Type) -> Type -> Type]) a. Monoid o => Sem (Writer o : r) a -> Sem r (o, a)
+ Incipit: runWriterAssocR :: forall o (r :: [(Type -> Type) -> Type -> Type]) a. Monoid o => Sem (Writer o : r) a -> Sem r (o, a)
+ Incipit: runWriterTVar :: forall o (r :: [(Type -> Type) -> Type -> Type]) a. (Monoid o, Member (Final IO) r) => TVar o -> Sem (Writer o : r) a -> Sem r a
+ Incipit: sequenceConcurrently :: forall t (r :: [(Type -> Type) -> Type -> Type]) a. (Traversable t, Member Async r) => t (Sem r a) -> Sem r (t (Maybe a))
+ Incipit: stateToIO :: forall s (r :: [(Type -> Type) -> Type -> Type]) a. Member (Embed IO) r => s -> Sem ((State s :: (Type -> Type) -> Type -> Type) : r) a -> Sem r (s, a)
+ Incipit: stateToST :: forall s st (r :: [(Type -> Type) -> Type -> Type]) a. Member (Embed (ST st)) r => s -> Sem ((State s :: (Type -> Type) -> Type -> Type) : r) a -> Sem r (s, a)
+ Incipit: tag :: forall {k1} (k2 :: k1) (e :: (Type -> Type) -> Type -> Type) (r :: [(Type -> Type) -> Type -> Type]) a. Member (Tagged k2 e) r => Sem (e : r) a -> Sem r a
+ Incipit: tagged :: forall {k1} (k2 :: k1) (e :: Effect) (r :: [Effect]) a. Sem (e : r) a -> Sem (Tagged k2 e : r) a
+ Incipit: tell :: forall o (r :: [Effect]). MemberWithError (Writer o) r => o -> Sem r ()
+ Incipit: throw :: forall e (r :: [Effect]) a. MemberWithError (Error e :: (Type -> Type) -> Type -> Type) r => e -> Sem r a
+ Incipit: try :: forall e (r :: [(Type -> Type) -> Type -> Type]) a. Member (Error e :: (Type -> Type) -> Type -> Type) r => Sem r a -> Sem r (Either e a)
+ Incipit: tryJust :: forall e (r :: [(Type -> Type) -> Type -> Type]) b a. Member (Error e :: (Type -> Type) -> Type -> Type) r => (e -> Maybe b) -> Sem r a -> Sem r (Either b a)
+ Incipit: unitT :: Functor f => Sem (WithTactics e f m r) (f ())
+ Incipit: untag :: forall {k1} (k2 :: k1) (e :: (Type -> Type) -> Type -> Type) (r :: [(Type -> Type) -> Type -> Type]) a. Sem (Tagged k2 e : r) a -> Sem (e : r) a
+ Incipit: writerToEndoWriter :: forall o (r :: [(Type -> Type) -> Type -> Type]) a. (Monoid o, Member (Writer (Endo o)) r) => Sem (Writer o : r) a -> Sem r a
+ Incipit: writerToIOAssocRFinal :: forall o (r :: [(Type -> Type) -> Type -> Type]) a. (Monoid o, Member (Final IO) r) => Sem (Writer o : r) a -> Sem r (o, a)
+ Incipit: writerToIOFinal :: forall o (r :: [(Type -> Type) -> Type -> Type]) a. (Monoid o, Member (Final IO) r) => Sem (Writer o : r) a -> Sem r (o, a)
Files
- changelog.md +6/−0
- incipit-core.cabal +3/−2
- lib/Incipit.hs +25/−11
changelog.md view
@@ -0,0 +1,6 @@+# Unreleased++# 0.2.0.0++* Add `unitT`, returning `()` in a `Tactical` environment+* Hide Polysemy's effect GADT constructors
incipit-core.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: incipit-core-version: 0.1.0.3+version: 0.2.0.0 synopsis: A Prelude for Polysemy description: See <https://hackage.haskell.org/package/incipit/docs/Incipit.html> category: Prelude@@ -53,6 +53,7 @@ , Data.Text , Data.Text.IO , Data.Text.Lazy+ , Data.Text.Lazy.Builder , Data.Text.Lazy.IO , Data.Text.Read , Data.Tree@@ -120,7 +121,7 @@ ghc-options: -Wall -Wredundant-constraints -Wincomplete-uni-patterns -Wmissing-deriving-strategies -Widentities build-depends: base ==4.*- , incipit-base ==0.1.0.3+ , incipit-base ==0.2.0.0 , polysemy >=1.6 mixins: base hiding (Prelude)
lib/Incipit.hs view
@@ -21,19 +21,25 @@ import qualified Control.Exception as Base import IncipitBase import Polysemy hiding (run)-import Polysemy.Async-import Polysemy.AtomicState-import Polysemy.Error-import Polysemy.Fail-import Polysemy.Input+import Polysemy.Async (Async)+import Polysemy.Async hiding (Async, Await, Cancel)+import Polysemy.AtomicState (AtomicState)+import Polysemy.AtomicState hiding (AtomicGet, AtomicState)+import Polysemy.Error hiding (Catch, Throw)+import Polysemy.Fail (Fail)+import Polysemy.Fail hiding (Fail)+import Polysemy.Input (Input)+import Polysemy.Input hiding (Input) import Polysemy.Internal (send) import Polysemy.Internal.Kind (Append)-import Polysemy.Output-import Polysemy.Reader-import Polysemy.Resource-import Polysemy.State-import Polysemy.Tagged-import Polysemy.Writer+import Polysemy.Output (Output)+import Polysemy.Output hiding (Output)+import Polysemy.Reader hiding (Ask, Local)+import Polysemy.Resource hiding (Bracket, BracketOnError)+import Polysemy.State hiding (Get, Put)+import Polysemy.Tagged (Tagged)+import Polysemy.Tagged hiding (Tagged)+import Polysemy.Writer hiding (Listen, Pass, Tell) -- |Run an 'IO' via 'Embed' and catch all exceptions, returning 'Either'. tryAny ::@@ -67,3 +73,11 @@ Append a b infixr 5 ++++-- |Convenience alias for @pureT ()@.+unitT ::+ Functor f =>+ Sem (WithTactics e f m r) (f ())+unitT =+ pureT ()+{-# inline unitT #-}