Copyright | (C) 2017-18 Jakub Daniel |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | Jakub Daniel <jakub.daniel@protonmail.com> |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
Data.Expression.Utils.Indexed.Functor
Description
Documentation
A fixpoint of a functor in indexed category
Instances
class IFunctor (f :: (i -> *) -> i -> *) where Source #
A functor in indexed category
Instances
IFunctor IfThenElseF Source # | |
Defined in Data.Expression.IfThenElse Methods imap :: (forall (i' :: i). a i' -> b i') -> forall (i' :: i). IfThenElseF a i' -> IfThenElseF b i' Source # index :: IfThenElseF a i' -> Sing i' Source # | |
IFunctor ArrayF Source # | |
IFunctor ArithmeticF Source # | |
Defined in Data.Expression.Arithmetic Methods imap :: (forall (i' :: i). a i' -> b i') -> forall (i' :: i). ArithmeticF a i' -> ArithmeticF b i' Source # index :: ArithmeticF a i' -> Sing i' Source # | |
IFunctor NegationF Source # | |
IFunctor DisjunctionF Source # | |
Defined in Data.Expression Methods imap :: (forall (i' :: i). a i' -> b i') -> forall (i' :: i). DisjunctionF a i' -> DisjunctionF b i' Source # index :: DisjunctionF a i' -> Sing i' Source # | |
IFunctor ConjunctionF Source # | |
Defined in Data.Expression Methods imap :: (forall (i' :: i). a i' -> b i') -> forall (i' :: i). ConjunctionF a i' -> ConjunctionF b i' Source # index :: ConjunctionF a i' -> Sing i' Source # | |
IFunctor (EqualityF :: (Sort -> Type) -> Sort -> Type) Source # | |
IFunctor (ExistentialF v :: (Sort -> Type) -> Sort -> Type) Source # | |
Defined in Data.Expression Methods imap :: (forall (i' :: i). a i' -> b i') -> forall (i' :: i). ExistentialF v a i' -> ExistentialF v b i' Source # index :: ExistentialF v a i' -> Sing i' Source # | |
IFunctor (UniversalF v :: (Sort -> Type) -> Sort -> Type) Source # | |
Defined in Data.Expression Methods imap :: (forall (i' :: i). a i' -> b i') -> forall (i' :: i). UniversalF v a i' -> UniversalF v b i' Source # index :: UniversalF v a i' -> Sing i' Source # | |
IFunctor (VarF :: (Sort -> Type) -> Sort -> Type) Source # | |
(IFunctor f, IFunctor g) => IFunctor (f :+: g :: (i -> Type) -> i -> Type) Source # | |