module Language.Syntactic.Functional.Tuple
( module Language.Syntactic.Functional.Tuple
, eqPred
, classPred
, mkSelectClassPlusInstances
, deriveSyntacticForTuples
) where
import Language.Syntactic
import Language.Syntactic.TH
import Language.Syntactic.Functional
import Language.Syntactic.Functional.Tuple.TH
mkSelectClassPlusInstances 15
mkTupleSym "Tuple" "Tup" "Sel" 15
deriveSymbol ''Tuple
deriveEquality ''Tuple
deriveRender id ''Tuple
instance StringTree Tuple
instance Eval Tuple
where
evalSym Tup2 = (,)
evalSym Tup3 = (,,)
evalSym Tup4 = (,,,)
evalSym Tup5 = (,,,,)
evalSym Tup6 = (,,,,,)
evalSym Tup7 = (,,,,,,)
evalSym Tup8 = (,,,,,,,)
evalSym Tup9 = (,,,,,,,,)
evalSym Tup10 = (,,,,,,,,,)
evalSym Tup11 = (,,,,,,,,,,)
evalSym Tup12 = (,,,,,,,,,,,)
evalSym Tup13 = (,,,,,,,,,,,,)
evalSym Tup14 = (,,,,,,,,,,,,,)
evalSym Tup15 = (,,,,,,,,,,,,,,)
evalSym Sel1 = select1
evalSym Sel2 = select2
evalSym Sel3 = select3
evalSym Sel4 = select4
evalSym Sel5 = select5
evalSym Sel6 = select6
evalSym Sel7 = select7
evalSym Sel8 = select8
evalSym Sel9 = select9
evalSym Sel10 = select10
evalSym Sel11 = select11
evalSym Sel12 = select12
evalSym Sel13 = select13
evalSym Sel14 = select14
evalSym Sel15 = select15
instance EvalEnv Tuple env