[commit: base] master: Comments (a97ebe3)
Ian Lynagh
igloo at earth.li
Thu Jun 6 19:56:50 CEST 2013
Repository : ssh://darcs.haskell.org//srv/darcs/packages/base
On branch : master
https://github.com/ghc/packages-base/commit/a97ebe39e8b76ca1dad1e875609da89e81353c6e
>---------------------------------------------------------------
commit a97ebe39e8b76ca1dad1e875609da89e81353c6e
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Thu Jun 6 14:36:56 2013 +0100
Comments
>---------------------------------------------------------------
GHC/Exception.lhs-boot | 23 +++++++++++++++++++++--
1 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/GHC/Exception.lhs-boot b/GHC/Exception.lhs-boot
index 9c3b0bf..f93d806 100644
--- a/GHC/Exception.lhs-boot
+++ b/GHC/Exception.lhs-boot
@@ -1,3 +1,24 @@
+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 #-}
@@ -11,8 +32,6 @@ module GHC.Exception ( SomeException, errorCallException,
) where
import GHC.Types( Char )
--- These exports are nice, well-behaved, non-bottom values
-
data SomeException
divZeroException, overflowException, ratioZeroDenomException :: SomeException
errorCallException :: [Char] -> SomeException
More information about the ghc-commits
mailing list