interface Data.Ord where {
infix   4 Prelude.<=;
infix   4 Prelude.<;
infix   4 Prelude.>=;
infix   4 Prelude.>;

{-# 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.Read a,Prelude.Integral a) => Prelude.Read (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);
interface Ratio
{-# NEED Ratio #-}
data 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 ! Data.Ord
{-# NEED comparing #-}
comparing{-# 3 #-}::(Prelude.Ord b) => ((a -> b) -> (a -> (a -> Prelude.Ordering)));
interface ! Prelude
{-# NEED {Ord compare (<=) (<) (>=) (>) max min} #-}
class (Prelude.Eq a) => Ord a where {
  compare{-# 2 #-}::(a -> (a -> Prelude.Ordering));
  (<=){-# 2 #-}::(a -> (a -> Prelude.Bool));
  (<){-# 2 #-}::(a -> (a -> Prelude.Bool));
  (>=){-# 2 #-}::(a -> (a -> Prelude.Bool));
  (>){-# 2 #-}::(a -> (a -> Prelude.Bool));
  max{-# 2 #-}::(a -> (a -> a));
  min{-# 2 #-}::(a -> (a -> a));
};

{-# NEED {Ordering LT EQ GT} #-}
data Ordering
  = LT 
  | EQ 
  | GT ;
}
