-- | Conditional expressions module Language.Syntactic.Constructs.Condition where import Language.Syntactic data Condition sig where Condition :: Condition (Bool :-> a :-> a :-> Full a) instance Constrained Condition where type Sat Condition = Top exprDict _ = Dict instance Semantic Condition where semantics Condition = Sem "condition" (\c t e -> if c then t else e) instance Equality Condition where equal = equalDefault; exprHash = exprHashDefault instance Render Condition where renderArgs = renderArgsDefault instance Eval Condition where evaluate = evaluateDefault instance ToTree Condition