Copyright | 2017 Kei Hibino |
---|---|
License | BSD3 |
Maintainer | ex8k.hibino@gmail.com |
Stability | experimental |
Portability | unknown |
Safe Haskell | Safe |
Language | Haskell2010 |
This module defines functor interfaces which morphed functions are restricted to products.
- class ProductIsoFunctor f where
- class ProductIsoFunctor f => ProductIsoApplicative f where
- class ProductIsoApplicative f => ProductIsoAlternative f where
Documentation
class ProductIsoFunctor f where Source #
Restricted functor on products.
(|$|) :: ProductConstructor (a -> b) => (a -> b) -> f a -> f b infixl 4 Source #
Functor f => ProductIsoFunctor (WrappedFunctor f) Source # | |
ProductIsoFunctor (WrappedAlter f a) Source # | |
class ProductIsoFunctor f => ProductIsoApplicative f where Source #
Restricted applicative functor on products.
pureP :: ProductConstructor a => a -> f a Source #
Applicative f => ProductIsoApplicative (WrappedFunctor f) Source # | |
Alternative f => ProductIsoApplicative (WrappedAlter f a) Source # | |
class ProductIsoApplicative f => ProductIsoAlternative f where Source #
Restricted alternative on products.