Comments only
authorSimon Peyton Jones <simonpj@microsoft.com>
Thu, 23 Jul 2015 11:49:06 +0000 (12:49 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Fri, 24 Jul 2015 09:42:31 +0000 (10:42 +0100)
compiler/basicTypes/MkId.hs

index 5f2cae8..4edf268 100644 (file)
@@ -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@t (wrap@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@).