util-0.1.2.1: Utilities

Safe HaskellNone
LanguageHaskell2010

Util

Documentation

(&=&) :: Applicative p => (a -> p b) -> (a -> p c) -> a -> p (b, c) infixr 3 Source #

(*=*) :: Applicative p => (a1 -> p b1) -> (a2 -> p b2) -> (a1, a2) -> p (b1, b2) infixr 3 Source #

tripleK :: Applicative p => (a1 -> p b1) -> (a2 -> p b2) -> (a3 -> p b3) -> (a1, a2, a3) -> p (b1, b2, b3) Source #

(<||>) :: Applicative p => p Bool -> p Bool -> p Bool infixr 2 Source #

(<&&>) :: Applicative p => p Bool -> p Bool -> p Bool infixr 3 Source #

liftA4 :: Applicative p => (a -> b -> c -> d -> e) -> p a -> p b -> p c -> p d -> p e Source #

apMA :: Monad m => m (a -> m b) -> a -> m b Source #

whileJust :: (Alternative f, Monad m) => m (Maybe a) -> (a -> m b) -> m (f b) Source #

untilJust :: Monad m => m (Maybe a) -> m a Source #

list :: b -> (a -> [a] -> b) -> [a] -> b Source #

(∘) :: Category p => p b c -> p a b -> p a c infixr 9 Source #

(&) :: Category p => p a b -> p b c -> p a c infixr 9 Source #

(∘∘) :: (c -> d) -> (a -> b -> c) -> a -> b -> d infixr 9 Source #

onn :: (a -> a -> a -> b) -> (c -> a) -> c -> c -> c -> b infixl 0 Source #

fst3 :: (a, b, c) -> a Source #

snd3 :: (a, b, c) -> b Source #

þrd3 :: (a, b, c) -> c Source #

replicate :: Alternative f => Natural -> a -> f a Source #

replicateA :: (Applicative p, Alternative f) => Natural -> p a -> p (f a) Source #

mtimesA :: (Applicative p, Semigroup a, Monoid a) => Natural -> p a -> p a Source #

newtype Ap p a Source #

Constructors

Ap 

Fields

Instances

Monad p => Monad (Ap p) Source # 

Methods

(>>=) :: Ap p a -> (a -> Ap p b) -> Ap p b #

(>>) :: Ap p a -> Ap p b -> Ap p b #

return :: a -> Ap p a #

fail :: String -> Ap p a #

Functor p => Functor (Ap p) Source # 

Methods

fmap :: (a -> b) -> Ap p a -> Ap p b #

(<$) :: a -> Ap p b -> Ap p a #

Applicative p => Applicative (Ap p) Source # 

Methods

pure :: a -> Ap p a #

(<*>) :: Ap p (a -> b) -> Ap p a -> Ap p b #

(*>) :: Ap p a -> Ap p b -> Ap p b #

(<*) :: Ap p a -> Ap p b -> Ap p a #

Foldable p => Foldable (Ap p) Source # 

Methods

fold :: Monoid m => Ap p m -> m #

foldMap :: Monoid m => (a -> m) -> Ap p a -> m #

foldr :: (a -> b -> b) -> b -> Ap p a -> b #

foldr' :: (a -> b -> b) -> b -> Ap p a -> b #

foldl :: (b -> a -> b) -> b -> Ap p a -> b #

foldl' :: (b -> a -> b) -> b -> Ap p a -> b #

foldr1 :: (a -> a -> a) -> Ap p a -> a #

foldl1 :: (a -> a -> a) -> Ap p a -> a #

toList :: Ap p a -> [a] #

null :: Ap p a -> Bool #

length :: Ap p a -> Int #

elem :: Eq a => a -> Ap p a -> Bool #

maximum :: Ord a => Ap p a -> a #

minimum :: Ord a => Ap p a -> a #

sum :: Num a => Ap p a -> a #

product :: Num a => Ap p a -> a #

