[add Read instances for various numeric types
John Meacham <john@repetae.net>**20070607005551] addfile ./lib/base/Jhc/Inst/Read.hs
hunk ./lib/base/Jhc/Inst/Read.hs 1
+{-# OPTIONS_JHC -N -fm4 #-}
+
+
+changequote({{,}})
+
+
+module Jhc.Inst.Read() where
+
+import Prelude.Text
+import Data.Int
+import Jhc.Basics
+import Data.Word
+import Jhc.Order
+import Jhc.Float
+import Prelude.Float
+import Jhc.Num
+import Numeric(showSigned, showInt, readSigned, readDec, showFloat,
+               readFloat, lexDigits)
+
+-- Reading at the Integer type avoids
+-- possible difficulty with minInt
+
+define(READINST,{{
+instance  Read $1  where
+  readsPrec p r = [(fromInteger i, t) | (i,t) <- readsPrec p r]
+}})
+
+
+READINST(Int8)
+READINST(Int16)
+READINST(Int32)
+READINST(Int64)
+READINST(IntMax)
+READINST(IntPtr)
+
+define(READWORD,{{
+instance  Read $1  where
+  readsPrec _ r = readDec r
+}})
+
+READWORD(Word)
+READWORD(Word8)
+READWORD(Word16)
+READWORD(Word32)
+READWORD(Word64)
+READWORD(WordMax)
+READWORD(WordPtr)
+
+
+instance Read () where
+    readsPrec p    = readParen False
+                            (\r -> [((),t) | ("(",s) <- lex r,
+                                             (")",t) <- lex s ] )
+
+instance  Read Double  where
+    readsPrec p         = readSigned readDouble
+
+instance  Read Float  where
+    readsPrec p s        = [ (doubleToFloat x,y) | (x,y) <- readSigned readDouble s]
hunk ./lib/base/Prelude/Text.hs 124
-instance  Read Float  where
-    readsPrec p s        = [ (doubleToFloat x,y) | (x,y) <- readSigned readDouble s]
hunk ./lib/base/Prelude/Text.hs 128
-instance  Read Double  where
-    readsPrec p         = readSigned readDouble
hunk ./lib/base/Prelude/Text.hs 129
-instance Read () where
-    readsPrec p    = readParen False
-                            (\r -> [((),t) | ("(",s) <- lex r,
-                                             (")",t) <- lex s ] )
hunk ./lib/base/Prelude.hs 50
+
hunk ./lib/base/Prelude.hs 52
+import Jhc.Inst.Read