syntactic-1.15: Generic abstract syntax, and utilities for embedded languages

Safe HaskellNone
LanguageHaskell2010

Language.Syntactic.Interpretation.Evaluation

Synopsis

Documentation

type family Denotation sig Source

The denotation of a symbol with the given signature

Instances

type Denotation (Full a) = a 
type Denotation ((:->) a sig) = a -> Denotation sig 

class Eval expr where Source

Methods

evaluate :: expr a -> Denotation a Source

Evaluation of expressions

Instances

Eval Semantics 
Eval Empty 
Eval Condition 
Eval Construct 
Eval Identity 
Eval Literal 
Eval Tuple 
Eval Select 
Eval Let 
Eval dom => Eval (AST dom) 
Monad m => Eval (MONAD m) 
(Eval expr1, Eval expr2) => Eval ((:+:) expr1 expr2) 
Eval dom => Eval ((:||) dom pred) 
Eval dom => Eval ((:|) dom pred) 
Eval expr => Eval (Decor info expr) 
Eval dom => Eval (SubConstr1 c dom p) 
Eval dom => Eval (SubConstr2 c dom pa pb)