Traversable p => Traversable (Ap p) Source # 

Methods

traverse :: Applicative f => (a -> f b) -> Ap p a -> f (Ap p b) #

sequenceA :: Applicative f => Ap p (f a) -> f (Ap p a) #

mapM :: Monad m => (a -> m b) -> Ap p a -> m (Ap p b) #

sequence :: Monad m => Ap p (m a) -> m (Ap p a) #

Eq1 p => Eq1 (Ap p) Source # 

Methods

liftEq :: (a -> b -> Bool) -> Ap p a -> Ap p b -> Bool #

Ord1 p => Ord1 (Ap p) Source # 

Methods

liftCompare :: (a -> b -> Ordering) -> Ap p a -> Ap p b -> Ordering #

Read1 p => Read1 (Ap p) Source # 

Methods

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Ap p a) #

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Ap p a] #

Show1 p => Show1 (Ap p) Source # 

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Ap p a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Ap p a] -> ShowS #

Alternative p => Alternative (Ap p) Source # 

Methods

empty :: Ap p a #

(<|>) :: Ap p a -> Ap p a -> Ap p a #

some :: Ap p a -> Ap p [a] #

many :: Ap p a -> Ap p [a] #

MonadPlus p => MonadPlus (Ap p) Source # 

Methods

mzero :: Ap p a #

mplus :: Ap p a -> Ap p a -> Ap p a #

Bounded (p a) => Bounded (Ap p a) Source # 

Methods

minBound :: Ap p a #

maxBound :: Ap p a #

Enum (p a) => Enum (Ap p a) Source # 

Methods

succ :: Ap p a -> Ap p a #

pred :: Ap p a -> Ap p a #

toEnum :: Int -> Ap p a #

fromEnum :: Ap p a -> Int #

enumFrom :: Ap p a -> [Ap p a] #

enumFromThen :: Ap p a -> Ap p a -> [Ap p a] #

enumFromTo :: Ap p a -> Ap p a -> [Ap p a] #

enumFromThenTo :: Ap p a -> Ap p a -> Ap p a -> [Ap p a] #

Eq (p a) => Eq (Ap p a) Source # 

Methods

(==) :: Ap p a -> Ap p a -> Bool #

(/=) :: Ap p a -> Ap p a -> Bool #

Ord (p a) => Ord (Ap p a) Source # 

Methods

compare :: Ap p a -> Ap p a -> Ordering #

(<) :: Ap p a -> Ap p a -> Bool #

(<=) :: Ap p a -> Ap p a -> Bool #

(>) :: Ap p a -> Ap p a -> Bool #

(>=) :: Ap p a -> Ap p a -> Bool #

max :: Ap p a -> Ap p a -> Ap p a #

min :: Ap p a -> Ap p a -> Ap p a #

Read (p a) => Read (Ap p a) Source # 

Methods

readsPrec :: Int -> ReadS (Ap p a) #

readList :: ReadS [Ap p a] #

readPrec :: ReadPrec (Ap p a) #

readListPrec :: ReadPrec [Ap p a] #

Show (p a) => Show (Ap p a) Source # 

Methods

showsPrec :: Int -> Ap p a -> ShowS #

show :: Ap p a -> String #

showList :: [Ap p a] -> ShowS #

(Applicative p, Semigroup a) => Semigroup (Ap p a) Source # 

Methods

(<>) :: Ap p a -> Ap p a -> Ap p a #

sconcat :: NonEmpty (Ap p a) -> Ap p a #

stimes :: Integral b => b -> Ap p a -> Ap p a #

(Applicative p, Semigroup a, Monoid a) => Monoid (Ap p a) Source # 

Methods

mempty :: Ap p a #

mappend :: Ap p a -> Ap p a -> Ap p a #

mconcat :: [Ap p a] -> Ap p a #

(!!?) :: Foldable f => f a -> Natural -> Maybe a Source #