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}
|