module Language.Syntactic.Constructs.TupleSyntacticSimple where
import Language.Syntactic.Syntax
import Language.Syntactic.Constructs.Tuple
instance
( Syntactic a dom, Eq (Internal a), Show (Internal a)
, Syntactic b dom, Eq (Internal b), Show (Internal b)
, Tuple SimpleCtx :<: dom
, Select SimpleCtx :<: dom
) =>
Syntactic (a,b) dom
where
type Internal (a,b) =
( Internal a
, Internal b
)
desugar = desugarTup2 simpleCtx
sugar = sugarTup2 simpleCtx
instance
( Syntactic a dom, Eq (Internal a), Show (Internal a)
, Syntactic b dom, Eq (Internal b), Show (Internal b)
, Syntactic c dom, Eq (Internal c), Show (Internal c)
, Tuple SimpleCtx :<: dom
, Select SimpleCtx :<: dom
) =>
Syntactic (a,b,c) dom
where
type Internal (a,b,c) =
( Internal a
, Internal b
, Internal c
)
desugar = desugarTup3 simpleCtx
sugar = sugarTup3 simpleCtx
instance
( Syntactic a dom, Eq (Internal a), Show (Internal a)
, Syntactic b dom, Eq (Internal b), Show (Internal b)
, Syntactic c dom, Eq (Internal c), Show (Internal c)
, Syntactic d dom, Eq (Internal d), Show (Internal d)
, Tuple SimpleCtx :<: dom
, Select SimpleCtx :<: dom
) =>
Syntactic (a,b,c,d) dom
where
type Internal (a,b,c,d) =
( Internal a
, Internal b
, Internal c
, Internal d
)
desugar = desugarTup4 simpleCtx
sugar = sugarTup4 simpleCtx
instance
( Syntactic a dom, Eq (Internal a), Show (Internal a)
, Syntactic b dom, Eq (Internal b), Show (Internal b)
, Syntactic c dom, Eq (Internal c), Show (Internal c)
, Syntactic d dom, Eq (Internal d), Show (Internal d)
, Syntactic e dom, Eq (Internal e), Show (Internal e)
, Tuple SimpleCtx :<: dom
, Select SimpleCtx :<: dom
) =>
Syntactic (a,b,c,d,e) dom
where
type Internal (a,b,c,d,e) =
( Internal a
, Internal b
, Internal c
, Internal d
, Internal e
)
desugar = desugarTup5 simpleCtx
sugar = sugarTup5 simpleCtx
instance
( Syntactic a dom, Eq (Internal a), Show (Internal a)
, Syntactic b dom, Eq (Internal b), Show (Internal b)
, Syntactic c dom, Eq (Internal c), Show (Internal c)
, Syntactic d dom, Eq (Internal d), Show (Internal d)
, Syntactic e dom, Eq (Internal e), Show (Internal e)
, Syntactic f dom, Eq (Internal f), Show (Internal f)
, Tuple SimpleCtx :<: dom
, Select SimpleCtx :<: dom
) =>
Syntactic (a,b,c,d,e,f) dom
where
type Internal (a,b,c,d,e,f) =
( Internal a
, Internal b
, Internal c
, Internal d
, Internal e
, Internal f
)
desugar = desugarTup6 simpleCtx
sugar = sugarTup6 simpleCtx
instance
( Syntactic a dom, Eq (Internal a), Show (Internal a)
, Syntactic b dom, Eq (Internal b), Show (Internal b)
, Syntactic c dom, Eq (Internal c), Show (Internal c)
, Syntactic d dom, Eq (Internal d), Show (Internal d)
, Syntactic e dom, Eq (Internal e), Show (Internal e)
, Syntactic f dom, Eq (Internal f), Show (Internal f)
, Syntactic g dom, Eq (Internal g), Show (Internal g)
, Tuple SimpleCtx :<: dom
, Select SimpleCtx :<: dom
) =>
Syntactic (a,b,c,d,e,f,g) dom
where
type Internal (a,b,c,d,e,f,g) =
( Internal a
, Internal b
, Internal c
, Internal d
, Internal e
, Internal f
, Internal g
)
desugar = desugarTup7 simpleCtx
sugar = sugarTup7 simpleCtx