module	Ratio (
    Ratio, Rational, (%), numerator, denominator, approxRational ) where

infixl 7  %
data  (Integral a)	=> Ratio a = ...
type  Rational		=  Ratio Integer
(%)			:: (Integral a) => a -> a -> Ratio a
numerator, denominator	:: (Integral a) => Ratio a -> a
approxRational		:: (RealFrac a) => a -> a -> Rational
instance  (Integral a)  => Eq         (Ratio a)  where ...
instance  (Integral a)	=> Ord        (Ratio a)  where ...
instance  (Integral a)	=> Num        (Ratio a)  where ...
instance  (Integral a)	=> Real       (Ratio a)  where ...
instance  (Integral a)	=> Fractional (Ratio a)  where ...
instance  (Integral a)	=> RealFrac   (Ratio a)  where ...
instance  (Integral a)	=> Enum       (Ratio a)  where ...
instance  (Read a,Integral a) => Read (Ratio a)  where ...
instance  (Integral a)  => Show       (Ratio a)  where ...

