maam-0.2.0.0: An application of the Galois Transformers framework to two example semantics.

Safe HaskellNone
LanguageHaskell2010

Lang.Hask.Monads

Documentation

type PSΣ' ν lτ dτ = (ID :.: ListSetWithTop) :.: (,) (𝒮 ν lτ dτ) Source

newtype PSΣ ν lτ dτ a Source

Constructors

PSΣ 

Fields

runPSΣ :: ListSetWithTop (a, 𝒮 ν lτ dτ)
 

Instances

Isomorphism2 * (PSΣ ν lτ dτ) (PSΣ' ν lτ dτ) 
Morphism2 * (PSΣ ν lτ dτ) (PSΣ' ν lτ dτ) 
Morphism2 * (PSΣ' ν lτ dτ) (PSΣ ν lτ dτ) 
TimeC lτ dτ => Inject (PSΣ ν lτ dτ) 
MonadStep (PSΣ ν lτ dτ) (PS ν lτ dτ) 
(TimeC lτ dτ, Ord (ν lτ dτ)) => Execution (PSΣ𝒫 ν lτ dτ) (PSΣ ν lτ dτ) (PS ν lτ dτ) 
JoinLattice (PSΣ ν lτ dτ a) 
Join (PSΣ ν lτ dτ a) 
Bot (PSΣ ν lτ dτ a) 
(Ord lτ, Ord dτ, Ord a, Ord (ν lτ dτ)) => PartialOrder (PSΣ ν lτ dτ a) 
(Ord (ν lτ dτ), Ord lτ, Ord dτ, Ord a) => Isomorphism (PSΣ ν lτ dτ a) (PSΣ𝒫 ν lτ dτ a) 
(Ord (ν lτ dτ), Ord lτ, Ord dτ, Ord a) => Morphism (PSΣ𝒫 ν lτ dτ a) (PSΣ ν lτ dτ a) 
(Ord (ν lτ dτ), Ord lτ, Ord dτ, Ord a) => Morphism (PSΣ ν lτ dτ a) (PSΣ𝒫 ν lτ dτ a) 

newtype PSΣ𝒫 ν lτ dτ a Source

Constructors

PSΣ𝒫 

Fields

runPSΣ𝒫 :: SetWithTop (a, 𝒮 ν lτ dτ)
 

Instances

(TimeC lτ dτ, Ord (ν lτ dτ)) => Execution (PSΣ𝒫 ν lτ dτ) (PSΣ ν lτ dτ) (PS ν lτ dτ) 
JoinLattice (PSΣ𝒫 ν lτ dτ a) 
Difference (PSΣ𝒫 ν lτ dτ a) 
Join (PSΣ𝒫 ν lτ dτ a) 
Bot (PSΣ𝒫 ν lτ dτ a) 
(Ord lτ, Ord dτ, Ord a, Ord (ν lτ dτ)) => PartialOrder (PSΣ𝒫 ν lτ dτ a) 
(Pretty lτ, Pretty dτ, Pretty a, Pretty (ν lτ dτ)) => Pretty (PSΣ𝒫 ν lτ dτ a) 
(Ord (ν lτ dτ), Ord lτ, Ord dτ, Ord a) => Isomorphism (PSΣ ν lτ dτ a) (PSΣ𝒫 ν lτ dτ a) 
(Ord (ν lτ dτ), Ord lτ, Ord dτ, Ord a) => Morphism (PSΣ𝒫 ν lτ dτ a) (PSΣ ν lτ dτ a) 
(Ord (ν lτ dτ), Ord lτ, Ord dτ, Ord a) => Morphism (PSΣ ν lτ dτ a) (PSΣ𝒫 ν lτ dτ a) 

newtype PS ν lτ dτ a Source

Constructors

FSPS 

Fields

runPS :: IsoMonadStep (PSΣ ν lτ dτ) (PSΣ' ν lτ dτ) (StateT (𝒮 ν lτ dτ) (ListSetWithTopT ID)) a
 

Instances

(TimeC lτ dτ, ValC ν lτ dτ) => Analysis ν lτ dτ (PS ν lτ dτ) 
MonadPlus (PS ν lτ dτ) 
MonadTop (PS ν lτ dτ) 
MonadBot (PS ν lτ dτ) 
Monad (PS ν lτ dτ) 
Bind (PS ν lτ dτ) 
Product (PS ν lτ dτ) 
Applicative (PS ν lτ dτ) 
Functor (PS ν lτ dτ) 
Unit (PS ν lτ dτ) 
MonadState (𝒮 ν lτ dτ) (PS ν lτ dτ) 
MonadStep (PSΣ ν lτ dτ) (PS ν lτ dτ) 
(TimeC lτ dτ, Ord (ν lτ dτ)) => Execution (PSΣ𝒫 ν lτ dτ) (PSΣ ν lτ dτ) (PS ν lτ dτ) 

psm :: P lτ -> P dτ -> P ν -> P (PS ν lτ dτ) Source