packages feed

tuple 0.1.0.1 → 0.2.0.0

raw patch · 7 files changed

+246/−217 lines, 7 filesdep ~base

Dependency ranges changed: base

Files

Makefile view
@@ -3,7 +3,7 @@  N=15 -update:	updateCurry updateSelect updateSequence+update:	updateCurry updateSelect updateSequence updateUpd  updateCurry: 	make N=$(N) UPDFILE=src/Data/Tuple/Curry.hs UPD=curry updateIt@@ -14,7 +14,13 @@ updateSequence: 	make N=$(N) UPDFILE=src/Data/Tuple/Sequence.hs UPD=sequence updateIt +updateUpd:+	make N=$(N) UPDFILE=src/Data/Tuple/Update.hs UPD=update updateIt+ updateIt: 	sed '/--snip--/,$$d' $(UPDFILE) > tmp.hs 	runhaskell Tools/MkTuple $(UPD) $(N) >> tmp.hs 	mv tmp.hs $(UPDFILE)++install:+	cabal install
Tools/MkTuple.hs view
@@ -17,7 +17,8 @@ gens :: [(String, Int -> IO ())] gens = [("select", generateSel),         ("sequence", generateSeq),-        ("curry", generateCurry)+        ("curry", generateCurry),+        ("update", generateUpd)        ]  ---------@@ -65,3 +66,23 @@   where vars = ["a" ++ show j | j <- [1..i]]         tup = "(" ++ intercalate "," vars ++ ")"         varsp = unwords vars++---------++generateUpd :: Int -> IO ()+generateUpd n = mapM_ (generateUpdN n) [1..n]++generateUpdN :: Int -> Int -> IO ()+generateUpdN n i = do+    putStrLn $ "class Upd" ++ show i ++ " a b c | a b -> c , b c -> a where upd" ++ show i ++ " :: a -> b -> c"+    mapM_ (generateUpdNinst i) [i..n]+    putStrLn ""++generateUpdNinst :: Int -> Int -> IO ()+generateUpdNinst 1 1 = return ()+generateUpdNinst j i = do+    putStrLn $ "instance Upd" ++ show j ++ " b (" ++ intercalate "," ["a" ++ show l | l <- [1..i]] ++ ") " +++               res ++ " where upd" ++ show j ++ " b (" ++ +               intercalate "," [ "a" ++ show l | l <- [1..i]] ++ ") = " ++ res+ where res =+        "(" ++ intercalate "," [ if l == j then "b" else "a" ++ show l | l <- [1..i]] ++ ")"
src/Data/Tuple/All.hs view
@@ -3,8 +3,10 @@     module Data.Tuple.OneTuple,     module Data.Tuple.Select,     module Data.Tuple.Sequence,+    module Data.Tuple.Update,     ) where import Data.Tuple.Curry import Data.Tuple.OneTuple import Data.Tuple.Select import Data.Tuple.Sequence+import Data.Tuple.Update
src/Data/Tuple/Curry.hs view
@@ -11,48 +11,48 @@     curryN f a = f (OneTuple a)     uncurryN f ~(OneTuple a) = f a ---snip---------------------- Machine generated code below, see Tools/MkTuple.hs----- mkTuple curry 15-instance Curry ((a1,a2) -> r) (a1->a2 -> r) where-    curryN f a1 a2 = f (a1,a2)-    uncurryN f ~(a1,a2) = f a1 a2-instance Curry ((a1,a2,a3) -> r) (a1->a2->a3 -> r) where-    curryN f a1 a2 a3 = f (a1,a2,a3)-    uncurryN f ~(a1,a2,a3) = f a1 a2 a3-instance Curry ((a1,a2,a3,a4) -> r) (a1->a2->a3->a4 -> r) where-    curryN f a1 a2 a3 a4 = f (a1,a2,a3,a4)-    uncurryN f ~(a1,a2,a3,a4) = f a1 a2 a3 a4-instance Curry ((a1,a2,a3,a4,a5) -> r) (a1->a2->a3->a4->a5 -> r) where-    curryN f a1 a2 a3 a4 a5 = f (a1,a2,a3,a4,a5)-    uncurryN f ~(a1,a2,a3,a4,a5) = f a1 a2 a3 a4 a5-instance Curry ((a1,a2,a3,a4,a5,a6) -> r) (a1->a2->a3->a4->a5->a6 -> r) where-    curryN f a1 a2 a3 a4 a5 a6 = f (a1,a2,a3,a4,a5,a6)-    uncurryN f ~(a1,a2,a3,a4,a5,a6) = f a1 a2 a3 a4 a5 a6-instance Curry ((a1,a2,a3,a4,a5,a6,a7) -> r) (a1->a2->a3->a4->a5->a6->a7 -> r) where-    curryN f a1 a2 a3 a4 a5 a6 a7 = f (a1,a2,a3,a4,a5,a6,a7)-    uncurryN f ~(a1,a2,a3,a4,a5,a6,a7) = f a1 a2 a3 a4 a5 a6 a7-instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8) -> r) (a1->a2->a3->a4->a5->a6->a7->a8 -> r) where-    curryN f a1 a2 a3 a4 a5 a6 a7 a8 = f (a1,a2,a3,a4,a5,a6,a7,a8)-    uncurryN f ~(a1,a2,a3,a4,a5,a6,a7,a8) = f a1 a2 a3 a4 a5 a6 a7 a8-instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9 -> r) where-    curryN f a1 a2 a3 a4 a5 a6 a7 a8 a9 = f (a1,a2,a3,a4,a5,a6,a7,a8,a9)-    uncurryN f ~(a1,a2,a3,a4,a5,a6,a7,a8,a9) = f a1 a2 a3 a4 a5 a6 a7 a8 a9-instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10 -> r) where-    curryN f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 = f (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)-    uncurryN f ~(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10-instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11 -> r) where-    curryN f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 = f (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)-    uncurryN f ~(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11-instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12 -> r) where-    curryN f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 = f (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)-    uncurryN f ~(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12-instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13 -> r) where-    curryN f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 = f (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)-    uncurryN f ~(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13-instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13->a14 -> r) where-    curryN f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 = f (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)-    uncurryN f ~(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14-instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13->a14->a15 -> r) where-    curryN f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 = f (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)-    uncurryN f ~(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15+--snip-----------------
+---- Machine generated code below, see Tools/MkTuple.hs
+---- mkTuple curry 15
+instance Curry ((a1,a2) -> r) (a1->a2 -> r) where
+    curryN f a1 a2 = f (a1,a2)
+    uncurryN f ~(a1,a2) = f a1 a2
+instance Curry ((a1,a2,a3) -> r) (a1->a2->a3 -> r) where
+    curryN f a1 a2 a3 = f (a1,a2,a3)
+    uncurryN f ~(a1,a2,a3) = f a1 a2 a3
+instance Curry ((a1,a2,a3,a4) -> r) (a1->a2->a3->a4 -> r) where
+    curryN f a1 a2 a3 a4 = f (a1,a2,a3,a4)
+    uncurryN f ~(a1,a2,a3,a4) = f a1 a2 a3 a4
+instance Curry ((a1,a2,a3,a4,a5) -> r) (a1->a2->a3->a4->a5 -> r) where
+    curryN f a1 a2 a3 a4 a5 = f (a1,a2,a3,a4,a5)
+    uncurryN f ~(a1,a2,a3,a4,a5) = f a1 a2 a3 a4 a5
+instance Curry ((a1,a2,a3,a4,a5,a6) -> r) (a1->a2->a3->a4->a5->a6 -> r) where
+    curryN f a1 a2 a3 a4 a5 a6 = f (a1,a2,a3,a4,a5,a6)
+    uncurryN f ~(a1,a2,a3,a4,a5,a6) = f a1 a2 a3 a4 a5 a6
+instance Curry ((a1,a2,a3,a4,a5,a6,a7) -> r) (a1->a2->a3->a4->a5->a6->a7 -> r) where
+    curryN f a1 a2 a3 a4 a5 a6 a7 = f (a1,a2,a3,a4,a5,a6,a7)
+    uncurryN f ~(a1,a2,a3,a4,a5,a6,a7) = f a1 a2 a3 a4 a5 a6 a7
+instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8) -> r) (a1->a2->a3->a4->a5->a6->a7->a8 -> r) where
+    curryN f a1 a2 a3 a4 a5 a6 a7 a8 = f (a1,a2,a3,a4,a5,a6,a7,a8)
+    uncurryN f ~(a1,a2,a3,a4,a5,a6,a7,a8) = f a1 a2 a3 a4 a5 a6 a7 a8
+instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9 -> r) where
+    curryN f a1 a2 a3 a4 a5 a6 a7 a8 a9 = f (a1,a2,a3,a4,a5,a6,a7,a8,a9)
+    uncurryN f ~(a1,a2,a3,a4,a5,a6,a7,a8,a9) = f a1 a2 a3 a4 a5 a6 a7 a8 a9
+instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10 -> r) where
+    curryN f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 = f (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
+    uncurryN f ~(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
+instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11 -> r) where
+    curryN f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 = f (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)
+    uncurryN f ~(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11
+instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12 -> r) where
+    curryN f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 = f (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)
+    uncurryN f ~(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12
+instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13 -> r) where
+    curryN f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 = f (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)
+    uncurryN f ~(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13
+instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13->a14 -> r) where
+    curryN f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 = f (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)
+    uncurryN f ~(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14
+instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13->a14->a15 -> r) where
+    curryN f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 = f (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)
+    uncurryN f ~(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15
src/Data/Tuple/Select.hs view
@@ -6,155 +6,155 @@  instance Sel1 (OneTuple a) a where sel1 (OneTuple x) = x ---snip---------------------- Machine generated code below, see Tools/MkTuple.hs----- mkTuple select 15-class Sel1 a b | a -> b where sel1 :: a -> b-instance Sel1 (a1,a2) a1 where sel1 (x,_) = x-instance Sel1 (a1,a2,a3) a1 where sel1 (x,_,_) = x-instance Sel1 (a1,a2,a3,a4) a1 where sel1 (x,_,_,_) = x-instance Sel1 (a1,a2,a3,a4,a5) a1 where sel1 (x,_,_,_,_) = x-instance Sel1 (a1,a2,a3,a4,a5,a6) a1 where sel1 (x,_,_,_,_,_) = x-instance Sel1 (a1,a2,a3,a4,a5,a6,a7) a1 where sel1 (x,_,_,_,_,_,_) = x-instance Sel1 (a1,a2,a3,a4,a5,a6,a7,a8) a1 where sel1 (x,_,_,_,_,_,_,_) = x-instance Sel1 (a1,a2,a3,a4,a5,a6,a7,a8,a9) a1 where sel1 (x,_,_,_,_,_,_,_,_) = x-instance Sel1 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) a1 where sel1 (x,_,_,_,_,_,_,_,_,_) = x-instance Sel1 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) a1 where sel1 (x,_,_,_,_,_,_,_,_,_,_) = x-instance Sel1 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) a1 where sel1 (x,_,_,_,_,_,_,_,_,_,_,_) = x-instance Sel1 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a1 where sel1 (x,_,_,_,_,_,_,_,_,_,_,_,_) = x-instance Sel1 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a1 where sel1 (x,_,_,_,_,_,_,_,_,_,_,_,_,_) = x-instance Sel1 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a1 where sel1 (x,_,_,_,_,_,_,_,_,_,_,_,_,_,_) = x--class Sel2 a b | a -> b where sel2 :: a -> b-instance Sel2 (a1,a2) a2 where sel2 (_,x) = x-instance Sel2 (a1,a2,a3) a2 where sel2 (_,x,_) = x-instance Sel2 (a1,a2,a3,a4) a2 where sel2 (_,x,_,_) = x-instance Sel2 (a1,a2,a3,a4,a5) a2 where sel2 (_,x,_,_,_) = x-instance Sel2 (a1,a2,a3,a4,a5,a6) a2 where sel2 (_,x,_,_,_,_) = x-instance Sel2 (a1,a2,a3,a4,a5,a6,a7) a2 where sel2 (_,x,_,_,_,_,_) = x-instance Sel2 (a1,a2,a3,a4,a5,a6,a7,a8) a2 where sel2 (_,x,_,_,_,_,_,_) = x-instance Sel2 (a1,a2,a3,a4,a5,a6,a7,a8,a9) a2 where sel2 (_,x,_,_,_,_,_,_,_) = x-instance Sel2 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) a2 where sel2 (_,x,_,_,_,_,_,_,_,_) = x-instance Sel2 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) a2 where sel2 (_,x,_,_,_,_,_,_,_,_,_) = x-instance Sel2 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) a2 where sel2 (_,x,_,_,_,_,_,_,_,_,_,_) = x-instance Sel2 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a2 where sel2 (_,x,_,_,_,_,_,_,_,_,_,_,_) = x-instance Sel2 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a2 where sel2 (_,x,_,_,_,_,_,_,_,_,_,_,_,_) = x-instance Sel2 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a2 where sel2 (_,x,_,_,_,_,_,_,_,_,_,_,_,_,_) = x--class Sel3 a b | a -> b where sel3 :: a -> b-instance Sel3 (a1,a2,a3) a3 where sel3 (_,_,x) = x-instance Sel3 (a1,a2,a3,a4) a3 where sel3 (_,_,x,_) = x-instance Sel3 (a1,a2,a3,a4,a5) a3 where sel3 (_,_,x,_,_) = x-instance Sel3 (a1,a2,a3,a4,a5,a6) a3 where sel3 (_,_,x,_,_,_) = x-instance Sel3 (a1,a2,a3,a4,a5,a6,a7) a3 where sel3 (_,_,x,_,_,_,_) = x-instance Sel3 (a1,a2,a3,a4,a5,a6,a7,a8) a3 where sel3 (_,_,x,_,_,_,_,_) = x-instance Sel3 (a1,a2,a3,a4,a5,a6,a7,a8,a9) a3 where sel3 (_,_,x,_,_,_,_,_,_) = x-instance Sel3 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) a3 where sel3 (_,_,x,_,_,_,_,_,_,_) = x-instance Sel3 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) a3 where sel3 (_,_,x,_,_,_,_,_,_,_,_) = x-instance Sel3 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) a3 where sel3 (_,_,x,_,_,_,_,_,_,_,_,_) = x-instance Sel3 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a3 where sel3 (_,_,x,_,_,_,_,_,_,_,_,_,_) = x-instance Sel3 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a3 where sel3 (_,_,x,_,_,_,_,_,_,_,_,_,_,_) = x-instance Sel3 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a3 where sel3 (_,_,x,_,_,_,_,_,_,_,_,_,_,_,_) = x--class Sel4 a b | a -> b where sel4 :: a -> b-instance Sel4 (a1,a2,a3,a4) a4 where sel4 (_,_,_,x) = x-instance Sel4 (a1,a2,a3,a4,a5) a4 where sel4 (_,_,_,x,_) = x-instance Sel4 (a1,a2,a3,a4,a5,a6) a4 where sel4 (_,_,_,x,_,_) = x-instance Sel4 (a1,a2,a3,a4,a5,a6,a7) a4 where sel4 (_,_,_,x,_,_,_) = x-instance Sel4 (a1,a2,a3,a4,a5,a6,a7,a8) a4 where sel4 (_,_,_,x,_,_,_,_) = x-instance Sel4 (a1,a2,a3,a4,a5,a6,a7,a8,a9) a4 where sel4 (_,_,_,x,_,_,_,_,_) = x-instance Sel4 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) a4 where sel4 (_,_,_,x,_,_,_,_,_,_) = x-instance Sel4 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) a4 where sel4 (_,_,_,x,_,_,_,_,_,_,_) = x-instance Sel4 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) a4 where sel4 (_,_,_,x,_,_,_,_,_,_,_,_) = x-instance Sel4 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a4 where sel4 (_,_,_,x,_,_,_,_,_,_,_,_,_) = x-instance Sel4 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a4 where sel4 (_,_,_,x,_,_,_,_,_,_,_,_,_,_) = x-instance Sel4 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a4 where sel4 (_,_,_,x,_,_,_,_,_,_,_,_,_,_,_) = x--class Sel5 a b | a -> b where sel5 :: a -> b-instance Sel5 (a1,a2,a3,a4,a5) a5 where sel5 (_,_,_,_,x) = x-instance Sel5 (a1,a2,a3,a4,a5,a6) a5 where sel5 (_,_,_,_,x,_) = x-instance Sel5 (a1,a2,a3,a4,a5,a6,a7) a5 where sel5 (_,_,_,_,x,_,_) = x-instance Sel5 (a1,a2,a3,a4,a5,a6,a7,a8) a5 where sel5 (_,_,_,_,x,_,_,_) = x-instance Sel5 (a1,a2,a3,a4,a5,a6,a7,a8,a9) a5 where sel5 (_,_,_,_,x,_,_,_,_) = x-instance Sel5 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) a5 where sel5 (_,_,_,_,x,_,_,_,_,_) = x-instance Sel5 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) a5 where sel5 (_,_,_,_,x,_,_,_,_,_,_) = x-instance Sel5 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) a5 where sel5 (_,_,_,_,x,_,_,_,_,_,_,_) = x-instance Sel5 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a5 where sel5 (_,_,_,_,x,_,_,_,_,_,_,_,_) = x-instance Sel5 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a5 where sel5 (_,_,_,_,x,_,_,_,_,_,_,_,_,_) = x-instance Sel5 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a5 where sel5 (_,_,_,_,x,_,_,_,_,_,_,_,_,_,_) = x--class Sel6 a b | a -> b where sel6 :: a -> b-instance Sel6 (a1,a2,a3,a4,a5,a6) a6 where sel6 (_,_,_,_,_,x) = x-instance Sel6 (a1,a2,a3,a4,a5,a6,a7) a6 where sel6 (_,_,_,_,_,x,_) = x-instance Sel6 (a1,a2,a3,a4,a5,a6,a7,a8) a6 where sel6 (_,_,_,_,_,x,_,_) = x-instance Sel6 (a1,a2,a3,a4,a5,a6,a7,a8,a9) a6 where sel6 (_,_,_,_,_,x,_,_,_) = x-instance Sel6 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) a6 where sel6 (_,_,_,_,_,x,_,_,_,_) = x-instance Sel6 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) a6 where sel6 (_,_,_,_,_,x,_,_,_,_,_) = x-instance Sel6 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) a6 where sel6 (_,_,_,_,_,x,_,_,_,_,_,_) = x-instance Sel6 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a6 where sel6 (_,_,_,_,_,x,_,_,_,_,_,_,_) = x-instance Sel6 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a6 where sel6 (_,_,_,_,_,x,_,_,_,_,_,_,_,_) = x-instance Sel6 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a6 where sel6 (_,_,_,_,_,x,_,_,_,_,_,_,_,_,_) = x--class Sel7 a b | a -> b where sel7 :: a -> b-instance Sel7 (a1,a2,a3,a4,a5,a6,a7) a7 where sel7 (_,_,_,_,_,_,x) = x-instance Sel7 (a1,a2,a3,a4,a5,a6,a7,a8) a7 where sel7 (_,_,_,_,_,_,x,_) = x-instance Sel7 (a1,a2,a3,a4,a5,a6,a7,a8,a9) a7 where sel7 (_,_,_,_,_,_,x,_,_) = x-instance Sel7 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) a7 where sel7 (_,_,_,_,_,_,x,_,_,_) = x-instance Sel7 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) a7 where sel7 (_,_,_,_,_,_,x,_,_,_,_) = x-instance Sel7 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) a7 where sel7 (_,_,_,_,_,_,x,_,_,_,_,_) = x-instance Sel7 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a7 where sel7 (_,_,_,_,_,_,x,_,_,_,_,_,_) = x-instance Sel7 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a7 where sel7 (_,_,_,_,_,_,x,_,_,_,_,_,_,_) = x-instance Sel7 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a7 where sel7 (_,_,_,_,_,_,x,_,_,_,_,_,_,_,_) = x--class Sel8 a b | a -> b where sel8 :: a -> b-instance Sel8 (a1,a2,a3,a4,a5,a6,a7,a8) a8 where sel8 (_,_,_,_,_,_,_,x) = x-instance Sel8 (a1,a2,a3,a4,a5,a6,a7,a8,a9) a8 where sel8 (_,_,_,_,_,_,_,x,_) = x-instance Sel8 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) a8 where sel8 (_,_,_,_,_,_,_,x,_,_) = x-instance Sel8 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) a8 where sel8 (_,_,_,_,_,_,_,x,_,_,_) = x-instance Sel8 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) a8 where sel8 (_,_,_,_,_,_,_,x,_,_,_,_) = x-instance Sel8 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a8 where sel8 (_,_,_,_,_,_,_,x,_,_,_,_,_) = x-instance Sel8 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a8 where sel8 (_,_,_,_,_,_,_,x,_,_,_,_,_,_) = x-instance Sel8 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a8 where sel8 (_,_,_,_,_,_,_,x,_,_,_,_,_,_,_) = x--class Sel9 a b | a -> b where sel9 :: a -> b-instance Sel9 (a1,a2,a3,a4,a5,a6,a7,a8,a9) a9 where sel9 (_,_,_,_,_,_,_,_,x) = x-instance Sel9 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) a9 where sel9 (_,_,_,_,_,_,_,_,x,_) = x-instance Sel9 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) a9 where sel9 (_,_,_,_,_,_,_,_,x,_,_) = x-instance Sel9 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) a9 where sel9 (_,_,_,_,_,_,_,_,x,_,_,_) = x-instance Sel9 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a9 where sel9 (_,_,_,_,_,_,_,_,x,_,_,_,_) = x-instance Sel9 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a9 where sel9 (_,_,_,_,_,_,_,_,x,_,_,_,_,_) = x-instance Sel9 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a9 where sel9 (_,_,_,_,_,_,_,_,x,_,_,_,_,_,_) = x--class Sel10 a b | a -> b where sel10 :: a -> b-instance Sel10 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) a10 where sel10 (_,_,_,_,_,_,_,_,_,x) = x-instance Sel10 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) a10 where sel10 (_,_,_,_,_,_,_,_,_,x,_) = x-instance Sel10 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) a10 where sel10 (_,_,_,_,_,_,_,_,_,x,_,_) = x-instance Sel10 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a10 where sel10 (_,_,_,_,_,_,_,_,_,x,_,_,_) = x-instance Sel10 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a10 where sel10 (_,_,_,_,_,_,_,_,_,x,_,_,_,_) = x-instance Sel10 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a10 where sel10 (_,_,_,_,_,_,_,_,_,x,_,_,_,_,_) = x--class Sel11 a b | a -> b where sel11 :: a -> b-instance Sel11 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) a11 where sel11 (_,_,_,_,_,_,_,_,_,_,x) = x-instance Sel11 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) a11 where sel11 (_,_,_,_,_,_,_,_,_,_,x,_) = x-instance Sel11 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a11 where sel11 (_,_,_,_,_,_,_,_,_,_,x,_,_) = x-instance Sel11 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a11 where sel11 (_,_,_,_,_,_,_,_,_,_,x,_,_,_) = x-instance Sel11 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a11 where sel11 (_,_,_,_,_,_,_,_,_,_,x,_,_,_,_) = x--class Sel12 a b | a -> b where sel12 :: a -> b-instance Sel12 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) a12 where sel12 (_,_,_,_,_,_,_,_,_,_,_,x) = x-instance Sel12 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a12 where sel12 (_,_,_,_,_,_,_,_,_,_,_,x,_) = x-instance Sel12 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a12 where sel12 (_,_,_,_,_,_,_,_,_,_,_,x,_,_) = x-instance Sel12 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a12 where sel12 (_,_,_,_,_,_,_,_,_,_,_,x,_,_,_) = x--class Sel13 a b | a -> b where sel13 :: a -> b-instance Sel13 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a13 where sel13 (_,_,_,_,_,_,_,_,_,_,_,_,x) = x-instance Sel13 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a13 where sel13 (_,_,_,_,_,_,_,_,_,_,_,_,x,_) = x-instance Sel13 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a13 where sel13 (_,_,_,_,_,_,_,_,_,_,_,_,x,_,_) = x--class Sel14 a b | a -> b where sel14 :: a -> b-instance Sel14 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a14 where sel14 (_,_,_,_,_,_,_,_,_,_,_,_,_,x) = x-instance Sel14 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a14 where sel14 (_,_,_,_,_,_,_,_,_,_,_,_,_,x,_) = x--class Sel15 a b | a -> b where sel15 :: a -> b-instance Sel15 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a15 where sel15 (_,_,_,_,_,_,_,_,_,_,_,_,_,_,x) = x-+--snip-----------------
+---- Machine generated code below, see Tools/MkTuple.hs
+---- mkTuple select 15
+class Sel1 a b | a -> b where sel1 :: a -> b
+instance Sel1 (a1,a2) a1 where sel1 (x,_) = x
+instance Sel1 (a1,a2,a3) a1 where sel1 (x,_,_) = x
+instance Sel1 (a1,a2,a3,a4) a1 where sel1 (x,_,_,_) = x
+instance Sel1 (a1,a2,a3,a4,a5) a1 where sel1 (x,_,_,_,_) = x
+instance Sel1 (a1,a2,a3,a4,a5,a6) a1 where sel1 (x,_,_,_,_,_) = x
+instance Sel1 (a1,a2,a3,a4,a5,a6,a7) a1 where sel1 (x,_,_,_,_,_,_) = x
+instance Sel1 (a1,a2,a3,a4,a5,a6,a7,a8) a1 where sel1 (x,_,_,_,_,_,_,_) = x
+instance Sel1 (a1,a2,a3,a4,a5,a6,a7,a8,a9) a1 where sel1 (x,_,_,_,_,_,_,_,_) = x
+instance Sel1 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) a1 where sel1 (x,_,_,_,_,_,_,_,_,_) = x
+instance Sel1 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) a1 where sel1 (x,_,_,_,_,_,_,_,_,_,_) = x
+instance Sel1 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) a1 where sel1 (x,_,_,_,_,_,_,_,_,_,_,_) = x
+instance Sel1 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a1 where sel1 (x,_,_,_,_,_,_,_,_,_,_,_,_) = x
+instance Sel1 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a1 where sel1 (x,_,_,_,_,_,_,_,_,_,_,_,_,_) = x
+instance Sel1 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a1 where sel1 (x,_,_,_,_,_,_,_,_,_,_,_,_,_,_) = x
+
+class Sel2 a b | a -> b where sel2 :: a -> b
+instance Sel2 (a1,a2) a2 where sel2 (_,x) = x
+instance Sel2 (a1,a2,a3) a2 where sel2 (_,x,_) = x
+instance Sel2 (a1,a2,a3,a4) a2 where sel2 (_,x,_,_) = x
+instance Sel2 (a1,a2,a3,a4,a5) a2 where sel2 (_,x,_,_,_) = x
+instance Sel2 (a1,a2,a3,a4,a5,a6) a2 where sel2 (_,x,_,_,_,_) = x
+instance Sel2 (a1,a2,a3,a4,a5,a6,a7) a2 where sel2 (_,x,_,_,_,_,_) = x
+instance Sel2 (a1,a2,a3,a4,a5,a6,a7,a8) a2 where sel2 (_,x,_,_,_,_,_,_) = x
+instance Sel2 (a1,a2,a3,a4,a5,a6,a7,a8,a9) a2 where sel2 (_,x,_,_,_,_,_,_,_) = x
+instance Sel2 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) a2 where sel2 (_,x,_,_,_,_,_,_,_,_) = x
+instance Sel2 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) a2 where sel2 (_,x,_,_,_,_,_,_,_,_,_) = x
+instance Sel2 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) a2 where sel2 (_,x,_,_,_,_,_,_,_,_,_,_) = x
+instance Sel2 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a2 where sel2 (_,x,_,_,_,_,_,_,_,_,_,_,_) = x
+instance Sel2 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a2 where sel2 (_,x,_,_,_,_,_,_,_,_,_,_,_,_) = x
+instance Sel2 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a2 where sel2 (_,x,_,_,_,_,_,_,_,_,_,_,_,_,_) = x
+
+class Sel3 a b | a -> b where sel3 :: a -> b
+instance Sel3 (a1,a2,a3) a3 where sel3 (_,_,x) = x
+instance Sel3 (a1,a2,a3,a4) a3 where sel3 (_,_,x,_) = x
+instance Sel3 (a1,a2,a3,a4,a5) a3 where sel3 (_,_,x,_,_) = x
+instance Sel3 (a1,a2,a3,a4,a5,a6) a3 where sel3 (_,_,x,_,_,_) = x
+instance Sel3 (a1,a2,a3,a4,a5,a6,a7) a3 where sel3 (_,_,x,_,_,_,_) = x
+instance Sel3 (a1,a2,a3,a4,a5,a6,a7,a8) a3 where sel3 (_,_,x,_,_,_,_,_) = x
+instance Sel3 (a1,a2,a3,a4,a5,a6,a7,a8,a9) a3 where sel3 (_,_,x,_,_,_,_,_,_) = x
+instance Sel3 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) a3 where sel3 (_,_,x,_,_,_,_,_,_,_) = x
+instance Sel3 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) a3 where sel3 (_,_,x,_,_,_,_,_,_,_,_) = x
+instance Sel3 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) a3 where sel3 (_,_,x,_,_,_,_,_,_,_,_,_) = x
+instance Sel3 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a3 where sel3 (_,_,x,_,_,_,_,_,_,_,_,_,_) = x
+instance Sel3 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a3 where sel3 (_,_,x,_,_,_,_,_,_,_,_,_,_,_) = x
+instance Sel3 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a3 where sel3 (_,_,x,_,_,_,_,_,_,_,_,_,_,_,_) = x
+
+class Sel4 a b | a -> b where sel4 :: a -> b
+instance Sel4 (a1,a2,a3,a4) a4 where sel4 (_,_,_,x) = x
+instance Sel4 (a1,a2,a3,a4,a5) a4 where sel4 (_,_,_,x,_) = x
+instance Sel4 (a1,a2,a3,a4,a5,a6) a4 where sel4 (_,_,_,x,_,_) = x
+instance Sel4 (a1,a2,a3,a4,a5,a6,a7) a4 where sel4 (_,_,_,x,_,_,_) = x
+instance Sel4 (a1,a2,a3,a4,a5,a6,a7,a8) a4 where sel4 (_,_,_,x,_,_,_,_) = x
+instance Sel4 (a1,a2,a3,a4,a5,a6,a7,a8,a9) a4 where sel4 (_,_,_,x,_,_,_,_,_) = x
+instance Sel4 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) a4 where sel4 (_,_,_,x,_,_,_,_,_,_) = x
+instance Sel4 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) a4 where sel4 (_,_,_,x,_,_,_,_,_,_,_) = x
+instance Sel4 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) a4 where sel4 (_,_,_,x,_,_,_,_,_,_,_,_) = x
+instance Sel4 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a4 where sel4 (_,_,_,x,_,_,_,_,_,_,_,_,_) = x
+instance Sel4 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a4 where sel4 (_,_,_,x,_,_,_,_,_,_,_,_,_,_) = x
+instance Sel4 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a4 where sel4 (_,_,_,x,_,_,_,_,_,_,_,_,_,_,_) = x
+
+class Sel5 a b | a -> b where sel5 :: a -> b
+instance Sel5 (a1,a2,a3,a4,a5) a5 where sel5 (_,_,_,_,x) = x
+instance Sel5 (a1,a2,a3,a4,a5,a6) a5 where sel5 (_,_,_,_,x,_) = x
+instance Sel5 (a1,a2,a3,a4,a5,a6,a7) a5 where sel5 (_,_,_,_,x,_,_) = x
+instance Sel5 (a1,a2,a3,a4,a5,a6,a7,a8) a5 where sel5 (_,_,_,_,x,_,_,_) = x
+instance Sel5 (a1,a2,a3,a4,a5,a6,a7,a8,a9) a5 where sel5 (_,_,_,_,x,_,_,_,_) = x
+instance Sel5 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) a5 where sel5 (_,_,_,_,x,_,_,_,_,_) = x
+instance Sel5 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) a5 where sel5 (_,_,_,_,x,_,_,_,_,_,_) = x
+instance Sel5 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) a5 where sel5 (_,_,_,_,x,_,_,_,_,_,_,_) = x
+instance Sel5 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a5 where sel5 (_,_,_,_,x,_,_,_,_,_,_,_,_) = x
+instance Sel5 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a5 where sel5 (_,_,_,_,x,_,_,_,_,_,_,_,_,_) = x
+instance Sel5 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a5 where sel5 (_,_,_,_,x,_,_,_,_,_,_,_,_,_,_) = x
+
+class Sel6 a b | a -> b where sel6 :: a -> b
+instance Sel6 (a1,a2,a3,a4,a5,a6) a6 where sel6 (_,_,_,_,_,x) = x
+instance Sel6 (a1,a2,a3,a4,a5,a6,a7) a6 where sel6 (_,_,_,_,_,x,_) = x
+instance Sel6 (a1,a2,a3,a4,a5,a6,a7,a8) a6 where sel6 (_,_,_,_,_,x,_,_) = x
+instance Sel6 (a1,a2,a3,a4,a5,a6,a7,a8,a9) a6 where sel6 (_,_,_,_,_,x,_,_,_) = x
+instance Sel6 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) a6 where sel6 (_,_,_,_,_,x,_,_,_,_) = x
+instance Sel6 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) a6 where sel6 (_,_,_,_,_,x,_,_,_,_,_) = x
+instance Sel6 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) a6 where sel6 (_,_,_,_,_,x,_,_,_,_,_,_) = x
+instance Sel6 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a6 where sel6 (_,_,_,_,_,x,_,_,_,_,_,_,_) = x
+instance Sel6 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a6 where sel6 (_,_,_,_,_,x,_,_,_,_,_,_,_,_) = x
+instance Sel6 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a6 where sel6 (_,_,_,_,_,x,_,_,_,_,_,_,_,_,_) = x
+
+class Sel7 a b | a -> b where sel7 :: a -> b
+instance Sel7 (a1,a2,a3,a4,a5,a6,a7) a7 where sel7 (_,_,_,_,_,_,x) = x
+instance Sel7 (a1,a2,a3,a4,a5,a6,a7,a8) a7 where sel7 (_,_,_,_,_,_,x,_) = x
+instance Sel7 (a1,a2,a3,a4,a5,a6,a7,a8,a9) a7 where sel7 (_,_,_,_,_,_,x,_,_) = x
+instance Sel7 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) a7 where sel7 (_,_,_,_,_,_,x,_,_,_) = x
+instance Sel7 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) a7 where sel7 (_,_,_,_,_,_,x,_,_,_,_) = x
+instance Sel7 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) a7 where sel7 (_,_,_,_,_,_,x,_,_,_,_,_) = x
+instance Sel7 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a7 where sel7 (_,_,_,_,_,_,x,_,_,_,_,_,_) = x
+instance Sel7 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a7 where sel7 (_,_,_,_,_,_,x,_,_,_,_,_,_,_) = x
+instance Sel7 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a7 where sel7 (_,_,_,_,_,_,x,_,_,_,_,_,_,_,_) = x
+
+class Sel8 a b | a -> b where sel8 :: a -> b
+instance Sel8 (a1,a2,a3,a4,a5,a6,a7,a8) a8 where sel8 (_,_,_,_,_,_,_,x) = x
+instance Sel8 (a1,a2,a3,a4,a5,a6,a7,a8,a9) a8 where sel8 (_,_,_,_,_,_,_,x,_) = x
+instance Sel8 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) a8 where sel8 (_,_,_,_,_,_,_,x,_,_) = x
+instance Sel8 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) a8 where sel8 (_,_,_,_,_,_,_,x,_,_,_) = x
+instance Sel8 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) a8 where sel8 (_,_,_,_,_,_,_,x,_,_,_,_) = x
+instance Sel8 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a8 where sel8 (_,_,_,_,_,_,_,x,_,_,_,_,_) = x
+instance Sel8 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a8 where sel8 (_,_,_,_,_,_,_,x,_,_,_,_,_,_) = x
+instance Sel8 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a8 where sel8 (_,_,_,_,_,_,_,x,_,_,_,_,_,_,_) = x
+
+class Sel9 a b | a -> b where sel9 :: a -> b
+instance Sel9 (a1,a2,a3,a4,a5,a6,a7,a8,a9) a9 where sel9 (_,_,_,_,_,_,_,_,x) = x
+instance Sel9 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) a9 where sel9 (_,_,_,_,_,_,_,_,x,_) = x
+instance Sel9 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) a9 where sel9 (_,_,_,_,_,_,_,_,x,_,_) = x
+instance Sel9 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) a9 where sel9 (_,_,_,_,_,_,_,_,x,_,_,_) = x
+instance Sel9 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a9 where sel9 (_,_,_,_,_,_,_,_,x,_,_,_,_) = x
+instance Sel9 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a9 where sel9 (_,_,_,_,_,_,_,_,x,_,_,_,_,_) = x
+instance Sel9 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a9 where sel9 (_,_,_,_,_,_,_,_,x,_,_,_,_,_,_) = x
+
+class Sel10 a b | a -> b where sel10 :: a -> b
+instance Sel10 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) a10 where sel10 (_,_,_,_,_,_,_,_,_,x) = x
+instance Sel10 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) a10 where sel10 (_,_,_,_,_,_,_,_,_,x,_) = x
+instance Sel10 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) a10 where sel10 (_,_,_,_,_,_,_,_,_,x,_,_) = x
+instance Sel10 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a10 where sel10 (_,_,_,_,_,_,_,_,_,x,_,_,_) = x
+instance Sel10 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a10 where sel10 (_,_,_,_,_,_,_,_,_,x,_,_,_,_) = x
+instance Sel10 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a10 where sel10 (_,_,_,_,_,_,_,_,_,x,_,_,_,_,_) = x
+
+class Sel11 a b | a -> b where sel11 :: a -> b
+instance Sel11 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) a11 where sel11 (_,_,_,_,_,_,_,_,_,_,x) = x
+instance Sel11 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) a11 where sel11 (_,_,_,_,_,_,_,_,_,_,x,_) = x
+instance Sel11 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a11 where sel11 (_,_,_,_,_,_,_,_,_,_,x,_,_) = x
+instance Sel11 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a11 where sel11 (_,_,_,_,_,_,_,_,_,_,x,_,_,_) = x
+instance Sel11 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a11 where sel11 (_,_,_,_,_,_,_,_,_,_,x,_,_,_,_) = x
+
+class Sel12 a b | a -> b where sel12 :: a -> b
+instance Sel12 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) a12 where sel12 (_,_,_,_,_,_,_,_,_,_,_,x) = x
+instance Sel12 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a12 where sel12 (_,_,_,_,_,_,_,_,_,_,_,x,_) = x
+instance Sel12 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a12 where sel12 (_,_,_,_,_,_,_,_,_,_,_,x,_,_) = x
+instance Sel12 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a12 where sel12 (_,_,_,_,_,_,_,_,_,_,_,x,_,_,_) = x
+
+class Sel13 a b | a -> b where sel13 :: a -> b
+instance Sel13 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) a13 where sel13 (_,_,_,_,_,_,_,_,_,_,_,_,x) = x
+instance Sel13 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a13 where sel13 (_,_,_,_,_,_,_,_,_,_,_,_,x,_) = x
+instance Sel13 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a13 where sel13 (_,_,_,_,_,_,_,_,_,_,_,_,x,_,_) = x
+
+class Sel14 a b | a -> b where sel14 :: a -> b
+instance Sel14 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) a14 where sel14 (_,_,_,_,_,_,_,_,_,_,_,_,_,x) = x
+instance Sel14 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a14 where sel14 (_,_,_,_,_,_,_,_,_,_,_,_,_,x,_) = x
+
+class Sel15 a b | a -> b where sel15 :: a -> b
+instance Sel15 (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) a15 where sel15 (_,_,_,_,_,_,_,_,_,_,_,_,_,_,x) = x
+
src/Data/Tuple/Sequence.hs view
@@ -11,20 +11,20 @@ instance (Monad m) => SequenceT (OneTuple (m a)) (m (OneTuple a)) where     sequenceT (OneTuple a) = return OneTuple `ap` a ---snip---------------------- Machine generated code below, see Tools/MkTuple.hs----- mkTuple sequence 15-instance (Monad m) => SequenceT (m a1,m a2) (m (a1,a2)) where sequenceT (a1,a2) = return (,) `ap` a1 `ap` a2-instance (Monad m) => SequenceT (m a1,m a2,m a3) (m (a1,a2,a3)) where sequenceT (a1,a2,a3) = return (,,) `ap` a1 `ap` a2 `ap` a3-instance (Monad m) => SequenceT (m a1,m a2,m a3,m a4) (m (a1,a2,a3,a4)) where sequenceT (a1,a2,a3,a4) = return (,,,) `ap` a1 `ap` a2 `ap` a3 `ap` a4-instance (Monad m) => SequenceT (m a1,m a2,m a3,m a4,m a5) (m (a1,a2,a3,a4,a5)) where sequenceT (a1,a2,a3,a4,a5) = return (,,,,) `ap` a1 `ap` a2 `ap` a3 `ap` a4 `ap` a5-instance (Monad m) => SequenceT (m a1,m a2,m a3,m a4,m a5,m a6) (m (a1,a2,a3,a4,a5,a6)) where sequenceT (a1,a2,a3,a4,a5,a6) = return (,,,,,) `ap` a1 `ap` a2 `ap` a3 `ap` a4 `ap` a5 `ap` a6-instance (Monad m) => SequenceT (m a1,m a2,m a3,m a4,m a5,m a6,m a7) (m (a1,a2,a3,a4,a5,a6,a7)) where sequenceT (a1,a2,a3,a4,a5,a6,a7) = return (,,,,,,) `ap` a1 `ap` a2 `ap` a3 `ap` a4 `ap` a5 `ap` a6 `ap` a7-instance (Monad m) => SequenceT (m a1,m a2,m a3,m a4,m a5,m a6,m a7,m a8) (m (a1,a2,a3,a4,a5,a6,a7,a8)) where sequenceT (a1,a2,a3,a4,a5,a6,a7,a8) = return (,,,,,,,) `ap` a1 `ap` a2 `ap` a3 `ap` a4 `ap` a5 `ap` a6 `ap` a7 `ap` a8-instance (Monad m) => SequenceT (m a1,m a2,m a3,m a4,m a5,m a6,m a7,m a8,m a9) (m (a1,a2,a3,a4,a5,a6,a7,a8,a9)) where sequenceT (a1,a2,a3,a4,a5,a6,a7,a8,a9) = return (,,,,,,,,) `ap` a1 `ap` a2 `ap` a3 `ap` a4 `ap` a5 `ap` a6 `ap` a7 `ap` a8 `ap` a9-instance (Monad m) => SequenceT (m a1,m a2,m a3,m a4,m a5,m a6,m a7,m a8,m a9,m a10) (m (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)) where sequenceT (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) = return (,,,,,,,,,) `ap` a1 `ap` a2 `ap` a3 `ap` a4 `ap` a5 `ap` a6 `ap` a7 `ap` a8 `ap` a9 `ap` a10-instance (Monad m) => SequenceT (m a1,m a2,m a3,m a4,m a5,m a6,m a7,m a8,m a9,m a10,m a11) (m (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)) where sequenceT (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) = return (,,,,,,,,,,) `ap` a1 `ap` a2 `ap` a3 `ap` a4 `ap` a5 `ap` a6 `ap` a7 `ap` a8 `ap` a9 `ap` a10 `ap` a11-instance (Monad m) => SequenceT (m a1,m a2,m a3,m a4,m a5,m a6,m a7,m a8,m a9,m a10,m a11,m a12) (m (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)) where sequenceT (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) = return (,,,,,,,,,,,) `ap` a1 `ap` a2 `ap` a3 `ap` a4 `ap` a5 `ap` a6 `ap` a7 `ap` a8 `ap` a9 `ap` a10 `ap` a11 `ap` a12-instance (Monad m) => SequenceT (m a1,m a2,m a3,m a4,m a5,m a6,m a7,m a8,m a9,m a10,m a11,m a12,m a13) (m (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)) where sequenceT (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) = return (,,,,,,,,,,,,) `ap` a1 `ap` a2 `ap` a3 `ap` a4 `ap` a5 `ap` a6 `ap` a7 `ap` a8 `ap` a9 `ap` a10 `ap` a11 `ap` a12 `ap` a13-instance (Monad m) => SequenceT (m a1,m a2,m a3,m a4,m a5,m a6,m a7,m a8,m a9,m a10,m a11,m a12,m a13,m a14) (m (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)) where sequenceT (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) = return (,,,,,,,,,,,,,) `ap` a1 `ap` a2 `ap` a3 `ap` a4 `ap` a5 `ap` a6 `ap` a7 `ap` a8 `ap` a9 `ap` a10 `ap` a11 `ap` a12 `ap` a13 `ap` a14-instance (Monad m) => SequenceT (m a1,m a2,m a3,m a4,m a5,m a6,m a7,m a8,m a9,m a10,m a11,m a12,m a13,m a14,m a15) (m (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)) where sequenceT (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) = return (,,,,,,,,,,,,,,) `ap` a1 `ap` a2 `ap` a3 `ap` a4 `ap` a5 `ap` a6 `ap` a7 `ap` a8 `ap` a9 `ap` a10 `ap` a11 `ap` a12 `ap` a13 `ap` a14 `ap` a15+--snip-----------------
+---- Machine generated code below, see Tools/MkTuple.hs
+---- mkTuple sequence 15
+instance (Monad m) => SequenceT (m a1,m a2) (m (a1,a2)) where sequenceT (a1,a2) = return (,) `ap` a1 `ap` a2
+instance (Monad m) => SequenceT (m a1,m a2,m a3) (m (a1,a2,a3)) where sequenceT (a1,a2,a3) = return (,,) `ap` a1 `ap` a2 `ap` a3
+instance (Monad m) => SequenceT (m a1,m a2,m a3,m a4) (m (a1,a2,a3,a4)) where sequenceT (a1,a2,a3,a4) = return (,,,) `ap` a1 `ap` a2 `ap` a3 `ap` a4
+instance (Monad m) => SequenceT (m a1,m a2,m a3,m a4,m a5) (m (a1,a2,a3,a4,a5)) where sequenceT (a1,a2,a3,a4,a5) = return (,,,,) `ap` a1 `ap` a2 `ap` a3 `ap` a4 `ap` a5
+instance (Monad m) => SequenceT (m a1,m a2,m a3,m a4,m a5,m a6) (m (a1,a2,a3,a4,a5,a6)) where sequenceT (a1,a2,a3,a4,a5,a6) = return (,,,,,) `ap` a1 `ap` a2 `ap` a3 `ap` a4 `ap` a5 `ap` a6
+instance (Monad m) => SequenceT (m a1,m a2,m a3,m a4,m a5,m a6,m a7) (m (a1,a2,a3,a4,a5,a6,a7)) where sequenceT (a1,a2,a3,a4,a5,a6,a7) = return (,,,,,,) `ap` a1 `ap` a2 `ap` a3 `ap` a4 `ap` a5 `ap` a6 `ap` a7
+instance (Monad m) => SequenceT (m a1,m a2,m a3,m a4,m a5,m a6,m a7,m a8) (m (a1,a2,a3,a4,a5,a6,a7,a8)) where sequenceT (a1,a2,a3,a4,a5,a6,a7,a8) = return (,,,,,,,) `ap` a1 `ap` a2 `ap` a3 `ap` a4 `ap` a5 `ap` a6 `ap` a7 `ap` a8
+instance (Monad m) => SequenceT (m a1,m a2,m a3,m a4,m a5,m a6,m a7,m a8,m a9) (m (a1,a2,a3,a4,a5,a6,a7,a8,a9)) where sequenceT (a1,a2,a3,a4,a5,a6,a7,a8,a9) = return (,,,,,,,,) `ap` a1 `ap` a2 `ap` a3 `ap` a4 `ap` a5 `ap` a6 `ap` a7 `ap` a8 `ap` a9
+instance (Monad m) => SequenceT (m a1,m a2,m a3,m a4,m a5,m a6,m a7,m a8,m a9,m a10) (m (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)) where sequenceT (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) = return (,,,,,,,,,) `ap` a1 `ap` a2 `ap` a3 `ap` a4 `ap` a5 `ap` a6 `ap` a7 `ap` a8 `ap` a9 `ap` a10
+instance (Monad m) => SequenceT (m a1,m a2,m a3,m a4,m a5,m a6,m a7,m a8,m a9,m a10,m a11) (m (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)) where sequenceT (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) = return (,,,,,,,,,,) `ap` a1 `ap` a2 `ap` a3 `ap` a4 `ap` a5 `ap` a6 `ap` a7 `ap` a8 `ap` a9 `ap` a10 `ap` a11
+instance (Monad m) => SequenceT (m a1,m a2,m a3,m a4,m a5,m a6,m a7,m a8,m a9,m a10,m a11,m a12) (m (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)) where sequenceT (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) = return (,,,,,,,,,,,) `ap` a1 `ap` a2 `ap` a3 `ap` a4 `ap` a5 `ap` a6 `ap` a7 `ap` a8 `ap` a9 `ap` a10 `ap` a11 `ap` a12
+instance (Monad m) => SequenceT (m a1,m a2,m a3,m a4,m a5,m a6,m a7,m a8,m a9,m a10,m a11,m a12,m a13) (m (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)) where sequenceT (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) = return (,,,,,,,,,,,,) `ap` a1 `ap` a2 `ap` a3 `ap` a4 `ap` a5 `ap` a6 `ap` a7 `ap` a8 `ap` a9 `ap` a10 `ap` a11 `ap` a12 `ap` a13
+instance (Monad m) => SequenceT (m a1,m a2,m a3,m a4,m a5,m a6,m a7,m a8,m a9,m a10,m a11,m a12,m a13,m a14) (m (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)) where sequenceT (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) = return (,,,,,,,,,,,,,) `ap` a1 `ap` a2 `ap` a3 `ap` a4 `ap` a5 `ap` a6 `ap` a7 `ap` a8 `ap` a9 `ap` a10 `ap` a11 `ap` a12 `ap` a13 `ap` a14
+instance (Monad m) => SequenceT (m a1,m a2,m a3,m a4,m a5,m a6,m a7,m a8,m a9,m a10,m a11,m a12,m a13,m a14,m a15) (m (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)) where sequenceT (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) = return (,,,,,,,,,,,,,,) `ap` a1 `ap` a2 `ap` a3 `ap` a4 `ap` a5 `ap` a6 `ap` a7 `ap` a8 `ap` a9 `ap` a10 `ap` a11 `ap` a12 `ap` a13 `ap` a14 `ap` a15
tuple.cabal view
@@ -1,5 +1,5 @@ Name:		tuple-Version:	0.1.0.1+Version:	0.2.0.0 License:	BSD3 Author:		Lennart Augustsson Maintainer:	Lennart Augustsson