X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2FbasicTypes%2FMkId.lhs;h=b7c442b4cb387155b6220a0398977a219d066ef1;hp=d7cd8cd5c953611b93784dcd6ac4e71f79e749e7;hb=c27e722fcf8ea5fb4dc0c64e9e1d6c4b66abd46c;hpb=8163c990823b37ce987429e1f6825358d69171b4 diff --git a/compiler/basicTypes/MkId.lhs b/compiler/basicTypes/MkId.lhs index d7cd8cd..b7c442b 100644 --- a/compiler/basicTypes/MkId.lhs +++ b/compiler/basicTypes/MkId.lhs @@ -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] -Hence - Co7T a :: T [a] ~ :R7T a -Now we want +Hence we translate to -- 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 + -- 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