Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- class Eq a => JoinSemiLattice a where
- (\/) :: a -> a -> a
- joinLeq :: JoinSemiLattice a => a -> a -> Bool
- class Eq a => MeetSemiLattice a where
- (/\) :: a -> a -> a
- meetLeq :: MeetSemiLattice a => a -> a -> Bool
- class (JoinSemiLattice a, MeetSemiLattice a) => Lattice a
- class JoinSemiLattice a => BoundedJoinSemiLattice a where
- bottom :: a
- class MeetSemiLattice a => BoundedMeetSemiLattice a where
- top :: a
- class (JoinSemiLattice a, MeetSemiLattice a, BoundedJoinSemiLattice a, BoundedMeetSemiLattice a) => BoundedLattice a
Documentation
class Eq a => JoinSemiLattice a where Source #
A algebraic structure with element joins: http://en.wikipedia.org/wiki/Semilattice
Associativity: x \/ (y \/ z) == (x \/ y) \/ z Commutativity: x \/ y == y \/ x Idempotency: x \/ x == x
Instances
JoinSemiLattice Bool Source # | |
JoinSemiLattice Double Source # | |
JoinSemiLattice Float Source # | |
JoinSemiLattice Int Source # | |
JoinSemiLattice Int8 Source # | |
JoinSemiLattice Int16 Source # | |
JoinSemiLattice Int32 Source # | |
JoinSemiLattice Int64 Source # | |
JoinSemiLattice Integer Source # | |
JoinSemiLattice Natural Source # | |
JoinSemiLattice Word Source # | |
JoinSemiLattice Word8 Source # | |
JoinSemiLattice Word16 Source # | |
JoinSemiLattice Word32 Source # | |
JoinSemiLattice Word64 Source # | |
JoinSemiLattice a => JoinSemiLattice (Complex a) Source # | |
GCDConstraints a => JoinSemiLattice (Ratio a) Source # | |
JoinSemiLattice a => JoinSemiLattice (Pair a) Source # | |
Ord a => JoinSemiLattice (LogField a) Source # | |
JoinSemiLattice a => JoinSemiLattice (Wrapped a) Source # | |
JoinSemiLattice a => JoinSemiLattice (Positive a) Source # | |
(Eq (a -> b), JoinSemiLattice b) => JoinSemiLattice (a -> b) Source # | |
Defined in NumHask.Algebra.Abstract.Lattice |
joinLeq :: JoinSemiLattice a => a -> a -> Bool Source #
The partial ordering induced by the join-semilattice structure
class Eq a => MeetSemiLattice a where Source #
A algebraic structure with element meets: http://en.wikipedia.org/wiki/Semilattice
Associativity: x /\ (y /\ z) == (x /\ y) /\ z Commutativity: x /\ y == y /\ x Idempotency: x /\ x == x
Instances
MeetSemiLattice Bool Source # | |
MeetSemiLattice Double Source # | |
MeetSemiLattice Float Source # | |
MeetSemiLattice Int Source # | |
MeetSemiLattice Int8 Source # | |
MeetSemiLattice Int16 Source # | |
MeetSemiLattice Int32 Source # | |
MeetSemiLattice Int64 Source # | |
MeetSemiLattice Integer Source # | |
MeetSemiLattice Natural Source # | |
MeetSemiLattice Word Source # | |
MeetSemiLattice Word8 Source # | |
MeetSemiLattice Word16 Source # | |
MeetSemiLattice Word32 Source # | |
MeetSemiLattice Word64 Source # | |
MeetSemiLattice a => MeetSemiLattice (Complex a) Source # | |
GCDConstraints a => MeetSemiLattice (Ratio a) Source # | |
MeetSemiLattice a => MeetSemiLattice (Pair a) Source # | |
Ord a => MeetSemiLattice (LogField a) Source # | |
MeetSemiLattice a => MeetSemiLattice (Wrapped a) Source # | |
MeetSemiLattice a => MeetSemiLattice (Positive a) Source # | |
(Eq (a -> b), MeetSemiLattice b) => MeetSemiLattice (a -> b) Source # | |
Defined in NumHask.Algebra.Abstract.Lattice |
meetLeq :: MeetSemiLattice a => a -> a -> Bool Source #
The partial ordering induced by the meet-semilattice structure
class (JoinSemiLattice a, MeetSemiLattice a) => Lattice a Source #
The combination of two semi lattices makes a lattice if the absorption law holds: see http://en.wikipedia.org/wiki/Absorption_law and http://en.wikipedia.org/wiki/Lattice_(order)
Absorption: a \/ (a /\ b) == a /\ (a \/ b) == a
Instances
(JoinSemiLattice a, MeetSemiLattice a) => Lattice a Source # | |
Defined in NumHask.Algebra.Abstract.Lattice |
class JoinSemiLattice a => BoundedJoinSemiLattice a where Source #
Instances
class MeetSemiLattice a => BoundedMeetSemiLattice a where Source #
Instances
class (JoinSemiLattice a, MeetSemiLattice a, BoundedJoinSemiLattice a, BoundedMeetSemiLattice a) => BoundedLattice a Source #
Lattices with both bounds
Instances
(JoinSemiLattice a, MeetSemiLattice a, BoundedJoinSemiLattice a, BoundedMeetSemiLattice a) => BoundedLattice a Source # | |
Defined in NumHask.Algebra.Abstract.Lattice |