interface Text.Read where {

{-# NEED #-}
instance Prelude.Functor NHC.Internal.IO;

{-# NEED #-}
instance Prelude.Monad NHC.Internal.IO;

{-# NEED #-}
instance (Prelude.Integral a) => Prelude.Fractional (Ratio.Ratio a);

{-# NEED #-}
instance (Prelude.Integral a) => Prelude.RealFrac (Ratio.Ratio a);

{-# NEED #-}
instance (Prelude.Integral a) => Prelude.Num (Ratio.Ratio a);

{-# NEED #-}
instance (Prelude.Integral a) => Prelude.Real (Ratio.Ratio a);

{-# NEED #-}
instance (Prelude.Integral a) => Prelude.Enum (Ratio.Ratio a);

{-# NEED #-}
instance (Prelude.Integral a) => Prelude.Ord (Ratio.Ratio a);

{-# NEED #-}
instance (Prelude.Integral a) => Prelude.Eq (Ratio.Ratio a);

{-# NEED #-}
instance (Prelude.Integral a) => Prelude.Show (Ratio.Ratio a);

{-# NEED #-}
instance (Prelude.Show a) => Prelude.Show (NHC.Internal.IO a);

{-# NEED #-}
instance (Prelude.Read a,Prelude.Integral a) => Prelude.Read (Ratio.Ratio a);
interface NHC.Internal
{-# NEED IO #-}
newtype {-#  #-} IO a;
interface NHC.DErrNo
{-# NEED ErrNo #-}
data ErrNo;
interface IO
{-# NEED Handle #-}
newtype {-#  #-} Handle;
interface NHC.Internal
{-# NEED World #-}
data World;
interface Ratio
{-# NEED Ratio #-}
data Ratio a;
interface ! Prelude
{-# NEED lex #-}
lex{-# 1 #-}::(Prelude.ReadS Prelude.String);

{-# NEED reads #-}
reads{-# 0 #-}::(Prelude.Read a) => (Prelude.ReadS a);

{-# NEED readParen #-}
readParen{-# 2 #-}::(Prelude.Bool -> ((Prelude.ReadS a) -> (Prelude.ReadS a)));

{-# NEED read #-}
read{-# 1 #-}::(Prelude.Read a) => (Prelude.String -> a);

{-# NEED {Read readsPrec readList} #-}
class Read a where {
  readsPrec{-# 1 #-}::(Prelude.Int -> (Prelude.ReadS a));
  readList{-# 0 #-}::(Prelude.ReadS [a]);
};

{-# NEED ReadS #-}
type {-# 2 #-} ReadS a = (String -> [(a,String)]);
}
