module GHC.Base
(
module GHC.Base,
- module GHC.Prim, -- Re-export GHC.Prim and GHC.Err, to avoid lots
+ module GHC.Prim, -- Re-export GHC.Prim and GHC.Err, to avoid lots
module GHC.Err -- of people having to import it explicitly
)
where
lazy :: a -> a
lazy x = x
+-- Assertion function. This simply ignores its boolean argument.
+-- The compiler may rewrite it to (assertError line)
+assert :: Bool -> a -> a
+assert pred r = r
+
-- constant function
const :: a -> b -> a
const x _ = x
-----------------------------------------------------------------------------
module GHC.List (
- [] (..),
+ -- [] (..), -- Not Haskell 98; built in syntax
map, (++), filter, concat,
head, last, tail, init, null, length, (!!),
--
module GHC.PArr (
- [::], -- abstract
+ -- [::], -- Built-in syntax
mapP, -- :: (a -> b) -> [:a:] -> [:b:]
(+:+), -- :: [:a:] -> [:a:] -> [:a:]
Ordering(..),
Char, String, Int, Integer, Float, Double, IO,
Rational,
- []((:), []),
+ -- []((:), []), -- Not legal Haskell 98; available through built-in syntax
module Data.Tuple,
-- Includes tuple types + fst, snd, curry, uncurry
- ()(..), -- The unit type
- (->), -- functions
+ -- ()(..), -- Not legal Haskell 98
+ -- (->), -- ... available through built-in syntax
-- * Basic type classes
Eq(..),