packages feed

transformers-except 0.1.2 → 0.1.3

raw patch · 2 files changed

+42/−37 lines, 2 filesdep ~textdep ~transformers

Dependency ranges changed: text, transformers

Files

src/Control/Monad/Trans/Except/Extra.hs view
@@ -1,5 +1,4 @@ {-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE RankNTypes #-} ----------------------------------------------------------------------------- -- |@@ -44,22 +43,24 @@   , bracketExceptionT    , hushM+  , onLeft+  , onNothing   ) where  import           Control.Exception (Exception, IOException, SomeException) import qualified Control.Exception as Exception-import           Control.Monad (Monad(..), (=<<))+import           Control.Monad (Monad (..), (=<<)) import           Control.Monad.Catch (Handler (..), MonadCatch, MonadMask, catchAll, mask, throwM) import qualified Control.Monad.Catch as Catch import           Control.Monad.IO.Class (MonadIO, liftIO) import           Control.Monad.Trans.Class (lift) import           Control.Monad.Trans.Except -import           Data.Maybe (Maybe(..), maybe)-import           Data.Either (Either(..), either)+import           Data.Either (Either (..), either) import           Data.Foldable (Foldable, foldr)-import           Data.Function (($), (.), const, id, flip)-import           Data.Functor (Functor(..))+import           Data.Function (const, flip, id, ($), (.))+import           Data.Functor (Functor (..))+import           Data.Maybe (Maybe (..), maybe)  import           System.IO (IO) @@ -292,3 +293,13 @@   Right a -> return (Just a)   Left e -> f e >> return Nothing {-# INLINE hushM #-}++-- | Handle the Left constructor in returned Either.+onLeft :: forall e x m a. Monad m => (e -> ExceptT x m a) -> ExceptT x m (Either e a) -> ExceptT x m a+onLeft h f = f >>= either h return+{-# INLINE onLeft #-}++-- | Handle the Nothing constructor in returned Maybe.+onNothing :: forall x m a. Monad m => ExceptT x m a -> ExceptT x m (Maybe a) -> ExceptT x m a+onNothing h f = f >>= maybe h return+{-# INLINE onNothing #-}
transformers-except.cabal view
@@ -1,41 +1,35 @@-cabal-version:         3.0-name:                  transformers-except-version:               0.1.2-license:               BSD-3-Clause-license-file:          LICENSE-author:                Tim McGilchrist <timmcgil@gmail.com>-maintainer:            Tim McGilchrist <timmcgil@gmail.com>-copyright:             (c) 2017 Tim McGilchrist-synopsis:              An Except monad transformer with -category:              System-build-type:            Simple-tested-with:           GHC == 8.10.5-                     , GHC == 8.8.4-                     , GHC == 8.6.5-                     , GHC == 8.4.4-                     , GHC == 8.2.2-                     , GHC == 8.0.2+cabal-version: 3.0+name:          transformers-except+version:       0.1.3+license:       BSD-3-Clause+license-file:  LICENSE+author:        Tim McGilchrist <timmcgil@gmail.com>+maintainer:    Tim McGilchrist <timmcgil@gmail.com>+copyright:     (c) 2023 Tim McGilchrist+synopsis:      An Except monad transformer with+category:      System+build-type:    Simple+tested-with:+  GHC ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.5 -description:           Extra pieces for working with Except+description:   Extra pieces for working with Except homepage:      http://github.com/tmcgilchrist/transformers-either/ bug-reports:   http://github.com/tmcgilchrist/transformers-either/issues+ source-repository head-  type: git+  type:     git   location: https://github.com/tmcgilchrist/transformers-either.git  library   build-depends:-                       base                            >= 4.8        && < 5-                     , text                            == 1.2.*-                     , exceptions                      >= 0.6        && < 0.11-                     , transformers                    >= 0.4        && < 0.6--  ghc-options:-                       -Wall-  default-language:   Haskell98-  hs-source-dirs:-                       src+    , base          >=4.8 && <5+    , exceptions    >=0.6 && <0.11+    , text          ^>=1.2+    , transformers  >=0.4 && <0.7 +  ghc-options:      -Wall+  default-language: Haskell98+  hs-source-dirs:   src   exposed-modules:-                       Control.Monad.Trans.Except.Extra-                       Control.Monad.Trans.Except.Exit+    Control.Monad.Trans.Except.Exit+    Control.Monad.Trans.Except.Extra