| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
NumHask.Algebra.Abstract.Lattice
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 | |