[commit: ghc] master: Comments only (30d8349)
git at git.haskell.org
git at git.haskell.org
Fri Jul 24 11:30:59 UTC 2015
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/30d8349a54c95aebe620569f3995fb0cb2d1bf9f/ghc
>---------------------------------------------------------------
commit 30d8349a54c95aebe620569f3995fb0cb2d1bf9f
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Thu Jul 23 12:49:06 2015 +0100
Comments only
>---------------------------------------------------------------
30d8349a54c95aebe620569f3995fb0cb2d1bf9f
compiler/basicTypes/MkId.hs | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/compiler/basicTypes/MkId.hs b/compiler/basicTypes/MkId.hs
index 5f2cae8..4edf268 100644
--- a/compiler/basicTypes/MkId.hs
+++ b/compiler/basicTypes/MkId.hs
@@ -1300,7 +1300,6 @@ Also see https://ghc.haskell.org/trac/ghc/wiki/OneShot.
Note [magicDictId magic]
~~~~~~~~~~~~~~~~~~~~~~~~~
-
The identifier `magicDict` is just a place-holder, which is used to
implement a primitve that we cannot define in Haskell but we can write
in Core. It is declared with a place-holder type:
@@ -1334,15 +1333,14 @@ Next, we add a built-in Prelude rule (see prelude/PrelRules.hs),
which will replace the RHS of this definition with the appropriate
definition in Core. The rewrite rule works as follows:
-magicDict at t (wrap at a@b f) x y
+ magicDict @t (wrap @a @b f) x y
---->
-f (x `cast` co a) y
+ f (x `cast` co a) y
The `co` coercion is the newtype-coercion extracted from the type-class.
The type class is obtain by looking at the type of wrap.
-
-------------------------------------------------------------
@realWorld#@ used to be a magic literal, \tr{void#}. If things get
nasty as-is, change it back to a literal (@Literal@).
More information about the ghc-commits
mailing list