Remove non-directory stuff (of base), and rename package to "directory"
[haskell-directory.git] / Prelude.hs
diff --git a/Prelude.hs b/Prelude.hs
deleted file mode 100644 (file)
index 840c2ca..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-{-# OPTIONS_GHC -fno-implicit-prelude #-}
------------------------------------------------------------------------------
--- |
--- Module      :  Prelude
--- Copyright   :  (c) The University of Glasgow 2001
--- License     :  BSD-style (see the file libraries/base/LICENSE)
--- 
--- Maintainer  :  libraries@haskell.org
--- Stability   :  stable
--- Portability :  portable
---
--- 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 (
-
-    -- * Standard types, classes and related functions
-
-    -- ** Basic data types
-    Bool(False, True),
-    (&&), (||), not, otherwise,
-
-    Maybe(Nothing, Just),
-    maybe,
-
-    Either(Left, Right),
-    either,
-
-    Ordering(LT, EQ, GT),
-    Char, String,
-
-    -- *** Tuples
-    fst, snd, curry, uncurry,
-
-#if defined(__NHC__)
-    []((:), []),       -- Not legal Haskell 98;
-                       -- ... available through built-in syntax
-    module Data.Tuple, -- Includes tuple types
-    ()(..),            -- Not legal Haskell 98
-    (->),              -- ... available through built-in syntax
-#endif
-#ifdef __HUGS__
-    (:),               -- Not legal Haskell 98
-#endif
-    
-    -- ** Basic type classes
-    Eq((==), (/=)),
-    Ord(compare, (<), (<=), (>=), (>), max, min),
-    Enum(succ, pred, toEnum, fromEnum, enumFrom, enumFromThen,
-         enumFromTo, enumFromThenTo),
-    Bounded(minBound, maxBound),
-
-    -- ** Numbers
-
-    -- *** Numeric types
-    Int, Integer, Float, Double,
-    Rational,
-
-    -- *** Numeric type classes
-    Num((+), (-), (*), negate, abs, signum, fromInteger),
-    Real(toRational),
-    Integral(quot, rem, div, mod, quotRem, divMod, toInteger),
-    Fractional((/), recip, fromRational),
-    Floating(pi, exp, log, sqrt, (**), logBase, sin, cos, tan,
-             asin, acos, atan, sinh, cosh, tanh, asinh, acosh, atanh),
-    RealFrac(properFraction, truncate, round, ceiling, floor),
-    RealFloat(floatRadix, floatDigits, floatRange, decodeFloat,
-              encodeFloat, exponent, significand, scaleFloat, isNaN,
-              isInfinite, isDenormalized, isIEEE, isNegativeZero, atan2),
-
-    -- *** Numeric functions
-    subtract, even, odd, gcd, lcm, (^), (^^), 
-    fromIntegral, realToFrac,
-
-    -- ** Monads and functors
-    Monad((>>=), (>>), return, fail),
-    Functor(fmap),
-    mapM, mapM_, sequence, sequence_, (=<<),
-
-    -- ** Miscellaneous functions
-    id, const, (.), flip, ($), until,
-    asTypeOf, error, undefined,
-    seq, ($!),
-
-    -- * List operations
-    map, (++), filter,
-    head, last, tail, init, null, length, (!!), 
-    reverse,
-    -- ** Reducing lists (folds)
-    foldl, foldl1, foldr, foldr1,
-    -- *** Special folds
-    and, or, any, all,
-    sum, product,
-    concat, concatMap,
-    maximum, minimum,
-    -- ** Building lists
-    -- *** Scans
-    scanl, scanl1, scanr, scanr1,
-    -- *** Infinite lists
-    iterate, repeat, replicate, cycle,
-    -- ** Sublists
-    take, drop, splitAt, takeWhile, dropWhile, span, break,
-    -- ** Searching lists
-    elem, notElem, lookup,
-    -- ** Zipping and unzipping lists
-    zip, zip3, zipWith, zipWith3, unzip, unzip3,
-    -- ** Functions on strings
-    lines, words, unlines, unwords,
-
-    -- * Converting to and from @String@
-    -- ** Converting to @String@
-    ShowS,
-    Show(showsPrec, showList, show),
-    shows,
-    showChar, showString, showParen,
-    -- ** Converting from @String@
-    ReadS,
-    Read(readsPrec, readList),
-    reads, readParen, read, lex, 
-    
-    -- * Basic Input and output
-    IO,
-    -- ** Simple I\/O operations
-    -- All I/O functions defined here are character oriented.  The
-    -- treatment of the newline character will vary on different systems.
-    -- For example, two characters of input, return and linefeed, may
-    -- read as a single newline character.  These functions cannot be
-    -- used portably for binary I/O.
-    -- *** Output functions
-    putChar,
-    putStr, putStrLn, print,
-    -- *** Input functions
-    getChar,
-    getLine, getContents, interact,
-    -- *** Files
-    FilePath,
-    readFile, writeFile, appendFile, readIO, readLn,
-    -- ** Exception handling in the I\/O monad
-    IOError, ioError, userError, catch
-
-  ) where
-
-#ifndef __HUGS__
-import Control.Monad
-import System.IO
-import Text.Read
-import Text.Show
-import Data.List
-import Data.Either
-import Data.Maybe
-import Data.Bool
-import Data.Tuple
-import Data.Eq
-import Data.Ord
-#endif
-
-#ifdef __GLASGOW_HASKELL__
-import GHC.Base
-import GHC.IOBase
-import GHC.Exception
-import GHC.Read
-import GHC.Enum
-import GHC.Num
-import GHC.Real
-import GHC.Float
-import GHC.Show
-import GHC.Err   ( error, undefined )
-#endif
-
-#ifdef __HUGS__
-import Hugs.Prelude
-#endif
-
-#ifndef __HUGS__
-infixr 0 $!
-
--- -----------------------------------------------------------------------------
--- Miscellaneous functions
-
--- | Strict (call-by-value) application, defined in terms of 'seq'.
-($!)    :: (a -> b) -> a -> b
-f $! x  = x `seq` f x
-#endif
-
-#ifdef __HADDOCK__
--- | The value of @'seq' a b@ is bottom if @a@ is bottom, and otherwise
--- equal to @b@.  'seq' is usually introduced to improve performance by
--- avoiding unneeded laziness.
-seq :: a -> b -> b
-seq _ y = y
-#endif