Comments
authorsimonpj@microsoft.com <unknown>
Mon, 23 Aug 2010 22:36:54 +0000 (22:36 +0000)
committersimonpj@microsoft.com <unknown>
Mon, 23 Aug 2010 22:36:54 +0000 (22:36 +0000)
compiler/basicTypes/MkId.lhs

index d7cd8cd..b7c442b 100644 (file)
@@ -218,10 +218,8 @@ It's a bit more complicated if the data instance is a GADT as well!
 
    data instance T [a] where
         T1 :: forall b. b -> T [Maybe b]
 
    data instance T [a] where
         T1 :: forall b. b -> T [Maybe b]
-Hence
-   Co7T a :: T [a] ~ :R7T a
 
 
-Now we want
+Hence we translate to
 
         -- Wrapper
   $WT1 :: forall b. b -> T [Maybe b]
 
         -- Wrapper
   $WT1 :: forall b. b -> T [Maybe b]
@@ -231,6 +229,9 @@ Now we want
         -- Worker
   T1 :: forall c b. (c ~ Maybe b) => b -> :R7T c
 
         -- Worker
   T1 :: forall c b. (c ~ Maybe b) => b -> :R7T c
 
+        -- Coercion from family type to representation type
+  Co7T a :: T [a] ~ :R7T a
+
 \begin{code}
 mkDataConIds :: Name -> Name -> DataCon -> DataConIds
 mkDataConIds wrap_name wkr_name data_con
 \begin{code}
 mkDataConIds :: Name -> Name -> DataCon -> DataConIds
 mkDataConIds wrap_name wkr_name data_con