module Language.Syntactic.Constructs.Construct where
import Language.Syntactic
data Construct sig
where
Construct :: String -> Denotation sig -> Construct sig
instance Constrained Construct
where
type Sat Construct = Top
exprDict _ = Dict
instance Semantic Construct
where
semantics (Construct name den) = Sem name den
instance Equality Construct where equal = equalDefault; exprHash = exprHashDefault
instance Render Construct where renderArgs = renderArgsDefault
instance Eval Construct where evaluate = evaluateDefault
instance ToTree Construct