syntactic-3.7.1: 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) :: * -> * 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) :: * -> * 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) :: * -> * 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) :: * -> * 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) :: * -> * 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) :: * -> * 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) :: * -> * 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) :: * -> * 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) :: * -> * 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) :: * -> * 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) :: * -> * 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) :: * -> * 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) :: * -> * 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) :: * -> * 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 #