-{-# OPTIONS -fno-implicit-prelude #-}
+{-# OPTIONS_GHC -fno-implicit-prelude #-}
-----------------------------------------------------------------------------
-- |
-- Module : Prelude
Functor(fmap),
mapM, mapM_, sequence, sequence_, (=<<),
+ -- ** String class
+ IsString(fromString),
+
-- ** Miscellaneous functions
id, const, (.), flip, ($), until,
asTypeOf, error, undefined,
import Data.Maybe
import Data.Bool
import Data.Tuple
+import Data.Eq
+import Data.Ord
#endif
#ifdef __GLASGOW_HASKELL__
#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