Use primop wrappers instead of tagToEnum#
[packages/base.git] / GHC / Exception.lhs-boot
1 This SOURCE-imported hs-boot module cuts a big dependency loop:
2
3          GHC.Exception
4 imports  Data.Maybe
5 imports  GHC.Base
6 imports  GHC.Err
7 imports  {-# SOURCE #-} GHC.Exception
8
9 More dramatically
10
11          GHC.Exception
12 imports  Data.Typeable
13 imports  Data.Typeable.Internals
14 imports  GHC.Arr (fingerprint representation etc)
15 imports  GHC.Real
16 imports  {-# SOURCE #-} GHC.Exception
17
18 However, GHC.Exceptions loop-breaking exports are all nice,
19 well-behaved, non-bottom values.  The clients use 'raise#'
20 to get a visibly-bottom value.
21
22 \begin{code}
23 {-# LANGUAGE Trustworthy #-}
24 {-# LANGUAGE NoImplicitPrelude #-}
25
26 ---------------------------------------------------------------------------
27 --                  Ghc.Exception.hs-boot
28 ---------------------------------------------------------------------------
29
30 module GHC.Exception ( SomeException, errorCallException,
31                        divZeroException, overflowException, ratioZeroDenomException  
32     ) where 
33 import GHC.Types( Char )
34
35 data SomeException
36 divZeroException, overflowException, ratioZeroDenomException  :: SomeException
37 errorCallException :: [Char] -> SomeException
38 \end{code}