lvmlib-1.1: The Lazy Virtual Machine (LVM).

Safe HaskellNone

Lvm.Core.Expr

Documentation

data Expr Source

Constructors

Let !Binds Expr 
Match !Id Alts 
Ap Expr Expr 
Lam !Id Expr 
Con !(Con Expr) 
Var !Id 
Lit !Literal 

Instances

data Binds Source

Constructors

Rec ![Bind] 
Strict !Bind 
NonRec !Bind 

data Bind Source

Constructors

Bind !Id Expr 

type Alts = [Alt]Source

data Alt Source

Constructors

Alt !Pat Expr 

Instances

data Pat Source

Constructors

PatCon !(Con Tag) ![Id] 
PatLit !Literal 
PatDefault 

Instances

data Literal Source

Instances

data Con tag Source

Constructors

ConId !Id 
ConTag tag !Arity 

Instances

Pretty a => Pretty (Con a) 
FreeVar a => FreeVar (Con a)