syntactic-3.8.3: Generic representation and manipulation of abstract syntax
Safe HaskellNone
LanguageHaskell2010

Language.Syntactic.Sugar.TupleTyped

Description

Syntactic instances for tuples and Typed symbol domains

Orphan instances

(Syntactic a, Syntactic b, Typeable (Internal a), Typeable (Internal b), Tuple :<: sym, Domain a ~ Typed sym, Domain a ~ Domain b) => Syntactic (a, b) Source # 
Instance details

Associated Types

type Domain (a, b) :: Type -> Type Source #

type Internal (a, b) Source #

Methods

desugar :: (a, b) -> ASTF (Domain (a, b)) (Internal (a, b)) Source #

sugar :: ASTF (Domain (a, b)) (Internal (a, b)) -> (a, b) Source #

(Syntactic a, Syntactic b, Syntactic c, Typeable (Internal a), Typeable (Internal b), Typeable (Internal c), Tuple :<: sym, Domain a ~ Typed sym, Domain a ~ Domain b, Domain a ~ Domain c) => Syntactic (a, b, c) Source # 
Instance details

Associated Types

type Domain (a, b, c) :: Type -> Type Source #

type Internal (a, b, c) Source #

Methods

desugar :: (a, b, c) -> ASTF (Domain (a, b, c)) (Internal (a, b, c)) Source #

sugar :: ASTF (Domain (a, b, c)) (Internal (a, b, c)) -> (a, b, c) Source #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Typeable (Internal a), Typeable (Internal b), Typeable (Internal c), Typeable (Internal d), Tuple :<: sym, Domain a ~ Typed sym, Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d) => Syntactic (a, b, c, d) Source # 
Instance details

Associated Types

type Domain (a, b, c, d) :: Type -> Type Source #

type Internal (a, b, c, d) Source #

Methods

desugar :: (a, b, c, d) -> ASTF (Domain (a, b, c, d)) (Internal (a, b, c, d)) Source #

sugar :: ASTF (Domain (a, b, c, d)) (Internal (a, b, c, d)) -> (a, b, c, d) Source #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Typeable (Internal a), Typeable (Internal b), Typeable (Internal c), Typeable (Internal d), Typeable (Internal e), Tuple :<: sym, Domain a ~ Typed sym, Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e) => Syntactic (a, b, c, d, e) Source # 
Instance details

Associated Types

type Domain (a, b, c, d, e) :: Type -> Type Source #

type Internal (a, b, c, d, e) Source #

Methods

desugar :: (a, b, c, d, e) -> ASTF (Domain (a, b, c, d, e)) (Internal (a, b, c, d, e)) Source #

sugar :: ASTF (Domain (a, b, c, d, e)) (Internal (a, b, c, d, e)) -> (a, b, c, d, e) Source #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Typeable (Internal a), Typeable (Internal b), Typeable (Internal c), Typeable (Internal d), Typeable (Internal e), Typeable (Internal f), Tuple :<: sym, Domain a ~ Typed sym, Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f) => Syntactic (a, b, c, d, e, f) Source # 
Instance details

Associated Types

type Domain (a, b, c, d, e, f) :: Type -> Type Source #

type Internal (a, b, c, d, e, f) Source #

Methods

desugar :: (a, b, c, d, e, f) -> ASTF (Domain (a, b, c, d, e, f)) (Internal (a, b, c, d, e, f)) Source #

sugar :: ASTF (Domain (a, b, c, d, e, f)) (Internal (a, b, c, d, e, f)) -> (a, b, c, d, e, f) Source #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Typeable (Internal a), Typeable (Internal b), Typeable (Internal c), Typeable (Internal d), Typeable (Internal e), Typeable (Internal f), Typeable (Internal g), Tuple :<: sym, Domain a ~ Typed sym, Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g) => Syntactic (a, b, c, d, e, f, g) Source # 
Instance details

Associated Types

type Domain (a, b, c, d, e, f, g) :: Type -> Type Source #

type Internal (a, b, c, d, e, f, g) Source #

Methods

desugar :: (a, b, c, d, e, f, g) -> ASTF (Domain (a, b, c, d, e, f, g)) (Internal (a, b, c, d, e, f, g)) Source #

sugar :: ASTF (Domain (a, b, c, d, e, f, g)) (Internal (a, b, c, d, e, f, g)) -> (a, b, c, d, e, f, g) Source #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Syntactic h, Typeable (Internal a), Typeable (Internal b), Typeable (Internal c), Typeable (Internal d), Typeable (Internal e), Typeable (Internal f), Typeable (Internal g), Typeable (Internal h), Tuple :<: sym, Domain a ~ Typed sym, Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, Domain a ~ Domain h) => Syntactic (a, b, c, d, e, f, g, h) Source # 
Instance details

