summaryrefslogtreecommitdiff
path: root/libraries/base/GHC/Exception.lhs-boot
blob: f93d806755e498014b7fd1713f78c2828f4638c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
This SOURCE-imported hs-boot module cuts a big dependency loop:

         GHC.Exception
imports  Data.Maybe
imports  GHC.Base
imports  GHC.Err
imports  {-# SOURCE #-} GHC.Exception

More dramatically

         GHC.Exception
imports  Data.Typeable
imports  Data.Typeable.Internals
imports  GHC.Arr (fingerprint representation etc)
imports  GHC.Real
imports  {-# SOURCE #-} GHC.Exception

However, GHC.Exceptions loop-breaking exports are all nice,
well-behaved, non-bottom values.  The clients use 'raise#'
to get a visibly-bottom value.

\begin{code}
{-# LANGUAGE Trustworthy #-}
{-# LANGUAGE NoImplicitPrelude #-}

---------------------------------------------------------------------------
--                  Ghc.Exception.hs-boot
---------------------------------------------------------------------------

module GHC.Exception ( SomeException, errorCallException,
                       divZeroException, overflowException, ratioZeroDenomException  
    ) where 
import GHC.Types( Char )

data SomeException
divZeroException, overflowException, ratioZeroDenomException  :: SomeException
errorCallException :: [Char] -> SomeException
\end{code}