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 +7/−1
- Tools/MkTuple.hs +22/−1
- src/Data/Tuple/All.hs +2/−0
- src/Data/Tuple/Curry.hs +45/−45
- src/Data/Tuple/Select.hs +152/−152
- src/Data/Tuple/Sequence.hs +17/−17
- tuple.cabal +1/−1
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