Associated Types

type Domain (a, b, c, d, e, f, g, h) :: Type -> Type Source #

type Internal (a, b, c, d, e, f, g, h) Source #

Methods

desugar :: (a, b, c, d, e, f, g, h) -> ASTF (Domain (a, b, c, d, e, f, g, h)) (Internal (a, b, c, d, e, f, g, h)) Source #

sugar :: ASTF (Domain (a, b, c, d, e, f, g, h)) (Internal (a, b, c, d, e, f, g, h)) -> (a, b, c, d, e, f, g, h) Source #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Syntactic h, Syntactic i, Typeable (Internal a), Typeable (Internal b), Typeable (Internal c), Typeable (Internal d), Typeable (Internal e), Typeable (Internal f), Typeable (Internal g), Typeable (Internal h), Typeable (Internal i), Tuple :<: sym, Domain a ~ Typed sym, Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, Domain a ~ Domain h, Domain a ~ Domain i) => Syntactic (a, b, c, d, e, f, g, h, i) Source # 
Instance details

Associated Types

type Domain (a, b, c, d, e, f, g, h, i) :: Type -> Type Source #

type Internal (a, b, c, d, e, f, g, h, i) Source #

Methods

desugar :: (a, b, c, d, e, f, g, h, i) -> ASTF (Domain (a, b, c, d, e, f, g, h, i)) (Internal (a, b, c, d, e, f, g, h, i)) Source #

sugar :: ASTF (Domain (a, b, c, d, e, f, g, h, i)) (Internal (a, b, c, d, e, f, g, h, i)) -> (a, b, c, d, e, f, g, h, i) Source #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Syntactic h, Syntactic i, Syntactic j, Typeable (Internal a), Typeable (Internal b), Typeable (Internal c), Typeable (Internal d), Typeable (Internal e), Typeable (Internal f), Typeable (Internal g), Typeable (Internal h), Typeable (Internal i), Typeable (Internal j), Tuple :<: sym, Domain a ~ Typed sym, Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, Domain a ~ Domain h, Domain a ~ Domain i, Domain a ~ Domain j) => Syntactic (a, b, c, d, e, f, g, h, i, j) Source # 
Instance details

Associated Types

type Domain (a, b, c, d, e, f, g, h, i, j) :: Type -> Type Source #

type Internal (a, b, c, d, e, f, g, h, i, j) Source #

Methods

desugar :: (a, b, c, d, e, f, g, h, i, j) -> ASTF (Domain (a, b, c, d, e, f, g, h, i, j)) (Internal (a, b, c, d, e, f, g, h, i, j)) Source #

sugar :: ASTF (Domain (a, b, c, d, e, f, g, h, i, j)) (Internal (a, b, c, d, e, f, g, h, i, j)) -> (a, b, c, d, e, f, g, h, i, j) Source #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Syntactic h, Syntactic i, Syntactic j, Syntactic k, Typeable (Internal a), Typeable (Internal b), Typeable (Internal c), Typeable (Internal d), Typeable (Internal e), Typeable (Internal f), Typeable (Internal g), Typeable (Internal h), Typeable (Internal i), Typeable (Internal j), Typeable (Internal k), Tuple :<: sym, Domain a ~ Typed sym, Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, Domain a ~ Domain h, Domain a ~ Domain i, Domain a ~ Domain j, Domain a ~ Domain k) => Syntactic (a, b, c, d, e, f, g, h, i, j, k) Source # 
Instance details

Associated Types

type Domain (a, b, c, d, e, f, g, h, i, j, k) :: Type -> Type Source #

type Internal (a, b, c, d, e, f, g, h, i, j, k) Source #

Methods

desugar :: (a, b, c, d, e, f, g, h, i, j, k) -> ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k)) (Internal (a, b, c, d, e, f, g, h, i, j, k)) Source #

sugar :: ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k)) (Internal (a, b, c, d, e, f, g, h, i, j, k)) -> (a, b, c, d, e, f, g, h, i, j, k) Source #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Syntactic h, Syntactic i, Syntactic j, Syntactic k, Syntactic l, Typeable (Internal a), Typeable (Internal b), Typeable (Internal c), Typeable (Internal d), Typeable (Internal e), Typeable (Internal f), Typeable (Internal g), Typeable (Internal h), Typeable (Internal i), Typeable (Internal j), Typeable (Internal k), Typeable (Internal l), Tuple :<: sym, Domain a ~ Typed sym, Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, Domain a ~ Domain h, Domain a ~ Domain i, Domain a ~ Domain j, Domain a ~ Domain k, Domain a ~ Domain l) => Syntactic (a, b, c, d, e, f, g, h, i, j, k, l) Source # 
Instance details

