X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Prelude.hs;h=8ede773a3674646398dd2744bbb08a30acc749aa;hb=8a37d80b44f75105c23b62f89bb7806b1c331c26;hp=d6ed1132de1d9f5a5711d52c581c7782432ffc1a;hpb=d1b881def2479cea816f47031c8a27f37d046b3c;p=ghc-base.git diff --git a/Prelude.hs b/Prelude.hs index d6ed113..8ede773 100644 --- a/Prelude.hs +++ b/Prelude.hs @@ -1,4 +1,4 @@ -{-# OPTIONS_GHC -fno-implicit-prelude #-} +{-# OPTIONS_GHC -XNoImplicitPrelude -XBangPatterns #-} ----------------------------------------------------------------------------- -- | -- Module : Prelude @@ -146,28 +146,24 @@ module Prelude ( #ifndef __HUGS__ import Control.Monad import System.IO -import Text.Read -import Text.Show +import System.IO.Error 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.IO +-- import GHC.IO.Exception +import Text.Read import GHC.Enum import GHC.Num import GHC.Real import GHC.Float import GHC.Show -import GHC.Err ( error, undefined ) +import GHC.Err ( undefined ) #endif #ifdef __HUGS__ @@ -176,12 +172,16 @@ import Hugs.Prelude #ifndef __HUGS__ infixr 0 $! +#endif -- ----------------------------------------------------------------------------- -- Miscellaneous functions -- | Strict (call-by-value) application, defined in terms of 'seq'. ($!) :: (a -> b) -> a -> b +#ifdef __GLASGOW_HASKELL__ +f $! x = let !vx = x in f vx -- see #2273 +#elif !defined(__HUGS__) f $! x = x `seq` f x #endif