X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Prelude.hs;h=4c183ae38c9ad44a22a25c4bba5fa9149066cb62;hb=be2750a0a11b919fb03cc070074e430f88bdfa90;hp=61bd27eb8bd1121a21f16b3a5982b324bda59125;hpb=37ab854f9d2c1280117658bbd29919968f4f4585;p=ghc-base.git diff --git a/Prelude.hs b/Prelude.hs index 61bd27e..4c183ae 100644 --- a/Prelude.hs +++ b/Prelude.hs @@ -1,4 +1,5 @@ -{-# OPTIONS_GHC -XNoImplicitPrelude #-} +{-# LANGUAGE CPP, NoImplicitPrelude, BangPatterns #-} + ----------------------------------------------------------------------------- -- | -- Module : Prelude @@ -155,14 +156,15 @@ import Data.Tuple #ifdef __GLASGOW_HASKELL__ import GHC.Base -import GHC.IOBase +-- 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__ @@ -171,12 +173,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