{-# LANGUAGE RankNTypes #-}
module Language.Drasil.Synonyms (
ConstQDef, SimpleQDef, ModelQDef,
PExpr
) where
import Language.Drasil.Chunk.Eq (QDefinition)
import Language.Drasil.Expr.Class (ExprC)
import Language.Drasil.Expr.Lang (Expr)
import Language.Drasil.Literal.Class (LiteralC)
import Language.Drasil.ModelExpr.Lang (ModelExpr)
import Language.Drasil.Literal.Lang (Literal)
type ConstQDef = QDefinition Literal
type SimpleQDef = QDefinition Expr
type ModelQDef = QDefinition ModelExpr
type PExpr = forall r . (ExprC r, LiteralC r) => r