[project @ 1996-01-18 16:33:17 by partain]
[ghc-hetmet.git] / ghc / lib / prelude / ITup5.hs
index 223e297..12f0311 100644 (file)
@@ -11,6 +11,8 @@ import List           ( (++), foldr )
 import Prel            ( (&&), (.) )
 import PS              ( _PackedString, _unpackPS )
 import Text
+import TyArray
+import TyComplex
 
 instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a,b,c,d,e) where
     (a1,a2,a3,a4,a5) == (b1,b2,b3,b4,b5) = a1 == b1 && a2 == b2 && a3 == b3 && a4 == b4 && a5 == b5
@@ -70,40 +72,26 @@ instance  (Ix a1, Ix a2, Ix a3, Ix a4, Ix a5) => Ix (a1,a2,a3,a4,a5)  where
 instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e) where
     readsPrec p = readParen False
                    (\a -> [((w,x,y,z,v), l) | ("(",b) <- lex a,
-                                              (w,c)   <- reads b,
+                                              (w,c)   <- readsPrec 0 b,
                                               (",",d) <- lex c,
-                                              (x,e)   <- reads d,
+                                              (x,e)   <- readsPrec 0 d,
                                               (",",f) <- lex e,
-                                              (y,g)   <- reads f,
+                                              (y,g)   <- readsPrec 0 f,
                                               (",",h) <- lex g,
-                                              (z,i)   <- reads h,
+                                              (z,i)   <- readsPrec 0 h,
                                               (",",j) <- lex i,
-                                              (v,k)   <- reads j,
+                                              (v,k)   <- readsPrec 0 j,
                                               (")",l) <- lex k ] )
 
-    showsPrec p (v,w,x,y,z) = showChar '(' . shows v . showString ", " .
-                                            shows w . showString ", " .
-                                            shows x . showString ", " .
-                                            shows y . showString ", " .
-                                            shows z . showChar ')'
+    showsPrec p (v,w,x,y,z) = showChar '(' . showsPrec 0 v . showString ", " .
+                                            showsPrec 0 w . showString ", " .
+                                            showsPrec 0 x . showString ", " .
+                                            showsPrec 0 y . showString ", " .
+                                            showsPrec 0 z . showChar ')'
 
-#if defined(__UNBOXED_INSTANCES__)
+    readList   = _readList (readsPrec 0)
+    showList   = _showList (showsPrec 0) 
 
--- We only create SPECIALIZED instances unboxed tuples
--- which have all the same unboxed component
 
--- {-# SPECIALIZE instance Eq   (Char#,Char#,Char#,Char#,Char#) #-}
--- {-# SPECIALIZE instance Ord  (Char#,Char#,Char#,Char#,Char#) #-}
--- {-# SPECIALIZE instance Ix   (Char#,Char#,Char#,Char#,Char#) #-}
--- {-# SPECIALIZE instance Text (Char#,Char#,Char#,Char#,Char#) #-}
-
--- {-# SPECIALIZE instance Eq   (Int#,Int#,Int#,Int#,Int#) #-}
--- {-# SPECIALIZE instance Ord  (Int#,Int#,Int#,Int#,Int#) #-}
--- {-# SPECIALIZE instance Ix   (Int#,Int#,Int#,Int#,Int#) #-}
--- {-# SPECIALIZE instance Text (Int#,Int#,Int#,Int#,Int#) #-}
-
--- {-# SPECIALIZE instance Eq   (Double#,Double#,Double#,Double#,Double#) #-}
--- {-# SPECIALIZE instance Ord  (Double#,Double#,Double#,Double#,Double#) #-}
--- {-# SPECIALIZE instance Text (Double#,Double#,Double#,Double#,Double#) #-}
-
-#endif
+{-# SPECIALIZE instance Eq   (Int,Int,Int,Int,Int) #-}
+{-# SPECIALIZE instance Ord  (Int,Int,Int,Int,Int) #-}