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

Safe HaskellNone

Language.Syntactic.Constructs.Condition

Description

Conditional expressions

Documentation

data Condition ctx a whereSource

Constructors

Condition :: Sat ctx a => Condition ctx (Bool :-> (a :-> (a :-> Full a))) 

Instances

MaybeWitnessSat ctx1 (Condition ctx2) 
MaybeWitnessSat ctx (Condition ctx) 
WitnessSat (Condition ctx) 
WitnessCons (Condition ctx) 
ExprEq (Condition ctx) 
ToTree (Condition ctx) 
Render (Condition ctx) 
Eval (Condition ctx) 
Semantic (Condition ctx) 
EvalBind (Condition ctx) 
(:<: (Condition ctx') dom, :<: (Lambda ctx) dom, :<: (Variable ctx) dom, AlphaEq dom dom dom [(VarId, VarId)], Optimize dom ctx dom) => Optimize (Condition ctx') ctx dom 
AlphaEq dom dom dom env => AlphaEq (Condition ctx) (Condition ctx) dom env