functor-infix-0.0.5: Infix operators for mapping over compositions of functors. Lots of them.

Safe HaskellNone
LanguageHaskell2010

Data.Functor.Infix

Synopsis

Documentation

(<$$$$$$$$$$$$$$$$$$$$>) :: forall a b f f f f f f f f f f f f f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => (a -> b) -> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f a))))))))))))))))))) -> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f b))))))))))))))))))) infixl 4 Source #

(<$$$$$$$$$$$$$$$$$$$>) :: forall a b f f f f f f f f f f f f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => (a -> b) -> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f a)))))))))))))))))) -> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f b)))))))))))))))))) infixl 4 Source #

(<$$$$$$$$$$$$$$$$$$>) :: forall a b f f f f f f f f f f f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => (a -> b) -> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f a))))))))))))))))) -> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f b))))))))))))))))) infixl 4 Source #

(<$$$$$$$$$$$$$$$$$>) :: forall a b f f f f f f f f f f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => (a -> b) -> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f a)))))))))))))))) -> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f b)))))))))))))))) infixl 4 Source #

(<$$$$$$$$$$$$$$$$>) :: forall a b f f f f f f f f f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => (a -> b) -> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f a))))))))))))))) -> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f b))))))))))))))) infixl 4 Source #

(<$$$$$$$$$$$$$$$>) :: forall a b f f f f f f f f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => (a -> b) -> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f a)))))))))))))) -> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f b)))))))))))))) infixl 4 Source #

(<$$$$$$$$$$$$$$>) :: forall a b f f f f f f f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => (a -> b) -> f (f (f (f (f (f (f (f (f (f (f (f (f (f a))))))))))))) -> f (f (f (f (f (f (f (f (f (f (f (f (f (f b))))))))))))) infixl 4 Source #

(<$$$$$$$$$$$$$>) :: forall a b f f f f f f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => (a -> b) -> f (f (f (f (f (f (f (f (f (f (f (f (f a)))))))))))) -> f (f (f (f (f (f (f (f (f (f (f (f (f b)))))))))))) infixl 4 Source #

(<$$$$$$$$$$$$>) :: forall a b f f f f f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => (a -> b) -> f (f (f (f (f (f (f (f (f (f (f (f a))))))))))) -> f (f (f (f (f (f (f (f (f (f (f (f b))))))))))) infixl 4 Source #

(<$$$$$$$$$$$>) :: forall a b f f f f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => (a -> b) -> f (f (f (f (f (f (f (f (f (f (f a)))))))))) -> f (f (f (f (f (f (f (f (f (f (f b)))))))))) infixl 4 Source #

(<$$$$$$$$$$>) :: forall a b f f f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => (a -> b) -> f (f (f (f (f (f (f (f (f (f a))))))))) -> f (f (f (f (f (f (f (f (f (f b))))))))) infixl 4 Source #

(<$$$$$$$$$>) :: forall a b f f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => (a -> b) -> f (f (f (f (f (f (f (f (f a)))))))) -> f (f (f (f (f (f (f (f (f b)))))))) infixl 4 Source #

(<$$$$$$$$>) :: forall a b f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => (a -> b) -> f (f (f (f (f (f (f (f a))))))) -> f (f (f (f (f (f (f (f b))))))) infixl 4 Source #

(<$$$$$$$>) :: forall a b f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => (a -> b) -> f (f (f (f (f (f (f a)))))) -> f (f (f (f (f (f (f b)))))) infixl 4 Source #

(<$$$$$$>) :: forall a b f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => (a -> b) -> f (f (f (f (f (f a))))) -> f (f (f (f (f (f b))))) infixl 4 Source #

(<$$$$$>) :: forall a b f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f) => (a -> b) -> f (f (f (f (f a)))) -> f (f (f (f (f b)))) infixl 4 Source #

(<$$$$>) :: forall a b f f f f. (Functor f, Functor f, Functor f, Functor f) => (a -> b) -> f (f (f (f a))) -> f (f (f (f b))) infixl 4 Source #

(<$$$>) :: forall a b f f f. (Functor f, Functor f, Functor f) => (a -> b) -> f (f (f a)) -> f (f (f b)) infixl 4 Source #

(<$$>) :: forall a b f f. (Functor f, Functor f) => (a -> b) -> f (f a) -> f (f b) infixl 4 Source #

(<&&&&&&&&&&&&&&&&&&&&>) :: forall a b f f f f f f f f f f f f f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f a))))))))))))))))))) -> (a -> b) -> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f b))))))))))))))))))) infixl 1 Source #

(<&&&&&&&&&&&&&&&&&&&>) :: forall a b f f f f f f f f f f f f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f a)))))))))))))))))) -> (a -> b) -> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f b)))))))))))))))))) infixl 1 Source #

(<&&&&&&&&&&&&&&&&&&>) :: forall a b f f f f f f f f f f f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f a))))))))))))))))) -> (a -> b) -> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f b))))))))))))))))) infixl 1 Source #

