From: simonm Date: Thu, 4 Dec 1997 16:27:30 +0000 (+0000) Subject: [project @ 1997-12-04 16:27:18 by simonm] X-Git-Tag: Approx_2487_patches~1190 X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=1735a97ed40bb40b13104a780f095629c432096b [project @ 1997-12-04 16:27:18 by simonm] Move a few instances of the Bounded class from PrelBase out into a new module PrelBounded. This enables the minBound value for Int to be fixed using a Literal Literal (using litlits requires an import of CCall, which imports PrelBase, hence the need to move this stuff outside). --- diff --git a/ghc/lib/ghc/PrelBase.lhs b/ghc/lib/ghc/PrelBase.lhs index 87fd4d0..891d45c 100644 --- a/ghc/lib/ghc/PrelBase.lhs +++ b/ghc/lib/ghc/PrelBase.lhs @@ -345,10 +345,6 @@ instance Enum () where enumFromTo () () = [()] enumFromThenTo () () () = [()] -instance Bounded () where - minBound = () - maxBound = () - instance Show () where showsPrec p () = showString "()" showList ls = showList__ (showsPrec 0) ls @@ -399,10 +395,6 @@ efttCh now step done go now | done now = [] | otherwise = C# (chr# now) : go (now +# step) -instance Bounded Char where - minBound = '\0' - maxBound = '\255' - instance Show Char where showsPrec p '\'' = showString "'\\''" showsPrec p c = showChar '\'' . showLitChar c . showChar '\'' @@ -532,10 +524,6 @@ eftInt now step go now = I# now : go (now +# step) -instance Bounded Int where - minBound = -2147483647 -- ********************** - maxBound = 2147483647 -- ********************** - instance Num Int where (+) x y = plusInt x y (-) x y = minusInt x y diff --git a/ghc/lib/ghc/PrelBounded.lhs b/ghc/lib/ghc/PrelBounded.lhs new file mode 100644 index 0000000..240f277 --- /dev/null +++ b/ghc/lib/ghc/PrelBounded.lhs @@ -0,0 +1,28 @@ +% +% (c) The GRASP/AQUA Project, Glasgow University, 1992-1996 +% +\section[PrelBounded]{Module @PrelBounded@} + +Instances of Bounded for various datatypes. + +\begin{code} +{-# OPTIONS -fno-implicit-prelude #-} + +module PrelBounded where + +import PrelBase +import CCall -- for the dependency analyser, + -- due to the use of litlits below. + +instance Bounded () where + minBound = () + maxBound = () + +instance Bounded Char where + minBound = '\0' + maxBound = '\255' + +instance Bounded Int where + minBound = ``-2147483648'' -- GHC <= 2.09 had this at -2147483647 + maxBound = 2147483647 +\end{code} diff --git a/ghc/lib/required/Prelude.lhs b/ghc/lib/required/Prelude.lhs index 92d173f..7f0dcc1 100644 --- a/ghc/lib/required/Prelude.lhs +++ b/ghc/lib/required/Prelude.lhs @@ -69,6 +69,7 @@ import PrelNum import PrelTup import PrelMaybe import PrelEither +import PrelBounded import Monad import Maybe import Error ( error )