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

Safe HaskellNone
LanguageHaskell2010

Lang.LamIf.CPS

Documentation

data PrePico n Source

Constructors

Lit Lit 
Var n 

Instances

Eq n => Eq (PrePico n) 
Ord n => Ord (PrePico n) 
Pretty n => Pretty (PrePico n) 

data PreAtom n c Source

Constructors

Pico (PrePico n) 
Prim LBinOp (PrePico n) (PrePico n) 
LamF n n c 
LamK n c 
Tup (PrePico n) (PrePico n) 
Pi1 (PrePico n) 
Pi2 (PrePico n) 

Instances

(Eq n, Eq c) => Eq (PreAtom n c) 
(Ord n, Ord c) => Ord (PreAtom n c) 
(Eq n, Eq c) => PartialOrder (PreAtom n c) 
(Pretty n, Pretty c) => Pretty (PreAtom n c) 

data PreCall n c Source

Constructors

Let n (Stamped LocNum (PreAtom n c)) c 
If (PrePico n) c c 
AppF (PrePico n) (PrePico n) (PrePico n) 
AppK (PrePico n) (PrePico n) 
Halt (PrePico n) 

Instances

Balloon CPSKon Call 
Pretty n => Functorial * Pretty (PreCall n) 
(Eq n, Eq c) => Eq (PreCall n c) 
(Ord n, Ord c) => Ord (PreCall n c) 
(Eq n, Eq c) => PartialOrder (PreCall n c) 
(Pretty n, Pretty c) => Pretty (PreCall n c) 

haltL :: forall n c. Prism (PreCall n c) (PrePico n) Source

appKL :: forall n c. Prism (PreCall n c) (PrePico n, PrePico n) Source

appFL :: forall n c. Prism (PreCall n c) (PrePico n, PrePico n, PrePico n) Source

ifL :: forall n c. Prism (PreCall n c) (PrePico n, c, c) Source

letL :: forall n c. Prism (PreCall n c) (n, Stamped LocNum (PreAtom n c), c) Source