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

Safe HaskellNone
LanguageHaskell2010

Lang.Hask.ValConcrete

Documentation

data CVal lτ dτ Source

Constructors

CBot 
CLit Literal 
CData (Data lτ dτ) 
CDataAny DataCon 
CFunClo (FunClo lτ dτ) 
CThunkClo (ThunkClo lτ dτ) 
CForced (Forced lτ dτ) 
CRef (Ref lτ dτ) 
CRefAny 
CKonClo (KonClo lτ dτ) 
CKonMemoClo (KonMemoClo lτ dτ) 

Instances

(Eq lτ, Eq dτ) => Eq (CVal lτ dτ) 
(Ord lτ, Ord dτ) => Ord (CVal lτ dτ) 
(Pretty Literal, Pretty (Data lτ0 dτ0), Pretty DataCon, Pretty (FunClo lτ0 dτ0), Pretty (ThunkClo lτ0 dτ0), Pretty (Forced lτ0 dτ0), Pretty (Ref lτ0 dτ0), Pretty (KonClo lτ0 dτ0), Pretty (KonMemoClo lτ0 dτ0)) => Pretty (CVal lτ dτ) 

cKonMemoCloL :: forall lτ dτ. Prism (CVal lτ dτ) (KonMemoClo lτ dτ) Source

cKonCloL :: forall lτ dτ. Prism (CVal lτ dτ) (KonClo lτ dτ) Source

cRefAnyL :: forall lτ dτ. Prism (CVal lτ dτ) () Source

cRefL :: forall lτ dτ. Prism (CVal lτ dτ) (Ref lτ dτ) Source

cForcedL :: forall lτ dτ. Prism (CVal lτ dτ) (Forced lτ dτ) Source

cThunkCloL :: forall lτ dτ. Prism (CVal lτ dτ) (ThunkClo lτ dτ) Source

cFunCloL :: forall lτ dτ. Prism (CVal lτ dτ) (FunClo lτ dτ) Source

cDataAnyL :: forall lτ dτ. Prism (CVal lτ dτ) DataCon Source

cDataL :: forall lτ dτ. Prism (CVal lτ dτ) (Data lτ dτ) Source

cLitL :: forall lτ dτ. Prism (CVal lτ dτ) Literal Source

cBotL :: forall lτ dτ. Prism (CVal lτ dτ) () Source

data OCVal lτ dτ Source

Constructors

Pos (CVal lτ dτ) 
Neg (CVal lτ dτ) 

Instances

(Ord lτ, Ord dτ) => Val lτ dτ ConstructiveClassical OCVal 
(Eq lτ, Eq dτ) => Eq (OCVal lτ dτ) 
(Ord lτ, Ord dτ) => Ord (OCVal lτ dτ) 
Neg (OCVal lτ dτ) 
Pretty (CVal lτ0 dτ0) => Pretty (OCVal lτ dτ) 

discreteE :: Ord b => Prism (CVal lτ dτ) b -> OCVal lτ dτ -> ConstructiveClassical b Source