expressions-0.1.1: Expressions and Formulas a la carte

Copyright(C) 2017-18 Jakub Daniel
LicenseBSD-style (see the file LICENSE)
MaintainerJakub Daniel <jakub.daniel@protonmail.com>
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Data.Expression.Utils.Indexed.Functor

Description

 

Synopsis

Documentation

newtype IFix f i Source #

A fixpoint of a functor in indexed category

Constructors

IFix 

Fields

Instances

IEq1 i f => IEq i (IFix i f) Source # 

Methods

ieq :: a j -> a j -> Bool Source #

JoinSemiLattice (ALia BooleanSort) # 
JoinSemiLattice (QFALia BooleanSort) # 
JoinSemiLattice (Lia BooleanSort) # 
JoinSemiLattice (QFLia BooleanSort) # 
JoinSemiLattice (QFLogic BooleanSort) # 
MeetSemiLattice (ALia BooleanSort) # 
MeetSemiLattice (QFALia BooleanSort) # 
MeetSemiLattice (Lia BooleanSort) # 
MeetSemiLattice (QFLia BooleanSort) # 
MeetSemiLattice (QFLogic BooleanSort) # 
Lattice (ALia BooleanSort) # 
Lattice (QFALia BooleanSort) # 
Lattice (Lia BooleanSort) # 
Lattice (QFLia BooleanSort) # 
Lattice (QFLogic BooleanSort) # 
BoundedJoinSemiLattice (ALia BooleanSort) # 
BoundedJoinSemiLattice (QFALia BooleanSort) # 
BoundedJoinSemiLattice (Lia BooleanSort) # 
BoundedJoinSemiLattice (QFLia BooleanSort) # 
BoundedJoinSemiLattice (QFLogic BooleanSort) # 
BoundedMeetSemiLattice (ALia BooleanSort) # 

Methods

top :: ALia BooleanSort #

BoundedMeetSemiLattice (QFALia BooleanSort) # 
BoundedMeetSemiLattice (Lia BooleanSort) # 

Methods

top :: Lia BooleanSort #

BoundedMeetSemiLattice (QFLia BooleanSort) # 
BoundedMeetSemiLattice (QFLogic BooleanSort) # 
BoundedLattice (ALia BooleanSort) # 
BoundedLattice (QFALia BooleanSort) # 
BoundedLattice (Lia BooleanSort) # 
BoundedLattice (QFLia BooleanSort) # 
BoundedLattice (QFLogic BooleanSort) # 
ComplementedLattice (ALia BooleanSort) Source # 
ComplementedLattice (QFALia BooleanSort) Source # 
ComplementedLattice (Lia BooleanSort) Source # 
ComplementedLattice (QFLia BooleanSort) Source # 
ComplementedLattice (QFLogic BooleanSort) Source # 
IEq1 k f => Eq (IFix k f i) Source # 

Methods

(==) :: IFix k f i -> IFix k f i -> Bool #

(/=) :: IFix k f i -> IFix k f i -> Bool #

(IFunctor k f, IShow k k f) => Show (IFix k f i) Source # 

Methods

showsPrec :: Int -> IFix k f i -> ShowS #

show :: IFix k f i -> String #

showList :: [IFix k f i] -> ShowS #

class IFunctor f where Source #

A functor in indexed category

Minimal complete definition

imap, index

Methods

imap :: (forall i'. a i' -> b i') -> forall i'. f a i' -> f b i' Source #

index :: forall a i'. f a i' -> Sing i' Source #

Instances

IFunctor Sort ArrayF Source # 

Methods

imap :: (forall i'. a i' -> b i') -> forall i'. f a i' -> f b i' Source #

index :: f a i' -> Sing ArrayF i' Source #

IFunctor Sort ArithmeticF Source # 

Methods

imap :: (forall i'. a i' -> b i') -> forall i'. f a i' -> f b i' Source #

index :: f a i' -> Sing ArithmeticF i' Source #

IFunctor Sort NegationF Source # 

Methods

imap :: (forall i'. a i' -> b i') -> forall i'. f a i' -> f b i' Source #

index :: f a i' -> Sing NegationF i' Source #

IFunctor Sort DisjunctionF Source # 

Methods

imap :: (forall i'. a i' -> b i') -> forall i'. f a i' -> f b i' Source #

index :: f a i' -> Sing DisjunctionF i' Source #

IFunctor Sort ConjunctionF Source # 

Methods

imap :: (forall i'. a i' -> b i') -> forall i'. f a i' -> f b i' Source #

index :: f a i' -> Sing ConjunctionF i' Source #

IFunctor Sort (EqualityF Sort) Source # 

Methods

imap :: (forall i'. a i' -> b i') -> forall i'. f a i' -> f b i' Source #

index :: f a i' -> Sing (EqualityF Sort) i' Source #

IFunctor Sort (ExistentialF v) Source # 

Methods

imap :: (forall i'. a i' -> b i') -> forall i'. f a i' -> f b i' Source #

index :: f a i' -> Sing (ExistentialF v) i' Source #

IFunctor Sort (UniversalF v) Source # 

Methods

imap :: (forall i'. a i' -> b i') -> forall i'. f a i' -> f b i' Source #

index :: f a i' -> Sing (UniversalF v) i' Source #

IFunctor Sort (VarF (Sort -> *)) Source # 

Methods

imap :: (forall i'. a i' -> b i') -> forall i'. f a i' -> f b i' Source #

index :: f a i' -> Sing (VarF (Sort -> *)) i' Source #

(IFunctor i f, IFunctor i g) => IFunctor i ((:+:) i (i -> *) f g) Source # 

Methods

imap :: (forall i'. a i' -> b i') -> forall i'. f a i' -> f b i' Source #

index :: f a i' -> Sing ((i :+: (i -> *)) f g) i' Source #

icata :: IFunctor f => (forall i. f a i -> a i) -> forall i. IFix f i -> a i Source #

Indexed catamorphism