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

Language.Syntactic.Features.Condition

Description

Conditional expressions

Synopsis

Documentation

data Condition ctx a whereSource

Constructors

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

conditionCtx :: (Sat ctx (Internal a), Syntactic a dom, (Condition ctx) :<: dom) => Proxy ctx -> ASTF dom Bool -> a -> a -> aSource

Conditional expression with explicit context

condition :: ((Condition Poly) :<: dom, Syntactic a dom) => ASTF dom Bool -> a -> a -> aSource

Conditional expression

prjCondition :: (Condition ctx) :<: sup => Proxy ctx -> sup a -> Maybe (Condition ctx a)Source

Partial Condition projection with explicit context