X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=GHC%2FBase.lhs;h=1a5ce0d45ab70326121605a2d0cd88c2b84ab596;hb=dfbc01d590acb27e9b40df1693e888531376738e;hp=18d531a8c5cb0eb88a987c11ebd0d5251974e098;hpb=205722095450a487f2d5a7133d0802f2cc2ee856;p=ghc-base.git diff --git a/GHC/Base.lhs b/GHC/Base.lhs index 18d531a..1a5ce0d 100644 --- a/GHC/Base.lhs +++ b/GHC/Base.lhs @@ -62,11 +62,20 @@ GHC.Float Classes: Floating, RealFloat Other Prelude modules are much easier with fewer complex dependencies. \begin{code} -{-# OPTIONS_GHC -XNoImplicitPrelude #-} +{-# LANGUAGE CPP + , NoImplicitPrelude + , BangPatterns + , ExplicitForAll + , MagicHash + , UnboxedTuples + , ExistentialQuantification + , Rank2Types + #-} -- -fno-warn-orphans is needed for things like: -- Orphan rule: "x# -# x#" ALWAYS forall x# :: Int# -# x# x# = 0 {-# OPTIONS_GHC -fno-warn-orphans #-} {-# OPTIONS_HADDOCK hide #-} + ----------------------------------------------------------------------------- -- | -- Module : GHC.Base @@ -87,9 +96,9 @@ Other Prelude modules are much easier with fewer complex dependencies. module GHC.Base ( module GHC.Base, - module GHC.Bool, module GHC.Classes, - module GHC.Generics, + --module GHC.Generics, -- JPM: We no longer export GHC.Generics + -- by default to avoid name clashes module GHC.Ordering, module GHC.Types, module GHC.Prim, -- Re-export GHC.Prim and GHC.Err, to avoid lots @@ -98,9 +107,9 @@ module GHC.Base where import GHC.Types -import GHC.Bool import GHC.Classes -import GHC.Generics +-- JPM: Since we don't export it, we don't need to import GHC.Generics +--import GHC.Generics import GHC.Ordering import GHC.Prim import {-# SOURCE #-} GHC.Show @@ -173,7 +182,7 @@ Instances of 'Functor' should satisfy the following laws: > 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 @@ -439,19 +448,6 @@ otherwise = True -- type String = [Char] -{-| The character type 'Char' is an enumeration whose values represent -Unicode (or equivalently ISO\/IEC 10646) characters -(see for details). -This set extends the ISO 8859-1 (Latin-1) character set -(the first 256 charachers), which is itself an extension of the ASCII -character set (the first 128 characters). -A character literal in Haskell has type 'Char'. - -To convert a 'Char' to or from the corresponding 'Int' value defined -by Unicode, use 'Prelude.toEnum' and 'Prelude.fromEnum' from the -'Prelude.Enum' class respectively (or equivalently 'ord' and 'chr'). --} - {-# RULES "x# `eqChar#` x#" forall x#. x# `eqChar#` x# = True "x# `neChar#` x#" forall x#. x# `neChar#` x# = False