syntactic-3.7: Generic representation and manipulation of abstract syntax

Safe HaskellNone
LanguageHaskell2010

Language.Syntactic.Sugar.TupleTyped

Contents

Description

Syntactic instances for tuples and Typed symbol domains

Documentation

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 # 

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 # 

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 # 

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 # 

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 # 

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 # 

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 # 

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 # 

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 # 

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 # 

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 # 

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 # 

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 # 

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 # 

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 #