Other Prelude modules are much easier with fewer complex dependencies.
\begin{code}
+{-# LANGUAGE BangPatterns #-}
{-# OPTIONS_GHC -XNoImplicitPrelude #-}
-- -fno-warn-orphans is needed for things like:
-- Orphan rule: "x# -# x#" ALWAYS forall x# :: Int# -# x# x# = 0
module GHC.Base
(
module GHC.Base,
- module GHC.Bool,
module GHC.Classes,
module GHC.Generics,
module GHC.Ordering,
where
import GHC.Types
-import GHC.Bool
import GHC.Classes
import GHC.Generics
import GHC.Ordering
> fmap (f . g) == fmap f . fmap g
The instances of 'Functor' for lists, 'Data.Maybe.Maybe' and 'System.IO.IO'
-defined in the "Prelude" satisfy these laws.
+satisfy these laws.
-}
class Functor f where