X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Prelude.hs;h=02aad8b697908db3b9911d94b8b40bec3d3ce506;hb=d7351a78329804dd5115b83184aec64136a5c8e2;hp=002f0a7ce802fb2d7320b6a32c6807b9b12f675e;hpb=746ef6a7fd71bb1e9ebe3cd107c5f9f79f3b7a68;p=ghc-base.git diff --git a/Prelude.hs b/Prelude.hs index 002f0a7..02aad8b 100644 --- a/Prelude.hs +++ b/Prelude.hs @@ -3,21 +3,58 @@ -- | -- 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 -- --- 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 +-- . -- ----------------------------------------------------------------------------- module Prelude ( - -- List things - [] (..), - + -- * Basic data types + Bool(False, True), + Maybe(Nothing, Just), + Either(Left, Right), + Ordering(LT, EQ, GT), + Char, String, Int, Integer, Float, Double, IO, + Rational, +#if defined(__GLASGOW_HASKELL__) || defined(__NHC__) + -- Restore export of (:) until we get to 5.05 + []((:), []), -- Not legal Haskell 98; + -- ... available through built-in syntax + ()(..), -- Not legal Haskell 98 + (->), -- ... available through built-in syntax +#endif + + module Data.Tuple, + -- Includes tuple types + fst, snd, curry, uncurry + + -- * Basic type classes + Eq((==), (/=)), + Ord(compare, (<), (<=), (>=), (>), max, min), + Enum(succ, pred, toEnum, fromEnum, enumFrom, enumFromThen, + enumFromTo, enumFromThenTo), + Bounded(minBound, maxBound), + + -- * 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), + + -- * List operations map, (++), filter, concat, head, last, tail, init, null, length, (!!), foldl, foldl1, scanl, scanl1, foldr, foldr1, scanr, scanr1, @@ -31,14 +68,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, @@ -47,36 +84,12 @@ module Prelude ( getLine, getContents, interact, readFile, writeFile, appendFile, readIO, readLn, - 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 - - Eq(..), - Ord(..), - Enum(..), - Bounded(..), - Num(..), - Real(..), - Integral(..), - Fractional(..), - Floating(..), - RealFrac(..), - RealFloat(..), - - -- Monad stuff, from GHC.Base, and defined here - Monad(..), - Functor(..), + -- * Monads + Monad((>>=), (>>), return, fail), + Functor(fmap), mapM, mapM_, sequence, sequence_, (=<<), + -- * Miscellaneous functions maybe, either, (&&), (||), not, otherwise, subtract, even, odd, gcd, lcm, (^), (^^),