util-universe-0.1.0.0: Utilities for universal types

Safe HaskellNone
LanguageHaskell2010

Util.Universe

Documentation

newtype Fn a b Source #

Constructors

Fn 

Fields

Instances
Arrow Fn Source # 
Instance details

Defined in Util.Universe

Methods

arr :: (b -> c) -> Fn b c #

first :: Fn b c -> Fn (b, d) (c, d) #

second :: Fn b c -> Fn (d, b) (d, c) #

(***) :: Fn b c -> Fn b' c' -> Fn (b, b') (c, c') #

(&&&) :: Fn b c -> Fn b c' -> Fn b (c, c') #

ArrowChoice Fn Source # 
Instance details

Defined in Util.Universe

Methods

left :: Fn b c -> Fn (Either b d) (Either c d) #

right :: Fn b c -> Fn (Either d b) (Either d c) #

(+++) :: Fn b c -> Fn b' c' -> Fn (Either b b') (Either c c') #

(|||) :: Fn b d -> Fn c d -> Fn (Either b c) d #

ArrowApply Fn Source # 
Instance details

Defined in Util.Universe

Methods

app :: Fn (Fn b c, b) c #

ArrowLoop Fn Source # 
Instance details

Defined in Util.Universe

Methods

loop :: Fn (b, d) (c, d) -> Fn b c #

Monad (Fn a) Source # 
Instance details

Defined in Util.Universe

Methods

(>>=) :: Fn a a0 -> (a0 -> Fn a b) -> Fn a b #

(>>) :: Fn a a0 -> Fn a b -> Fn a b #

return :: a0 -> Fn a a0 #

fail :: String -> Fn a a0 #

Functor (Fn a) Source # 
Instance details

Defined in Util.Universe

Methods

fmap :: (a0 -> b) -> Fn a a0 -> Fn a b #

(<$) :: a0 -> Fn a b -> Fn a a0 #

Applicative (Fn a) Source # 
Instance details

Defined in Util.Universe

Methods

pure :: a0 -> Fn a a0 #

(<*>) :: Fn a (a0 -> b) -> Fn a a0 -> Fn a b #

liftA2 :: (a0 -> b -> c) -> Fn a a0 -> Fn a b -> Fn a c #

(*>) :: Fn a a0 -> Fn a b -> Fn a b #

(<*) :: Fn a a0 -> Fn a b -> Fn a a0 #

Universe a => Foldable (Fn a) Source # 
Instance details

Defined in Util.Universe

Methods

fold :: Monoid m => Fn a m -> m #

foldMap :: Monoid m => (a0 -> m) -> Fn a a0 -> m #

foldr :: (a0 -> b -> b) -> b -> Fn a a0 -> b #

foldr' :: (a0 -> b -> b) -> b -> Fn a a0 -> b #

foldl :: (b -> a0 -> b) -> b -> Fn a a0 -> b #

foldl' :: (b -> a0 -> b) -> b -> Fn a a0 -> b #

foldr1 :: (a0 -> a0 -> a0) -> Fn a a0 -> a0 #

foldl1 :: (a0 -> a0 -> a0) -> Fn a a0 -> a0 #

toList :: Fn a a0 -> [a0] #

null :: Fn a a0 -> Bool #

length :: Fn a a0 -> Int #

elem :: Eq a0 => a0 -> Fn a a0 -> Bool #

maximum :: Ord a0 => Fn a a0 -> a0 #

minimum :: Ord a0 => Fn a a0 -> a0 #

sum :: Num a0 => Fn a a0 -> a0 #

product :: Num a0 => Fn a a0 -> a0 #

(Eq a, Finite a) => Traversable (Fn a) Source # 
Instance details

Defined in Util.Universe

Methods

traverse :: Applicative f => (a0 -> f b) -> Fn a a0 -> f (Fn a b) #

sequenceA :: Applicative f => Fn a (f a0) -> f (Fn a a0) #

mapM :: Monad m => (a0 -> m b) -> Fn a a0 -> m (Fn a b) #

sequence :: Monad m => Fn a (m a0) -> m (Fn a a0) #

Universe a => Eq1 (Fn a) Source # 
Instance details

Defined in Util.Universe

Methods

liftEq :: (a0 -> b -> Bool) -> Fn a a0 -> Fn a b -> Bool #

Category Fn Source # 
Instance details

Defined in Util.Universe

Methods

id :: Fn a a #

(.) :: Fn b c -> Fn a b -> Fn a c #

(Universe a, Eq b) => Eq (Fn a b) Source # 
Instance details

Defined in Util.Universe

Methods

(==) :: Fn a b -> Fn a b -> Bool #

(/=) :: Fn a b -> Fn a b -> Bool #

Semigroup b => Semigroup (Fn a b) Source # 
Instance details

Defined in Util.Universe

Methods

(<>) :: Fn a b -> Fn a b -> Fn a b #

sconcat :: NonEmpty (Fn a b) -> Fn a b #

stimes :: Integral b0 => b0 -> Fn a b -> Fn a b #

Monoid b => Monoid (Fn a b) Source # 
Instance details

Defined in Util.Universe

Methods

mempty :: Fn a b #

mappend :: Fn a b -> Fn a b -> Fn a b #

mconcat :: [Fn a b] -> Fn a b #

(Finite a, Ord a, Universe b) => Universe (Fn a b) Source # 
Instance details

Defined in Util.Universe

Methods

universe :: [Fn a b] #

(Ord a, Finite a, Finite b) => Finite (Fn a b) Source # 
Instance details

Defined in Util.Universe

Methods

universeF :: [Fn a b] #