(<&&&&&&&&&&&&&&&&&>) :: forall a b f f f f f f f f f f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f a)))))))))))))))) -> (a -> b) -> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f b)))))))))))))))) infixl 1 Source #

(<&&&&&&&&&&&&&&&&>) :: forall a b f f f f f f f f f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f a))))))))))))))) -> (a -> b) -> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f b))))))))))))))) infixl 1 Source #

(<&&&&&&&&&&&&&&&>) :: forall a b f f f f f f f f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => f (f (f (f (f (f (f (f (f (f (f (f (f (f (f a)))))))))))))) -> (a -> b) -> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f b)))))))))))))) infixl 1 Source #

(<&&&&&&&&&&&&&&>) :: forall a b f f f f f f f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => f (f (f (f (f (f (f (f (f (f (f (f (f (f a))))))))))))) -> (a -> b) -> f (f (f (f (f (f (f (f (f (f (f (f (f (f b))))))))))))) infixl 1 Source #

(<&&&&&&&&&&&&&>) :: forall a b f f f f f f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => f (f (f (f (f (f (f (f (f (f (f (f (f a)))))))))))) -> (a -> b) -> f (f (f (f (f (f (f (f (f (f (f (f (f b)))))))))))) infixl 1 Source #

(<&&&&&&&&&&&&>) :: forall a b f f f f f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => f (f (f (f (f (f (f (f (f (f (f (f a))))))))))) -> (a -> b) -> f (f (f (f (f (f (f (f (f (f (f (f b))))))))))) infixl 1 Source #

(<&&&&&&&&&&&>) :: forall a b f f f f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => f (f (f (f (f (f (f (f (f (f (f a)))))))))) -> (a -> b) -> f (f (f (f (f (f (f (f (f (f (f b)))))))))) infixl 1 Source #

(<&&&&&&&&&&>) :: forall a b f f f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => f (f (f (f (f (f (f (f (f (f a))))))))) -> (a -> b) -> f (f (f (f (f (f (f (f (f (f b))))))))) infixl 1 Source #

(<&&&&&&&&&>) :: forall a b f f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => f (f (f (f (f (f (f (f (f a)))))))) -> (a -> b) -> f (f (f (f (f (f (f (f (f b)))))))) infixl 1 Source #

(<&&&&&&&&>) :: forall a b f f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => f (f (f (f (f (f (f (f a))))))) -> (a -> b) -> f (f (f (f (f (f (f (f b))))))) infixl 1 Source #

(<&&&&&&&>) :: forall a b f f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => f (f (f (f (f (f (f a)))))) -> (a -> b) -> f (f (f (f (f (f (f b)))))) infixl 1 Source #

(<&&&&&&>) :: forall a b f f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f, Functor f) => f (f (f (f (f (f a))))) -> (a -> b) -> f (f (f (f (f (f b))))) infixl 1 Source #

(<&&&&&>) :: forall a b f f f f f. (Functor f, Functor f, Functor f, Functor f, Functor f) => f (f (f (f (f a)))) -> (a -> b) -> f (f (f (f (f b)))) infixl 1 Source #

(<&&&&>) :: forall a b f f f f. (Functor f, Functor f, Functor f, Functor f) => f (f (f (f a))) -> (a -> b) -> f (f (f (f b))) infixl 1 Source #

(<&&&>) :: forall a b f f f. (Functor f, Functor f, Functor f) => f (f (f a)) -> (a -> b) -> f (f (f b)) infixl 1 Source #

(<&&>) :: forall a b f f. (Functor f, Functor f) => f (f a) -> (a -> b) -> f (f b) infixl 1 Source #

(<&>) :: forall a b f. Functor f => f a -> (a -> b) -> f b infixl 1 Source #

(<$>) :: Functor f => (a -> b) -> f a -> f b infixl 4 #

An infix synonym for fmap.

The name of this operator is an allusion to $. Note the similarities between their types:

 ($)  ::              (a -> b) ->   a ->   b
(<$>) :: Functor f => (a -> b) -> f a -> f b

Whereas $ is function application, <$> is function application lifted over a Functor.

Examples

Convert from a Maybe Int to a Maybe String using show:

>>> show <$> Nothing
Nothing
>>> show <$> Just 3
Just "3"

Convert from an Either Int Int to an Either Int String using show:

>>> show <$> Left 17
Left 17
>>> show <$> Right 17
Right "17"

Double each element of a list:

>>> (*2) <$> [1,2,3]
[2,4,6]

Apply even to the second element of a pair:

>>> even <$> (2,2)
(2,True)

declareInfixFmapN :: Int -> Q [Dec] Source #

Deprecated: Use declareInfixFmapForFunctorCompositionOfDegree and/or reconsider your life choices.

declareInfixPamfN :: Int -> Q [Dec] Source #

Deprecated: Use declareFlippedInfixFmapForFunctorCompositionOfDegree and/or reconsider your life choices.