Fractional
Fractional is the class of all fractional number types. It's a subclass of
Num. Instances include Float, Double, and Rational.
GHCi
>>> :info Fractional
type Fractional :: * -> Constraint
class Num a => Fractional a where
(/) :: a -> a -> a
recip :: a -> a
fromRational :: Rational -> a
{-# MINIMAL fromRational, (recip | (/)) #-}
-- Defined in ‘GHC.Real’
[More omitted output]
Every fractional number type a needs to support fractional division ((/)),
taking the reciprocal of a number (rescip), and conversion from a Rational
number to a. Similar to the requirement that every Num type a supports
conversion from Integral to a, the reason why every Fractional type a
needs to support conversion from Rational to a is that Haskell parses number
literals such as 1.0, 0.5 or 523.78 as Rational numbers. fromRational then
allows us to convert these Rational numbers into any Fractional type a.