Maintainer | bastiaan.heeren@ou.nl |
---|---|
Stability | provisional |
Portability | portable (depends on ghc) |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- class Functor f => Relational f where
- leftHandSide :: f a -> a
- rightHandSide :: f a -> a
- flipSides :: f a -> f a
- constructor :: f a -> b -> b -> f b
- isSymmetric :: f a -> Bool
- data Relation a
- relationType :: Relation a -> RelationType
- data RelationType
- relationSymbols :: [(RelationType, (String, Symbol))]
- notRelation :: Relation a -> Relation a
- eval :: (Ord a, Num a) => RelationType -> a -> a -> Bool
- makeType :: RelationType -> a -> a -> Relation a
- (.==.) :: a -> a -> Relation a
- (./=.) :: a -> a -> Relation a
- (.<.) :: a -> a -> Relation a
- (.>.) :: a -> a -> Relation a
- (.<=.) :: a -> a -> Relation a
- (.>=.) :: a -> a -> Relation a
- (.~=.) :: a -> a -> Relation a
- type Equations a = [Equation a]
- data Equation a = a :==: a
- equationView :: View (Relation a) (Equation a)
- data Inequality a
- inequalityView :: View (Relation a) (Inequality a)
Type class
class Functor f => Relational f where Source #
leftHandSide :: f a -> a Source #
rightHandSide :: f a -> a Source #
flipSides :: f a -> f a Source #
constructor :: f a -> b -> b -> f b Source #
isSymmetric :: f a -> Bool Source #
Instances
Relational Inequality Source # | |
Defined in Domain.Math.Data.Relation leftHandSide :: Inequality a -> a Source # rightHandSide :: Inequality a -> a Source # flipSides :: Inequality a -> Inequality a Source # constructor :: Inequality a -> b -> b -> Inequality b Source # isSymmetric :: Inequality a -> Bool Source # | |
Relational Equation Source # | |
Defined in Domain.Math.Data.Relation | |
Relational Relation Source # | |
Defined in Domain.Math.Data.Relation |
Relation data type
Instances
Functor Relation Source # | |
Foldable Relation Source # | |
Defined in Domain.Math.Data.Relation fold :: Monoid m => Relation m -> m # foldMap :: Monoid m => (a -> m) -> Relation a -> m # foldr :: (a -> b -> b) -> b -> Relation a -> b # foldr' :: (a -> b -> b) -> b -> Relation a -> b # foldl :: (b -> a -> b) -> b -> Relation a -> b # foldl' :: (b -> a -> b) -> b -> Relation a -> b # foldr1 :: (a -> a -> a) -> Relation a -> a # foldl1 :: (a -> a -> a) -> Relation a -> a # elem :: Eq a => a -> Relation a -> Bool # maximum :: Ord a => Relation a -> a # minimum :: Ord a => Relation a -> a # | |
Traversable Relation Source # | |
Relational Relation Source # | |
Defined in Domain.Math.Data.Relation | |
Eq a => Eq (Relation a) Source # | |
Ord a => Ord (Relation a) Source # | |
Show a => Show (Relation a) Source # | |
Arbitrary a => Arbitrary (Relation a) Source # | |
CoArbitrary a => CoArbitrary (Relation a) Source # | |
Defined in Domain.Math.Data.Relation coarbitrary :: Relation a -> Gen b -> Gen b # | |
IsTerm a => IsTerm (Relation a) Source # | |
relationType :: Relation a -> RelationType Source #
data RelationType Source #
Instances
relationSymbols :: [(RelationType, (String, Symbol))] Source #
notRelation :: Relation a -> Relation a Source #
Constructor functions
makeType :: RelationType -> a -> a -> Relation a Source #
Equation (or equality)
a :==: a infix 1 |
Instances
Functor Equation Source # | |
Foldable Equation Source # | |
Defined in Domain.Math.Data.Relation fold :: Monoid m => Equation m -> m # foldMap :: Monoid m => (a -> m) -> Equation a -> m # foldr :: (a -> b -> b) -> b -> Equation a -> b # foldr' :: (a -> b -> b) -> b -> Equation a -> b # foldl :: (b -> a -> b) -> b -> Equation a -> b # foldl' :: (b -> a -> b) -> b -> Equation a -> b # foldr1 :: (a -> a -> a) -> Equation a -> a # foldl1 :: (a -> a -> a) -> Equation a -> a # elem :: Eq a => a -> Equation a -> Bool # maximum :: Ord a => Equation a -> a # minimum :: Ord a => Equation a -> a # | |
Traversable Equation Source # | |
Relational Equation Source # | |
Defined in Domain.Math.Data.Relation | |
Eq a => Eq (Equation a) Source # | |
Ord a => Ord (Equation a) Source # | |
Show a => Show (Equation a) Source # | |
Arbitrary a => Arbitrary (Equation a) Source # | |
CoArbitrary a => CoArbitrary (Equation a) Source # | |
Defined in Domain.Math.Data.Relation coarbitrary :: Equation a -> Gen b -> Gen b # | |
IsTerm a => IsTerm (Equation a) Source # | |
Inequality
data Inequality a Source #
Instances
inequalityView :: View (Relation a) (Inequality a) Source #