| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
FP.Prelude.Lattice
Documentation
Methods
(⊑⊒) :: a -> a -> PartialOrdering infix 6 Source
Instances
poCompareFromLte :: (a -> a -> 𝔹) -> a -> a -> PartialOrdering Source
discretePO :: Eq a => a -> a -> PartialOrdering Source
Instances
| Bot 𝔹 Source | |
| Bot 𝔻 Source | |
| Bot 𝕀 Source | |
| Bot ℕᵀ Source | |
| Bot ℕ Source | |
| Bot Loc Source | |
| Bot SourceErrorTrace Source | |
| Functorial * Bot ID Source | |
| Bot (𝒫ᵇ a) Source | |
| Bot (𝒫 a) Source | |
| Bot a => Bot (AddTop a) Source | |
| Bot (AddBot a) Source | |
| Bot a => Bot (ID a) Source | |
| Bot (LamIfStores val) Source | |
| Bot b => Bot (a -> b) Source | |
| (Bot a, Bot b) => Bot (a, b) Source | |
| Bot ((⇰♭⊔) k v) Source | |
| Bot ((⇰) k v) Source | |
| Functorial * JoinLattice ς => Bot (NondetJoinΠ ς a) Source | |
| Bot (PathSensitiveΣ val a) Source | |
| Bot (FlowInsensitiveΣ val a) Source | |
| Bot (FlowSensitiveΣ val a) Source | |
| (Functorial * JoinLattice ς, JoinLattice s, JoinLattice a) => Bot (StateΠ s ς a) Source | |
| Polymorphic * * JoinLattice m => Bot (PolyStateT s m a) Source | |
| Polymorphic * * JoinLattice ς => Bot (PolyStateΠ s ς a) Source | |
| Functorial * JoinLattice ς => Bot (FlowJoinΠ s ς a) Source | |
| Bot (t (u a)) => Bot ((⊡) k k t u a) Source |
Instances
| Join 𝔹 Source | |
| Join 𝔻 Source | |
| Join 𝕀 Source | |
| Join ℕᵀ Source | |
| Join ℕ Source | |
| Join ℤ Source | |
| Join Loc Source | |
| Join LocRange Source | |
| Join SourceErrorTrace Source | |
| Functorial * Join ID Source | |
| Join (𝒫ᵇ a) Source | |
| Join (𝒫 a) Source | |
| Join a => Join (AddTop a) Source | |
| Join a => Join (AddBot a) Source | |
| Join a => Join (ID a) Source | |
| Join val => Join (LamIfStores val) Source | |
| Join b => Join (a -> b) Source | |
| (Join a, Join b) => Join (a, b) Source | |
| Join ((⇰♭⊔) k v) Source | |
| Join v => Join ((⇰) k v) Source | |
| Functorial * JoinLattice ς => Join (NondetJoinΠ ς a) Source | |
| Join (PathSensitiveΣ val a) Source | |
| Join val => Join (FlowInsensitiveΣ val a) Source | |
| Join val => Join (FlowSensitiveΣ val a) Source | |
| (Functorial * JoinLattice ς, JoinLattice s, JoinLattice a) => Join (StateΠ s ς a) Source | |
| Polymorphic * * JoinLattice m => Join (PolyStateT s m a) Source | |
| Polymorphic * * JoinLattice ς => Join (PolyStateΠ s ς a) Source | |
| Functorial * JoinLattice ς => Join (FlowJoinΠ s ς a) Source | |
| Join (t (u a)) => Join ((⊡) k k t u a) Source |
Instances
| Meet 𝔹 Source | |
| Meet 𝔻 Source | |
| Meet 𝕀 Source | |
| Meet ℕᵀ Source | |
| Meet ℕ Source | |
| Meet ℤ Source | |
| Meet Loc Source | |
| Functorial * Meet ID Source | |
| Meet (𝒫 a) Source | |
| Meet a => Meet (AddTop a) Source | |
| Meet a => Meet (AddBot a) Source | |
| Meet a => Meet (ID a) Source | |
| Meet b => Meet (a -> b) Source | |
| (Meet a, Meet b) => Meet (a, b) Source | |
| Meet v => Meet ((⇰) k v) Source | |
| Meet (t (u a)) => Meet ((⊡) k k t u a) Source |
class Difference a where Source
Instances
| Ord a => Difference (𝒫ᵇ a) Source | |
| Difference (𝒫 a) Source | |
| Difference a => Difference (ID a) Source | |
| Difference val => Difference (LamIfStores val) Source | |
| Difference b => Difference (a -> b) Source | |
| (Difference a, Difference b) => Difference (a, b) Source | |
| (Ord k, JoinLattice v, Difference v) => Difference ((⇰♭⊔) k v) Source | |
| Difference v => Difference ((⇰) k v) Source | |
| Difference (ς (𝒫ᵇ a)) => Difference (NondetJoinΠ ς a) Source | |
| Difference (PathSensitiveΣ val a) Source | |
| Difference val => Difference (FlowInsensitiveΣ val a) Source | |
| Difference val => Difference (FlowSensitiveΣ val a) Source | |
| Difference (ς (a, s)) => Difference (StateΠ s ς a) Source | |
| Difference (ς (a, s)) => Difference (PolyStateΠ s ς a) Source | |
| Difference (ς ((⇰♭⊔) a s)) => Difference (FlowJoinΠ s ς a) Source |
class (Bot a, Join a) => JoinLattice a Source
Instances
class (Top a, Meet a) => MeetLattice a Source
Instances
| MeetLattice 𝔹 Source | |
| MeetLattice 𝔻 Source | |
| MeetLattice 𝕀 Source | |
| MeetLattice ℕᵀ Source | |
| Meet a => MeetLattice (AddTop a) Source | |
| MeetLattice a => MeetLattice (AddBot a) Source | |
| MeetLattice b => MeetLattice (a -> b) Source | |
| (MeetLattice a, MeetLattice b) => MeetLattice (a, b) Source | |
| MeetLattice (t (u a)) => MeetLattice ((⊡) k k t u a) Source |
class (JoinLattice a, MeetLattice a) => Lattice a Source
Instances
| Lattice 𝔹 Source | |
| Lattice 𝔻 Source | |
| Lattice 𝕀 Source | |
| Lattice ℕᵀ Source | |
| (JoinLattice a, Meet a) => Lattice (AddTop a) Source | |
| (Join a, MeetLattice a) => Lattice (AddBot a) Source | |
| Lattice b => Lattice (a -> b) Source | |
| (Lattice a, Lattice b) => Lattice (a, b) Source | |
| Lattice (t (u a)) => Lattice ((⊡) k k t u a) Source |
class (Lattice a, Dual a) => DualLattice a Source
Instances
| DualLattice 𝔹 Source | |
| DualLattice b => DualLattice (a -> b) Source | |
| (DualLattice a, DualLattice b) => DualLattice (a, b) Source |
mapKeyJoin :: (Ord k₂, JoinLattice v) => (k₁ -> k₂) -> (k₁ ⇰ v) -> k₂ ⇰ v Source
concretizeDictJoin :: (Ord k, JoinLattice v) => (k ⇰♭⊔ v) -> k ⇰ v Source
lazyDictJoin :: ToFold (k, v) t => t -> k ⇰♭⊔ v Source
mapKeyLazyDictJoin :: (k -> k') -> (k ⇰♭⊔ v) -> k' ⇰♭⊔ v Source
joins :: (JoinLattice a, ToFold a t) => t -> a Source
meets :: (MeetLattice a, ToFold a t) => t -> a Source
Instances
| Functor AddBot Source | |
| Eq a => Eq (AddBot a) Source | |
| Ord a => Ord (AddBot a) Source | |
| (Join a, MeetLattice a) => Lattice (AddBot a) Source | |
| MeetLattice a => MeetLattice (AddBot a) Source | |
| Join a => JoinLattice (AddBot a) Source | |
| Meet a => Meet (AddBot a) Source | |
| Top a => Top (AddBot a) Source | |
| Join a => Join (AddBot a) Source | |
| Bot (AddBot a) Source |
elimAddBot :: b -> (a -> b) -> AddBot a -> b Source
Instances
| Functor AddTop Source | |
| Eq a => Eq (AddTop a) Source | |
| Ord a => Ord (AddTop a) Source | |
| (JoinLattice a, Meet a) => Lattice (AddTop a) Source | |
| Meet a => MeetLattice (AddTop a) Source | |
| JoinLattice a => JoinLattice (AddTop a) Source | |
| Meet a => Meet (AddTop a) Source | |
| Top (AddTop a) Source | |
| Join a => Join (AddTop a) Source | |
| Bot a => Bot (AddTop a) Source |