[commit: ghc] master: Comments only (bc9e81c)
git at git.haskell.org
git at git.haskell.org
Wed Dec 3 13:38:51 UTC 2014
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/bc9e81cfe5aec2484833854ab0c1abfef9c11b0f/ghc
>---------------------------------------------------------------
commit bc9e81cfe5aec2484833854ab0c1abfef9c11b0f
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Wed Dec 3 13:38:55 2014 +0000
Comments only
>---------------------------------------------------------------
bc9e81cfe5aec2484833854ab0c1abfef9c11b0f
compiler/typecheck/TcInteract.lhs | 4 ++--
libraries/ghc-prim/GHC/Types.hs | 12 ++++++++----
2 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/compiler/typecheck/TcInteract.lhs b/compiler/typecheck/TcInteract.lhs
index bfe470d..dcac915 100644
--- a/compiler/typecheck/TcInteract.lhs
+++ b/compiler/typecheck/TcInteract.lhs
@@ -1038,8 +1038,8 @@ outer type constructors match.
Note [Delicate equality kick-out]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-When adding an work-item CTyEqCan (a ~ xi), we kick out an inert
-CTyEqCan (b ~ phi) when
+When adding an fully-rewritten work-item CTyEqCan (a ~ xi), we kick
+out an inert CTyEqCan (b ~ phi) when
a) the work item can rewrite the inert item
diff --git a/libraries/ghc-prim/GHC/Types.hs b/libraries/ghc-prim/GHC/Types.hs
index e9f1428..0f1d961 100644
--- a/libraries/ghc-prim/GHC/Types.hs
+++ b/libraries/ghc-prim/GHC/Types.hs
@@ -98,11 +98,11 @@ constraints, but we cannot define them as such in Haskell. But we also cannot
just define them only in GHC.Prim (like (->)), because we need a real module
for them, e.g. to compile the constructor's info table.
-Furthermore the type of MkCoercible cannot be written in Haskell (no syntax for
-~#R).
+Furthermore the type of MkCoercible cannot be written in Haskell
+(no syntax for ~#R).
-So we define them as regular data types in GHC.Types, and do magic in GHC to
-change the kind and type, in tysWiredIn.
+So we define them as regular data types in GHC.Types, and do magic in TysWiredIn,
+inside GHC, to change the kind and type.
-}
@@ -161,6 +161,10 @@ data (~) a b = Eq# ((~#) a b)
--
-- /Since: 4.7.0.0/
data Coercible a b = MkCoercible ((~#) a b)
+-- It's really ~R# (represntational equality), not ~#,
+-- but * we don't yet have syntax for ~R#,
+-- * the compiled code is the same either way
+-- * TysWiredIn has the truthful types
-- Also see Note [Kind-changing of (~) and Coercible]
-- | Alias for 'tagToEnum#'. Returns True if its parameter is 1# and False
More information about the ghc-commits
mailing list