hs-functors-0.1.6.0: Functors from products of Haskell and its dual to Haskell

Safe HaskellNone
LanguageHaskell2010

Data.FnList

Documentation

data FnList a b c Source #

Constructors

Done c 
More a (FnList a b (b -> c)) 
Instances
Profunctor (FnList a) Source # 
Instance details

Defined in Data.FnList

Methods

dimap :: (a0 -> b) -> (c -> d) -> FnList a b c -> FnList a a0 d Source #

lmap :: (a0 -> b) -> FnList a b c -> FnList a a0 c Source #

rmap :: (b -> c) -> FnList a a0 b -> FnList a a0 c Source #

Functor (FnList a b) Source # 
Instance details

Defined in Data.FnList

Methods

fmap :: (a0 -> b0) -> FnList a b a0 -> FnList a b b0 #

(<$) :: a0 -> FnList a b b0 -> FnList a b a0 #

Applicative (FnList a b) Source # 
Instance details

Defined in Data.FnList

Methods

pure :: a0 -> FnList a b a0 #

(<*>) :: FnList a b (a0 -> b0) -> FnList a b a0 -> FnList a b b0 #

liftA2 :: (a0 -> b0 -> c) -> FnList a b a0 -> FnList a b b0 -> FnList a b c #

(*>) :: FnList a b a0 -> FnList a b b0 -> FnList a b b0 #

(<*) :: FnList a b a0 -> FnList a b b0 -> FnList a b a0 #

Foldable (FnList a a) Source # 
Instance details

Defined in Data.FnList

Methods

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

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

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

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

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

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

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

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

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

null :: FnList a a a0 -> Bool #

length :: FnList a a a0 -> Int #

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

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

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

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

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

arguments :: FnList a b c -> [a] Source #

answer :: (a -> b) -> FnList a b c -> c Source #

zip :: FnList a₁ a₁ c₁ -> FnList a₂ a₂ c₂ -> FnList (a₁, a₂) (a₁, a₂) (c₁, c₂) Source #

argumentsL :: Applicative p => (a -> p a') -> FnList a b c -> p (FnList a' b c) Source #

singleton :: a -> FnList a b b Source #

untraverse :: Applicative f => (a -> f b) -> FnList a b c -> f c Source #

holes :: FnList a b c -> [(a, a -> FnList a b c)] Source #

merge :: Ord a => FnList a b (c -> d) -> FnList a b c -> FnList a b d Source #

mergeBy :: forall a b c d. (a -> a -> Ordering) -> FnList a b (c -> d) -> FnList a b c -> FnList a b d Source #