maam-0.1.0.0: A monadic framework for abstract interpretation.

Safe HaskellNone
LanguageHaskell2010

Lang.CPS.Syntax

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 Op (PrePico n) 
LamF n n c 
LamK n c 

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) 

type Atom n = SPreAtom n (Call n) Source

data PreCall n c Source

Constructors

Let n (SPreAtom 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 SGCall 
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, SPreAtom n c, c) Source