Documentation
newtype Productions a env Source
data Symbol a t env whereSource
Term :: String -> Symbol DTerm TTerm env | |
Nont :: Ref a env -> Symbol a TNonT env | |
NontInt :: Symbol Int TAttT env | |
NontChar :: Symbol Char TAttT env | |
NontVarid :: Symbol String TAttT env | |
NontConid :: Symbol String TAttT env | |
NontOp :: Symbol String TAttT env |
GetNT nt (NTCons nt v l env) (Symbol v TNonT env) | |
HExtend (LVPair t (Record HNil -> v)) l l' => ProdSeq (EP t (Symbol b TAttT)) (PreProd (l -> v -> t2) (b -> a)) (l' -> t2) a | |
HExtend (LVPair t v) l l' => ProdSeq (EP t (Symbol b TNonT)) (PreProd (l -> v -> t2) (b -> a)) (l' -> t2) a | |
ProdSeq (Symbol DTerm TTerm) (PreProd (t1 -> DTerm -> t2) (DTerm -> a)) (t1 -> t2) a |
EP a (b env) |
HExtend (LVPair t (Record HNil -> v)) l l' => ProdSeq (EP t (Symbol b TAttT)) (PreProd (l -> v -> t2) (b -> a)) (l' -> t2) a | |
HExtend (LVPair t v) l l' => ProdSeq (EP t (Symbol b TNonT)) (PreProd (l -> v -> t2) (b -> a)) (l' -> t2) a | |
ProdSeq (Symbol DTerm TTerm) (PreProd (t1 -> DTerm -> t2) (DTerm -> a)) (t1 -> t2) a |
class ProdSeq a b c d | a c -> b d whereSource
HExtend (LVPair t (Record HNil -> v)) l l' => ProdSeq (EP t (Symbol b TAttT)) (PreProd (l -> v -> t2) (b -> a)) (l' -> t2) a | |
HExtend (LVPair t v) l l' => ProdSeq (EP t (Symbol b TNonT)) (PreProd (l -> v -> t2) (b -> a)) (l' -> t2) a | |
ProdSeq (Symbol DTerm TTerm) (PreProd (t1 -> DTerm -> t2) (DTerm -> a)) (t1 -> t2) a |