Safe Haskell | None |
---|---|
Language | Haskell2010 |
Default implementations of some interpretation functions
- data Semantics a where
- Sem :: {
- semanticName :: String
- semanticEval :: Denotation a
- Sem :: {
- type family Denotation sig
- class Semantic expr where
Documentation
A representation of a syntactic construct as a String
and an evaluation
function. It is not meant to be used as a syntactic symbol in an AST
. Its
only purpose is to provide the default implementations of functions like
equal
via the Semantic
class.
Sem :: String -> Denotation a -> Semantics a | |
|
type family Denotation sig Source
The denotation of a symbol with the given signature
type Denotation (Full a) = a | |
type Denotation ((:->) a sig) = a -> Denotation sig |