Copyright | 2017 Kei Hibino |
---|---|
License | BSD3 |
Maintainer | ex8k.hibino@gmail.com |
Stability | experimental |
Portability | unknown |
Safe Haskell | None |
Language | Haskell2010 |
This module defines functor instances morphed functions are restricted to products.
Synopsis
- newtype WrappedFunctor f a = WrapFunctor {
- unwrapFunctor :: f a
- newtype WrappedAlter f a b = WrapAlter {
- unWrapAlter :: Const (f a) b
Documentation
newtype WrappedFunctor f a Source #
Wrapped functor type to make instances of product-iso functors.
WrapFunctor | |
|
Instances
newtype WrappedAlter f a b Source #
Wrapped Const Alternative objects to make instances like Const functor.
WrapAlter | |
|
Instances
Alternative f => ProductIsoApplicative (WrappedAlter f a) Source # | |
Defined in Data.Functor.ProductIsomorphic.Instances pureP :: ProductConstructor a0 => a0 -> WrappedAlter f a a0 Source # (|*|) :: WrappedAlter f a (a0 -> b) -> WrappedAlter f a a0 -> WrappedAlter f a b Source # | |
ProductIsoFunctor (WrappedAlter f a) Source # | |
Defined in Data.Functor.ProductIsomorphic.Instances (|$|) :: ProductConstructor (a0 -> b) => (a0 -> b) -> WrappedAlter f a a0 -> WrappedAlter f a b Source # | |
Alternative f => ProductIsoEmpty (WrappedAlter f a) () Source # | |
Defined in Data.Functor.ProductIsomorphic.Instances pureE :: WrappedAlter f a () Source # peRight :: WrappedAlter f a (a0, ()) -> WrappedAlter f a a0 Source # peLeft :: WrappedAlter f a ((), a0) -> WrappedAlter f a a0 Source # |