[project @ 2002-08-28 14:30:12 by simonpj]
[ghc-base.git] / Prelude.hs
index 8ee9330..b833edb 100644 (file)
@@ -1,25 +1,50 @@
 {-# OPTIONS -fno-implicit-prelude #-}
 -----------------------------------------------------------------------------
--- 
+-- |
 -- Module      :  Prelude
 -- Copyright   :  (c) The University of Glasgow 2001
--- License     :  BSD-style (see the file libraries/core/LICENSE)
+-- License     :  BSD-style (see the file libraries/base/LICENSE)
 -- 
 -- Maintainer  :  libraries@haskell.org
 -- Stability   :  provisional
 -- Portability :  portable
 --
--- $Id: Prelude.hs,v 1.1 2001/06/28 14:15:01 simonmar Exp $
---
--- Standard module imported by default into Haskell modules.
+-- The Prelude: a standard module imported by default into all Haskell
+-- modules.  For more documentation, see the Haskell 98 Report
+-- <http://www.haskell.org/onlinereport/>.
 --
 -----------------------------------------------------------------------------
 
 module Prelude (
 
-       -- List things
-    [] (..),
+    -- * Basic data types
+    Bool(..),
+    Maybe(..),
+    Either(..),
+    Ordering(..), 
+    Char, String, Int, Integer, Float, Double, IO,
+    Rational,
+    []((:), []),
+    
+    module Data.Tuple,
+        -- Includes tuple types + fst, snd, curry, uncurry
+    ()(..),            -- The unit type
+    (->),              -- functions
+    
+    -- * Basic type classes
+    Eq(..),
+    Ord(..), 
+    Enum(..),
+    Bounded(..), 
+    Num(..),
+    Real(..),
+    Integral(..),
+    Fractional(..),
+    Floating(..),
+    RealFrac(..),
+    RealFloat(..),
 
+    -- * List operations
     map, (++), filter, concat,
     head, last, tail, init, null, length, (!!), 
     foldl, foldl1, scanl, scanl1, foldr, foldr1, scanr, scanr1,
@@ -33,14 +58,14 @@ module Prelude (
     lines, words, unlines, unwords,
     sum, product,
 
-        -- Everything from Text.Read and Text.Show
+    -- * Converting to and from @String@
     ReadS, ShowS,
     Read(readsPrec, readList),
     Show(showsPrec, showList, show),
     reads, shows, read, lex, 
     showChar, showString, readParen, showParen,
     
-        -- Everything corresponding to the Report's PreludeIO
+    -- * Simple I\/O operations
     ioError, userError, catch,
     FilePath, IOError,
     putChar,
@@ -49,41 +74,17 @@ module Prelude (
     getLine, getContents, interact,
     readFile, writeFile, appendFile, readIO, readLn,
 
-    Bool(..),
-    Maybe(..),
-    Either(..),
-    Ordering(..), 
-    Char, String, Int, Integer, Float, Double, IO,
-    Rational,
-    []((:), []),
-    
-    module GHC.Tup,
-        -- Includes tuple types + fst, snd, curry, uncurry
-    ()(..),            -- The unit type
-    (->),              -- functions
-    
-    Eq(..),
-    Ord(..), 
-    Enum(..),
-    Bounded(..), 
-    Num(..),
-    Real(..),
-    Integral(..),
-    Fractional(..),
-    Floating(..),
-    RealFrac(..),
-    RealFloat(..),
-
-       -- Monad stuff, from GHC.Base, and defined here
+    -- * Monads
     Monad(..),
     Functor(..), 
     mapM, mapM_, sequence, sequence_, (=<<),
 
+    -- * Miscellaneous functions
     maybe, either,
     (&&), (||), not, otherwise,
     subtract, even, odd, gcd, lcm, (^), (^^), 
     fromIntegral, realToFrac,
-    --exported by GHC.Tup: fst, snd, curry, uncurry,
+    --exported by Data.Tuple: fst, snd, curry, uncurry,
     id, const, (.), flip, ($), until,
     asTypeOf, error, undefined,
     seq, ($!)
@@ -98,6 +99,7 @@ import Data.List
 import Data.Either
 import Data.Maybe
 import Data.Bool
+import Data.Tuple
 
 #ifdef __GLASGOW_HASKELL__
 import GHC.Base
@@ -108,7 +110,6 @@ import GHC.Enum
 import GHC.Num
 import GHC.Real
 import GHC.Float
-import GHC.Tup
 import GHC.Show
 import GHC.Conc
 import GHC.Err   ( error, undefined )