syntactic-3.8: Generic representation and manipulation of abstract syntax

Safe HaskellNone
LanguageHaskell2010

Language.Syntactic.Sugar.TupleTyped

Contents

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) :: Type 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) :: Type 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) :: Type 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) :: Type 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) :: Type 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) :: Type 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) :: Type 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) :: Type 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) :: Type 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) :: Type 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) :: Type 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) :: Type 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) :: Type 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) :: Type 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 #