2 {-# OPTIONS -fno-implicit-prelude #-}
3 ---------------------------------------------------------------------------
5 ---------------------------------------------------------------------------
7 module GHC.Err( error, divZeroError, overflowError ) where
9 -- The type signature for 'error' is a gross hack.
10 -- First, we can't give an accurate type for error, because it mentions
11 -- an open type variable.
12 -- Second, we can't even say error :: [Char] -> a, because Char is defined
13 -- in GHC.Base, and that would make Err.lhs-boot mutually recursive
15 -- Fortunately it doesn't matter what type we give here because the
16 -- compiler will use its wired-in version. But we have
17 -- to mention 'error' so that it gets exported from this .hi-boot
21 -- divide by zero is needed quite early
24 -- overflow is needed quite early