exference-1.6.0.0: environment/Prelude.hs
module Prelude where
data Float
data Double
data Integer
data Ordering
class (Text.Show.Show a, Data.Eq.Eq a) => Num a where
fromInteger :: Integer -> a
class (Num a, Data.Ord.Ord a) => Real a where
toRational :: a -> Rational
class Num a => Fractional a where
fromRational :: Data.Ratio.Rational -> a
-- omit (/) and recip
class Enum a where
toEnum :: Data.Int.Int -> a
fromEnum :: a -> Data.Int.Int
enumFrom :: a -> [a]
enumFromThen :: a -> a -> [a]
enumFromTo :: a -> a -> [a]
enumFromToThenTo :: a -> a -> a -> [a] -- all these methods might be bad for
-- inference purposes
-- omit succ, pred
class (Real a, Enum a) => Integral a where
toInteger :: a -> Integer
-- omit all other stuff
class (Real a, Fractional a) => RealFrac a where
truncate :: Integral b => a -> b
round :: Integral b => a -> b
ceiling :: Integral b => a -> b
floor :: Integral b => a -> b
-- omit properFraction
class Fractional a => Floating a where
-- omit everything :D
class (RealFrac a, Floating a) => RealFloat a where
-- omit everything.. this stuff is too obscure; i think we are better of
-- in the general case without it.
class Bounded a where
minBound, maxBound :: a -- fun for inference: you get an a for free!
-- best idea probably to not declare any instances for this type class;
-- otherwise, this will tank the inference performance.
fromIntegral :: (Integral a, Num b) => a -> b
realToFrac :: (Real a, Fractional b) => a -> b
instance Integral a => Num (Ratio a)
instance Num a => Num (Product a)
instance Num a => Num (Sum a)
instance RealFloat a => Num (Complex a)
instance HasResolution a => Num (Fixed a)
instance Integral a => Real (Ratio a)
instance HasResolution a => Real (Fixed a)
instance Integral a => RealFrac (Ratio a)
instance HasResolution a => RealFrac (Fixed a)
instance Integral a => Fractional (Ratio a)
instance RealFloat a => Fractional (Complex a)
instance HasResolution a => Fractional (Fixed a)
instance RealFloat a => Floating (Complex a)
instance Data.Eq.Eq Float
instance Floating Float
instance Data.Data.Data Float
instance Data.Ord.Ord Float
instance Text.Read.Read Float
instance RealFloat Float
instance GHC.Generics.Generic Float
instance Foreign.Storable.Storable Float
instance Text.Printf.PrintfArg Float
instance Data.Eq.Eq Double
instance Floating Double
instance Data.Data.Data Double
instance Data.Ord.Ord Double
instance Text.Read.Read Double
instance RealFloat Double
instance GHC.Generics.Generic Double
instance Foreign.Storable.Storable Double
instance Text.Printf.PrintfArg Double
instance Enum Integer
instance Data.Eq.Eq Integer
instance Integral Integer
instance Data.Data.Data Integer
instance Num Integer
instance Data.Ord.Ord Integer
instance Text.Read.Read Integer
instance Real Integer
instance Text.Show.Show Integer
instance Data.Ix.Ix Integer
instance Data.Bits.Bits Integer
instance Text.Printf.PrintfArg Integer
instance Bounded Ordering
instance Enum Ordering
instance Data.Eq.Eq Ordering
instance Data.Data.Data Ordering
instance Data.Ord.Ord Ordering
instance Text.Read.Read Ordering
instance Text.Show.Show Ordering
instance Data.Ix.Ix Ordering
instance GHC.Generics.Generic Ordering
instance Data.Monoid.Monoid Ordering