author Simon Jakobi Tue, 23 Oct 2018 14:29:13 +0000 (16:29 +0200) committer Ben Gamari Fri, 2 Nov 2018 18:33:55 +0000 (14:33 -0400)
(cherry picked from commit ee545ff44e0ba9a165de40807548c75bf181dda3)

index 9296978..3ac9408 100644 (file)
@@ -65,11 +65,11 @@ infixr 8  **

-- | Trigonometric and hyperbolic functions and related functions.
--
--- The Haskell Report defines no laws for 'Floating'. However, '(+)', '(*)'
+-- The Haskell Report defines no laws for 'Floating'. However, @('+')@, @('*')@
-- and 'exp' are customarily expected to define an exponential field and have
-- the following properties:
--
--- * @exp (a + b)@ = @exp a * exp b
+-- * @exp (a + b)@ = @exp a * exp b@
-- * @exp (fromInteger 0)@ = @fromInteger 1@
class  (Fractional a) => Floating a  where
pi                  :: a
index 1fa63fb..aed11a3 100644 (file)
@@ -36,17 +36,17 @@ default ()              -- Double isn't available yet,

-- | Basic numeric class.
--
--- The Haskell Report defines no laws for 'Num'. However, '(+)' and '(*)' are
+-- The Haskell Report defines no laws for 'Num'. However, @('+')@ and @('*')@ are
-- customarily expected to define a ring and have the following properties:
--
--- [__Associativity of (+)__]: @(x + y) + z@ = @x + (y + z)@
--- [__Commutativity of (+)__]: @x + y@ = @y + x@
--- [__@fromInteger 0@ is the additive identity__]: @x + fromInteger 0@ = @x@
+-- [__Associativity of @('+')@__]: @(x + y) + z@ = @x + (y + z)@
+-- [__Commutativity of @('+')@__]: @x + y@ = @y + x@
+-- [__@'fromInteger' 0@ is the additive identity__]: @x + fromInteger 0@ = @x@
-- [__'negate' gives the additive inverse__]: @x + negate x@ = @fromInteger 0@
--- [__Associativity of (*)__]: @(x * y) * z@ = @x * (y * z)@
--- [__@fromInteger 1@ is the multiplicative identity__]:
+-- [__Associativity of @('*')@__]: @(x * y) * z@ = @x * (y * z)@
+-- [__@'fromInteger' 1@ is the multiplicative identity__]:
-- @x * fromInteger 1@ = @x@ and @fromInteger 1 * x@ = @x@
--- [__Distributivity of (*) with respect to (+)__]:
+-- [__Distributivity of @('*')@ with respect to @('+')@__]:
-- @a * (b + c)@ = @(a * b) + (a * c)@ and @(b + c) * a@ = @(b * a) + (c * a)@
--
-- Note that it /isn't/ customarily expected that a type instance of both 'Num'
index c96959f..da64c8b 100644 (file)
@@ -138,7 +138,7 @@ class  (Num a, Ord a) => Real a  where
--
-- The Haskell Report defines no laws for 'Integral'. However, 'Integral'
-- instances are customarily expected to define a Euclidean domain and have the
--- following properties for the 'div'/'mod' and 'quot'/'rem' pairs, given
+-- following properties for the `div`\/`mod` and `quot`\/`rem` pairs, given
-- suitable Euclidean functions @f@ and @g@:
--
-- * @x@ = @y * quot x y + rem x y@ with @rem x y@ = @fromInteger 0@ or
@@ -182,8 +182,8 @@ class  (Real a, Enum a) => Integral a  where

-- | Fractional numbers, supporting real division.
--
--- The Haskell Report defines no laws for 'Fractional'. However, '(+)' and
--- '(*)' are customarily expected to define a division ring and have the
+-- The Haskell Report defines no laws for 'Fractional'. However, @('+')@ and
+-- @('*')@ are customarily expected to define a division ring and have the
-- following properties:
--
-- [__'recip' gives the multiplicative inverse__]:
@@ -194,9 +194,9 @@ class  (Real a, Enum a) => Integral a  where
class  (Num a) => Fractional a  where
{-# MINIMAL fromRational, (recip | (/)) #-}

-    -- | fractional division
+    -- | Fractional division.
(/)                 :: a -> a -> a
-    -- | reciprocal fraction
+    -- | Reciprocal fraction.
recip               :: a -> a
-- | Conversion from a 'Rational' (that is @'Ratio' 'Integer'@).
-- A floating literal stands for an application of 'fromRational'