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

Language.Syntactic.Features.Literal

Description

Literal expressions

Synopsis

Documentation

data Literal ctx a whereSource

Constructors

Literal :: (Eq a, Show a, Typeable a, Sat ctx a) => a -> Literal ctx (Full a) 

Instances

WitnessSat (Literal ctx) 
WitnessCons (Literal ctx) 
ExprEq (Literal ctx) 
ToTree (Literal ctx) 
Render (Literal ctx) 
Eval (Literal ctx) 
((Literal ctx') :<: dom, PartialEval dom ctx dom) => PartialEval (Literal ctx') ctx dom 

litCtx :: (Eq a, Show a, Typeable a, Sat ctx a, (Literal ctx) :<: dom) => Proxy ctx -> a -> ASTF dom aSource

Literal with explicit context

lit :: (Eq a, Show a, Typeable a, (Literal Poly) :<: dom) => a -> ASTF dom aSource

Literal

prjLiteral :: (Literal ctx) :<: sup => Proxy ctx -> sup a -> Maybe (Literal ctx a)Source

Partial literal projection with explicit context