packages feed

universum 1.7.0 → 1.7.1

raw patch · 3 files changed

+25/−4 lines, 3 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Universum.Container.Class: instance (GHC.Classes.Eq v, Data.Hashable.Class.Hashable v) => Universum.Container.Class.Container (Data.HashSet.Base.HashSet v)
- Universum.Container.Class: instance Data.Hashable.Class.Hashable k => Universum.Container.Class.One (Data.HashMap.Base.HashMap k v)
- Universum.Container.Class: instance Data.Hashable.Class.Hashable v => Universum.Container.Class.One (Data.HashSet.Base.HashSet v)
- Universum.Container.Class: instance Universum.Container.Class.Container (Data.HashMap.Base.HashMap k v)
- Universum.Container.Class: instance Universum.Container.Class.ToPairs (Data.HashMap.Base.HashMap k v)
+ Universum.Container.Class: instance (GHC.Classes.Eq v, Data.Hashable.Class.Hashable v) => Universum.Container.Class.Container (Data.HashSet.Internal.HashSet v)
+ Universum.Container.Class: instance Data.Hashable.Class.Hashable k => Universum.Container.Class.One (Data.HashMap.Internal.HashMap k v)
+ Universum.Container.Class: instance Data.Hashable.Class.Hashable v => Universum.Container.Class.One (Data.HashSet.Internal.HashSet v)
+ Universum.Container.Class: instance Universum.Container.Class.Container (Data.HashMap.Internal.HashMap k v)
+ Universum.Container.Class: instance Universum.Container.Class.ToPairs (Data.HashMap.Internal.HashMap k v)
+ Universum.Monad.Trans: hoistEither :: Applicative m => Either e a -> ExceptT e m a
+ Universum.Monad.Trans: hoistMaybe :: Applicative m => Maybe a -> MaybeT m a

Files

CHANGES.md view
@@ -1,3 +1,10 @@+1.7.1+=====++* [#230](https://github.com/serokell/universum/issues/230):+  Add `hoistMaybe` and `hoistEither` functions +  similar to [relude](https://hackage.haskell.org/package/relude-0.7.0.0/docs/Relude-Monad-Trans.html#v:hoistMaybe)+ 1.7.0 ===== 
src/Universum/Monad/Trans.hs view
@@ -14,13 +14,17 @@        , executingStateT        , usingState        , usingStateT+       +         -- * Convenient functions to work with 'MaybeT' and 'ExceptT' transformers+       , hoistMaybe+       , hoistEither        ) where -import Prelude (flip, fst, snd)+import Prelude (Applicative (..), flip, fst, snd)  import Universum.Functor (Functor, (<$>))-import Universum.Monad.Reexport (Reader, ReaderT, State, StateT, runReader, runReaderT, runState,-                                 runStateT)+import Universum.Monad.Reexport (Either, ExceptT (..), Maybe, MaybeT (..), Reader, ReaderT, State,+                                 StateT, runReader, runReaderT, runState, runStateT)  -- | Shorter and more readable alias for @flip runReaderT@. usingReaderT :: r -> ReaderT r m a -> m a@@ -65,3 +69,13 @@ executingState :: s -> State s a -> s executingState s st = snd (usingState s st) {-# INLINE executingState #-}++-- | Lift a 'Maybe' to the 'MaybeT' monad+hoistMaybe  :: Applicative m => Maybe a -> MaybeT m a+hoistMaybe m = MaybeT (pure m)+{-# INLINE hoistMaybe #-}++-- | Lift a 'Either' to the 'ExceptT' monad+hoistEither :: Applicative m => Either e a -> ExceptT e m a+hoistEither e = ExceptT (pure e)+{-# INLINE hoistEither #-}
universum.cabal view
@@ -1,6 +1,6 @@ cabal-version:       2.2 name:                universum-version:             1.7.0+version:             1.7.1 synopsis:            Custom prelude used in Serokell description:         See README.md file for more details. homepage:            https://github.com/serokell/universum