Associated Types

type Domain (a, b, c, d, e, f, g, h, i, j, k, l) :: Type -> Type Source #

type Internal (a, b, c, d, e, f, g, h, i, j, k, l) Source #

Methods

desugar :: (a, b, c, d, e, f, g, h, i, j, k, l) -> ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k, l)) (Internal (a, b, c, d, e, f, g, h, i, j, k, l)) Source #

sugar :: ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k, l)) (Internal (a, b, c, d, e, f, g, h, i, j, k, l)) -> (a, b, c, d, e, f, g, h, i, j, k, l) Source #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Syntactic h, Syntactic i, Syntactic j, Syntactic k, Syntactic l, Syntactic m, Typeable (Internal a), Typeable (Internal b), Typeable (Internal c), Typeable (Internal d), Typeable (Internal e), Typeable (Internal f), Typeable (Internal g), Typeable (Internal h), Typeable (Internal i), Typeable (Internal j), Typeable (Internal k), Typeable (Internal l), Typeable (Internal m), Tuple :<: sym, Domain a ~ Typed sym, Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, Domain a ~ Domain h, Domain a ~ Domain i, Domain a ~ Domain j, Domain a ~ Domain k, Domain a ~ Domain l, Domain a ~ Domain m) => Syntactic (a, b, c, d, e, f, g, h, i, j, k, l, m) Source # 
Instance details

Associated Types

type Domain (a, b, c, d, e, f, g, h, i, j, k, l, m) :: Type -> Type Source #

type Internal (a, b, c, d, e, f, g, h, i, j, k, l, m) Source #

Methods

desugar :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k, l, m)) (Internal (a, b, c, d, e, f, g, h, i, j, k, l, m)) Source #

sugar :: ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k, l, m)) (Internal (a, b, c, d, e, f, g, h, i, j, k, l, m)) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) Source #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Syntactic h, Syntactic i, Syntactic j, Syntactic k, Syntactic l, Syntactic m, Syntactic n, Typeable (Internal a), Typeable (Internal b), Typeable (Internal c), Typeable (Internal d), Typeable (Internal e), Typeable (Internal f), Typeable (Internal g), Typeable (Internal h), Typeable (Internal i), Typeable (Internal j), Typeable (Internal k), Typeable (Internal l), Typeable (Internal m), Typeable (Internal n), Tuple :<: sym, Domain a ~ Typed sym, Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, Domain a ~ Domain h, Domain a ~ Domain i, Domain a ~ Domain j, Domain a ~ Domain k, Domain a ~ Domain l, Domain a ~ Domain m, Domain a ~ Domain n) => Syntactic (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source # 
Instance details

Associated Types

type Domain (a, b, c, d, e, f, g, h, i, j, k, l, m, n) :: Type -> Type Source #

type Internal (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source #

Methods

desugar :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k, l, m, n)) (Internal (a, b, c, d, e, f, g, h, i, j, k, l, m, n)) Source #

sugar :: ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k, l, m, n)) (Internal (a, b, c, d, e, f, g, h, i, j, k, l, m, n)) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Syntactic h, Syntactic i, Syntactic j, Syntactic k, Syntactic l, Syntactic m, Syntactic n, Syntactic o, Typeable (Internal a), Typeable (Internal b), Typeable (Internal c), Typeable (Internal d), Typeable (Internal e), Typeable (Internal f), Typeable (Internal g), Typeable (Internal h), Typeable (Internal i), Typeable (Internal j), Typeable (Internal k), Typeable (Internal l), Typeable (Internal m), Typeable (Internal n), Typeable (Internal o), Tuple :<: sym, Domain a ~ Typed sym, Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, Domain a ~ Domain h, Domain a ~ Domain i, Domain a ~ Domain j, Domain a ~ Domain k, Domain a ~ Domain l, Domain a ~ Domain m, Domain a ~ Domain n, Domain a ~ Domain o) => Syntactic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source # 
Instance details

Associated Types

type Domain (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) :: Type -> Type Source #

type Internal (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source #

Methods

desugar :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)) (Internal (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)) Source #

sugar :: ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)) (Internal (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source #