universum 1.7.1 → 1.7.2
raw patch · 3 files changed
+18/−3 lines, 3 filesdep ~textPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: text
API changes (from Hackage documentation)
- Universum.Applicative: newtype Const a (b :: k) :: forall k. () => Type -> k -> Type
- Universum.Base: [SomeNat] :: forall (n :: Nat). KnownNat n => Proxy n -> SomeNat
- Universum.Base: data Proxy (t :: k) :: forall k. () => k -> Type
- Universum.Exception: [SomeException] :: forall e. Exception e => e -> SomeException
- Universum.Functor.Reexport: newtype Compose (f :: k -> Type) (g :: k1 -> k) (a :: k1) :: forall k k1. () => k -> Type -> k1 -> k -> k1 -> Type
- Universum.Monad.Reexport: data IdentityT (f :: k -> Type) (a :: k) :: forall k. () => k -> Type -> k -> Type
- Universum.Monad.Reexport: newtype ReaderT r (m :: k -> Type) (a :: k) :: forall k. () => Type -> k -> Type -> k -> Type
- Universum.Monoid: newtype Alt (f :: k -> Type) (a :: k) :: forall k. () => k -> Type -> k -> Type
- Universum.VarArg: instance (Universum.VarArg.SuperComposition (a -> b) d r1, r Data.Type.Equality.~ (c -> r1)) => Universum.VarArg.SuperComposition (a -> b) (c -> d) r
- Universum.VarArg: instance (a Data.Type.Equality.~ c, r Data.Type.Equality.~ b) => Universum.VarArg.SuperComposition (a -> b) c r
+ Universum.Applicative: newtype Const a (b :: k)
+ Universum.Applicative: someNE :: Alternative f => f a -> f (NonEmpty a)
+ Universum.Base: SomeNat :: Proxy n -> SomeNat
+ Universum.Base: [getDown] :: Down a -> a
+ Universum.Base: data Proxy (t :: k)
+ Universum.Exception: SomeException :: e -> SomeException
+ Universum.Functor.Reexport: newtype Compose (f :: k -> Type) (g :: k1 -> k) (a :: k1)
+ Universum.Monad.Reexport: data IdentityT (f :: k -> Type) (a :: k)
+ Universum.Monad.Reexport: newtype ReaderT r (m :: Type -> Type) a
+ Universum.Monoid: newtype Alt (f :: k -> Type) (a :: k)
+ Universum.VarArg: instance (Universum.VarArg.SuperComposition (a -> b) d r1, r GHC.Types.~ (c -> r1)) => Universum.VarArg.SuperComposition (a -> b) (c -> d) r
+ Universum.VarArg: instance (a GHC.Types.~ c, r GHC.Types.~ b) => Universum.VarArg.SuperComposition (a -> b) c r
- Universum: (%~) :: () => ASetter s t a b -> (a -> b) -> s -> t
+ Universum: (%~) :: ASetter s t a b -> (a -> b) -> s -> t
- Universum: (&) :: () => a -> (a -> b) -> b
+ Universum: (&) :: a -> (a -> b) -> b
- Universum: (.~) :: () => ASetter s t a b -> b -> s -> t
+ Universum: (.~) :: ASetter s t a b -> b -> s -> t
- Universum: (^.) :: () => s -> Getting a s a -> a
+ Universum: (^.) :: s -> Getting a s a -> a
- Universum: (^..) :: () => s -> Getting (Endo [a]) s a -> [a]
+ Universum: (^..) :: s -> Getting (Endo [a]) s a -> [a]
- Universum: (^?) :: () => s -> Getting (First a) s a -> Maybe a
+ Universum: (^?) :: s -> Getting (First a) s a -> Maybe a
- Universum: over :: () => ASetter s t a b -> (a -> b) -> s -> t
+ Universum: over :: ASetter s t a b -> (a -> b) -> s -> t
- Universum: set :: () => ASetter s t a b -> b -> s -> t
+ Universum: set :: ASetter s t a b -> b -> s -> t
- Universum.Applicative: Const :: a -> Const a
+ Universum.Applicative: Const :: a -> Const a (b :: k)
- Universum.Applicative: [getConst] :: Const a -> a
+ Universum.Applicative: [getConst] :: Const a (b :: k) -> a
- Universum.Base: Proxy :: Proxy
+ Universum.Base: Proxy :: Proxy (t :: k)
- Universum.Base: absurd :: () => Void -> a
+ Universum.Base: absurd :: Void -> a
- Universum.Base: asTypeOf :: () => a -> a -> a
+ Universum.Base: asTypeOf :: a -> a -> a
- Universum.Base: callStack :: HasCallStack -> CallStack
+ Universum.Base: callStack :: HasCallStack => CallStack
- Universum.Base: class a ~R# b => Coercible (a :: k0) (b :: k0)
+ Universum.Base: class a ~R# b => Coercible (a :: k) (b :: k)
- Universum.Base: denominator :: () => Ratio a -> a
+ Universum.Base: denominator :: Ratio a -> a
- Universum.Base: divZeroError :: () => a
+ Universum.Base: divZeroError :: a
- Universum.Base: infix 4 <=
+ Universum.Base: infix 4 >=
- Universum.Base: infixl 6 -
+ Universum.Base: infixl 6 +
- Universum.Base: infixl 7 `mod`
+ Universum.Base: infixl 7 `quot`
- Universum.Base: natVal :: KnownNat n => proxy n -> Natural
+ Universum.Base: natVal :: forall (n :: Nat) proxy. KnownNat n => proxy n -> Natural
- Universum.Base: numerator :: () => Ratio a -> a
+ Universum.Base: numerator :: Ratio a -> a
- Universum.Base: overflowError :: () => a
+ Universum.Base: overflowError :: a
- Universum.Base: ratioZeroDenominatorError :: () => a
+ Universum.Base: ratioZeroDenominatorError :: a
- Universum.Base: seq :: () => a -> b -> b
+ Universum.Base: seq :: forall (r :: RuntimeRep) a (b :: TYPE r). a -> b -> b
- Universum.Base: underflowError :: () => a
+ Universum.Base: underflowError :: a
- Universum.Base: withFrozenCallStack :: HasCallStack => (HasCallStack -> a) -> a
+ Universum.Base: withFrozenCallStack :: HasCallStack => (HasCallStack => a) -> a
- Universum.Bool.Reexport: bool :: () => a -> a -> Bool -> a
+ Universum.Bool.Reexport: bool :: a -> a -> Bool -> a
- Universum.Container.Reexport: curry :: () => ((a, b) -> c) -> a -> b -> c
+ Universum.Container.Reexport: curry :: ((a, b) -> c) -> a -> b -> c
- Universum.Container.Reexport: fst :: () => (a, b) -> a
+ Universum.Container.Reexport: fst :: (a, b) -> a
- Universum.Container.Reexport: snd :: () => (a, b) -> b
+ Universum.Container.Reexport: snd :: (a, b) -> b
- Universum.Container.Reexport: swap :: () => (a, b) -> (b, a)
+ Universum.Container.Reexport: swap :: (a, b) -> (b, a)
- Universum.Container.Reexport: uncurry :: () => (a -> b -> c) -> (a, b) -> c
+ Universum.Container.Reexport: uncurry :: (a -> b -> c) -> (a, b) -> c
- Universum.Function: ($) :: () => (a -> b) -> a -> b
+ Universum.Function: ($) :: forall (r :: RuntimeRep) a (b :: TYPE r). (a -> b) -> a -> b
- Universum.Function: (.) :: () => (b -> c) -> (a -> b) -> a -> c
+ Universum.Function: (.) :: (b -> c) -> (a -> b) -> a -> c
- Universum.Function: const :: () => a -> b -> a
+ Universum.Function: const :: a -> b -> a
- Universum.Function: fix :: () => (a -> a) -> a
+ Universum.Function: fix :: (a -> a) -> a
- Universum.Function: flip :: () => (a -> b -> c) -> b -> a -> c
+ Universum.Function: flip :: (a -> b -> c) -> b -> a -> c
- Universum.Function: id :: () => a -> a
+ Universum.Function: id :: a -> a
- Universum.Function: on :: () => (b -> b -> c) -> (a -> b) -> a -> a -> c
+ Universum.Function: on :: (b -> b -> c) -> (a -> b) -> a -> a -> c
- Universum.Functor.Reexport: Compose :: f (g a) -> Compose
+ Universum.Functor.Reexport: Compose :: f (g a) -> Compose (f :: k -> Type) (g :: k1 -> k) (a :: k1)
- Universum.Functor.Reexport: [getCompose] :: Compose -> f (g a)
+ Universum.Functor.Reexport: [getCompose] :: Compose (f :: k -> Type) (g :: k1 -> k) (a :: k1) -> f (g a)
- Universum.Lifted.Concurrent: modifyTVar' :: () => TVar a -> (a -> a) -> STM ()
+ Universum.Lifted.Concurrent: modifyTVar' :: TVar a -> (a -> a) -> STM ()
- Universum.Lifted.Concurrent: newTVar :: () => a -> STM (TVar a)
+ Universum.Lifted.Concurrent: newTVar :: a -> STM (TVar a)
- Universum.Lifted.Concurrent: readTVar :: () => TVar a -> STM a
+ Universum.Lifted.Concurrent: readTVar :: TVar a -> STM a
- Universum.Lifted.Concurrent: writeTVar :: () => TVar a -> a -> STM ()
+ Universum.Lifted.Concurrent: writeTVar :: TVar a -> a -> STM ()
- Universum.List.Reexport: (++) :: () => [a] -> [a] -> [a]
+ Universum.List.Reexport: (++) :: [a] -> [a] -> [a]
- Universum.List.Reexport: break :: () => (a -> Bool) -> [a] -> ([a], [a])
+ Universum.List.Reexport: break :: (a -> Bool) -> [a] -> ([a], [a])
- Universum.List.Reexport: cycle :: () => [a] -> [a]
+ Universum.List.Reexport: cycle :: [a] -> [a]
- Universum.List.Reexport: drop :: () => Int -> [a] -> [a]
+ Universum.List.Reexport: drop :: Int -> [a] -> [a]
- Universum.List.Reexport: dropWhile :: () => (a -> Bool) -> [a] -> [a]
+ Universum.List.Reexport: dropWhile :: (a -> Bool) -> [a] -> [a]
- Universum.List.Reexport: filter :: () => (a -> Bool) -> [a] -> [a]
+ Universum.List.Reexport: filter :: (a -> Bool) -> [a] -> [a]
- Universum.List.Reexport: head :: () => NonEmpty a -> a
+ Universum.List.Reexport: head :: NonEmpty a -> a
- Universum.List.Reexport: init :: () => NonEmpty a -> [a]
+ Universum.List.Reexport: init :: NonEmpty a -> [a]
- Universum.List.Reexport: inits :: () => [a] -> [[a]]
+ Universum.List.Reexport: inits :: [a] -> [[a]]
- Universum.List.Reexport: intercalate :: () => [a] -> [[a]] -> [a]
+ Universum.List.Reexport: intercalate :: [a] -> [[a]] -> [a]
- Universum.List.Reexport: intersperse :: () => a -> [a] -> [a]
+ Universum.List.Reexport: intersperse :: a -> [a] -> [a]
- Universum.List.Reexport: iterate :: () => (a -> a) -> a -> [a]
+ Universum.List.Reexport: iterate :: (a -> a) -> a -> [a]
- Universum.List.Reexport: last :: () => NonEmpty a -> a
+ Universum.List.Reexport: last :: NonEmpty a -> a
- Universum.List.Reexport: nonEmpty :: () => [a] -> Maybe (NonEmpty a)
+ Universum.List.Reexport: nonEmpty :: [a] -> Maybe (NonEmpty a)
- Universum.List.Reexport: permutations :: () => [a] -> [[a]]
+ Universum.List.Reexport: permutations :: [a] -> [[a]]
- Universum.List.Reexport: repeat :: () => a -> [a]
+ Universum.List.Reexport: repeat :: a -> [a]
- Universum.List.Reexport: replicate :: () => Int -> a -> [a]
+ Universum.List.Reexport: replicate :: Int -> a -> [a]
- Universum.List.Reexport: reverse :: () => [a] -> [a]
+ Universum.List.Reexport: reverse :: [a] -> [a]
- Universum.List.Reexport: scanl :: () => (b -> a -> b) -> b -> [a] -> [b]
+ Universum.List.Reexport: scanl :: (b -> a -> b) -> b -> [a] -> [b]
- Universum.List.Reexport: scanr :: () => (a -> b -> b) -> b -> [a] -> [b]
+ Universum.List.Reexport: scanr :: (a -> b -> b) -> b -> [a] -> [b]
- Universum.List.Reexport: sortBy :: () => (a -> a -> Ordering) -> [a] -> [a]
+ Universum.List.Reexport: sortBy :: (a -> a -> Ordering) -> [a] -> [a]
- Universum.List.Reexport: splitAt :: () => Int -> [a] -> ([a], [a])
+ Universum.List.Reexport: splitAt :: Int -> [a] -> ([a], [a])
- Universum.List.Reexport: subsequences :: () => [a] -> [[a]]
+ Universum.List.Reexport: subsequences :: [a] -> [[a]]
- Universum.List.Reexport: tail :: () => NonEmpty a -> [a]
+ Universum.List.Reexport: tail :: NonEmpty a -> [a]
- Universum.List.Reexport: tails :: () => [a] -> [[a]]
+ Universum.List.Reexport: tails :: [a] -> [[a]]
- Universum.List.Reexport: take :: () => Int -> [a] -> [a]
+ Universum.List.Reexport: take :: Int -> [a] -> [a]
- Universum.List.Reexport: takeWhile :: () => (a -> Bool) -> [a] -> [a]
+ Universum.List.Reexport: takeWhile :: (a -> Bool) -> [a] -> [a]
- Universum.List.Reexport: transpose :: () => [[a]] -> [[a]]
+ Universum.List.Reexport: transpose :: [[a]] -> [[a]]
- Universum.List.Reexport: unfoldr :: () => (b -> Maybe (a, b)) -> b -> [a]
+ Universum.List.Reexport: unfoldr :: (b -> Maybe (a, b)) -> b -> [a]
- Universum.List.Reexport: unzip :: () => [(a, b)] -> ([a], [b])
+ Universum.List.Reexport: unzip :: [(a, b)] -> ([a], [b])
- Universum.List.Reexport: unzip3 :: () => [(a, b, c)] -> ([a], [b], [c])
+ Universum.List.Reexport: unzip3 :: [(a, b, c)] -> ([a], [b], [c])
- Universum.List.Reexport: zip :: () => [a] -> [b] -> [(a, b)]
+ Universum.List.Reexport: zip :: [a] -> [b] -> [(a, b)]
- Universum.List.Reexport: zip3 :: () => [a] -> [b] -> [c] -> [(a, b, c)]
+ Universum.List.Reexport: zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
- Universum.List.Reexport: zipWith :: () => (a -> b -> c) -> [a] -> [b] -> [c]
+ Universum.List.Reexport: zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
- Universum.Monad.Reexport: ExceptT :: m (Either e a) -> ExceptT e a
+ Universum.Monad.Reexport: ExceptT :: m (Either e a) -> ExceptT e (m :: Type -> Type) a
- Universum.Monad.Reexport: MaybeT :: m (Maybe a) -> MaybeT a
+ Universum.Monad.Reexport: MaybeT :: m (Maybe a) -> MaybeT (m :: Type -> Type) a
- Universum.Monad.Reexport: ReaderT :: (r -> m a) -> ReaderT r
+ Universum.Monad.Reexport: ReaderT :: (r -> m a) -> ReaderT r (m :: Type -> Type) a
- Universum.Monad.Reexport: StateT :: (s -> m (a, s)) -> StateT s a
+ Universum.Monad.Reexport: StateT :: (s -> m (a, s)) -> StateT s (m :: Type -> Type) a
- Universum.Monad.Reexport: [runMaybeT] :: MaybeT a -> m (Maybe a)
+ Universum.Monad.Reexport: [runMaybeT] :: MaybeT (m :: Type -> Type) a -> m (Maybe a)
- Universum.Monad.Reexport: [runReaderT] :: ReaderT r -> r -> m a
+ Universum.Monad.Reexport: [runReaderT] :: ReaderT r (m :: Type -> Type) a -> r -> m a
- Universum.Monad.Reexport: [runStateT] :: StateT s a -> s -> m (a, s)
+ Universum.Monad.Reexport: [runStateT] :: StateT s (m :: Type -> Type) a -> s -> m (a, s)
- Universum.Monad.Reexport: catMaybes :: () => [Maybe a] -> [a]
+ Universum.Monad.Reexport: catMaybes :: [Maybe a] -> [a]
- Universum.Monad.Reexport: either :: () => (a -> c) -> (b -> c) -> Either a b -> c
+ Universum.Monad.Reexport: either :: (a -> c) -> (b -> c) -> Either a b -> c
- Universum.Monad.Reexport: evalState :: () => State s a -> s -> a
+ Universum.Monad.Reexport: evalState :: State s a -> s -> a
- Universum.Monad.Reexport: exceptToMaybeT :: Functor m => ExceptT e m a -> MaybeT m a
+ Universum.Monad.Reexport: exceptToMaybeT :: forall (m :: Type -> Type) e a. Functor m => ExceptT e m a -> MaybeT m a
- Universum.Monad.Reexport: execState :: () => State s a -> s -> s
+ Universum.Monad.Reexport: execState :: State s a -> s -> s
- Universum.Monad.Reexport: fromMaybe :: () => a -> Maybe a -> a
+ Universum.Monad.Reexport: fromMaybe :: a -> Maybe a -> a
- Universum.Monad.Reexport: isJust :: () => Maybe a -> Bool
+ Universum.Monad.Reexport: isJust :: Maybe a -> Bool
- Universum.Monad.Reexport: isLeft :: () => Either a b -> Bool
+ Universum.Monad.Reexport: isLeft :: Either a b -> Bool
- Universum.Monad.Reexport: isNothing :: () => Maybe a -> Bool
+ Universum.Monad.Reexport: isNothing :: Maybe a -> Bool
- Universum.Monad.Reexport: isRight :: () => Either a b -> Bool
+ Universum.Monad.Reexport: isRight :: Either a b -> Bool
- Universum.Monad.Reexport: lefts :: () => [Either a b] -> [a]
+ Universum.Monad.Reexport: lefts :: [Either a b] -> [a]
- Universum.Monad.Reexport: listToMaybe :: () => [a] -> Maybe a
+ Universum.Monad.Reexport: listToMaybe :: [a] -> Maybe a
- Universum.Monad.Reexport: mapMaybe :: () => (a -> Maybe b) -> [a] -> [b]
+ Universum.Monad.Reexport: mapMaybe :: (a -> Maybe b) -> [a] -> [b]
- Universum.Monad.Reexport: maybe :: () => b -> (a -> b) -> Maybe a -> b
+ Universum.Monad.Reexport: maybe :: b -> (a -> b) -> Maybe a -> b
- Universum.Monad.Reexport: maybeToExceptT :: Functor m => e -> MaybeT m a -> ExceptT e m a
+ Universum.Monad.Reexport: maybeToExceptT :: forall (m :: Type -> Type) e a. Functor m => e -> MaybeT m a -> ExceptT e m a
- Universum.Monad.Reexport: maybeToList :: () => Maybe a -> [a]
+ Universum.Monad.Reexport: maybeToList :: Maybe a -> [a]
- Universum.Monad.Reexport: partitionEithers :: () => [Either a b] -> ([a], [b])
+ Universum.Monad.Reexport: partitionEithers :: [Either a b] -> ([a], [b])
- Universum.Monad.Reexport: rights :: () => [Either a b] -> [b]
+ Universum.Monad.Reexport: rights :: [Either a b] -> [b]
- Universum.Monad.Reexport: runExceptT :: () => ExceptT e m a -> m (Either e a)
+ Universum.Monad.Reexport: runExceptT :: ExceptT e m a -> m (Either e a)
- Universum.Monad.Reexport: runReader :: () => Reader r a -> r -> a
+ Universum.Monad.Reexport: runReader :: Reader r a -> r -> a
- Universum.Monad.Reexport: runState :: () => State s a -> s -> (a, s)
+ Universum.Monad.Reexport: runState :: State s a -> s -> (a, s)
- Universum.Monad.Reexport: withState :: () => (s -> s) -> State s a -> State s a
+ Universum.Monad.Reexport: withState :: (s -> s) -> State s a -> State s a
- Universum.Monoid: Alt :: f a -> Alt
+ Universum.Monoid: Alt :: f a -> Alt (f :: k -> Type) (a :: k)
- Universum.Monoid: [getAlt] :: Alt -> f a
+ Universum.Monoid: [getAlt] :: Alt (f :: k -> Type) (a :: k) -> f a
- Universum.Unsafe: (!!) :: () => [a] -> Int -> a
+ Universum.Unsafe: (!!) :: [a] -> Int -> a
- Universum.Unsafe: fromJust :: () => Maybe a -> a
+ Universum.Unsafe: fromJust :: HasCallStack => Maybe a -> a
- Universum.Unsafe: head :: () => [a] -> a
+ Universum.Unsafe: head :: [a] -> a
- Universum.Unsafe: init :: () => [a] -> [a]
+ Universum.Unsafe: init :: [a] -> [a]
- Universum.Unsafe: last :: () => [a] -> a
+ Universum.Unsafe: last :: [a] -> a
- Universum.Unsafe: tail :: () => [a] -> [a]
+ Universum.Unsafe: tail :: [a] -> [a]
Files
- CHANGES.md +8/−1
- src/Universum/Applicative.hs +8/−0
- universum.cabal +2/−2
CHANGES.md view
@@ -1,8 +1,15 @@+1.7.2+=====++* Permit `text-1.2.4.1`.+* [#233](https://github.com/serokell/universum/issues/223):+ Add `someNE`.+ 1.7.1 ===== * [#230](https://github.com/serokell/universum/issues/230):- Add `hoistMaybe` and `hoistEither` functions + 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/Applicative.hs view
@@ -7,10 +7,13 @@ module Universum.Applicative ( module Control.Applicative , pass+ , someNE ) where import Control.Applicative (Alternative (..), Applicative (..), Const (..), ZipList (..), liftA2, liftA3, optional, (<**>))+import Data.Functor (fmap)+import qualified Data.List.NonEmpty as NE -- $setup -- >>> import Universum.Monad (Maybe)@@ -21,6 +24,11 @@ -- Just () pass :: Applicative f => f () pass = pure ()++-- | Similar to 'some', but reflects in types that a non-empty list+-- is returned.+someNE :: Alternative f => f a -> f (NE.NonEmpty a)+someNE x = fmap NE.fromList (some x) {- orAlt :: (Alternative f, Monoid a) => f a -> f a
universum.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.2 name: universum-version: 1.7.1+version: 1.7.2 synopsis: Custom prelude used in Serokell description: See README.md file for more details. homepage: https://github.com/serokell/universum@@ -102,7 +102,7 @@ , stm -- Make sure that "toString-toText-rewritting" note -- is still valid when bumping this constraint.- , text >= 1.0.0.0 && <= 1.2.4.0+ , text >= 1.0.0.0 && <= 1.2.4.1 , transformers , unordered-containers , utf8-string