X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2FbasicTypes%2FOccName.lhs;h=cae76a6b1be7920a6350c7090b6ce0d4b0d75a8a;hp=13a7f81cd3ef77230745bd4cb61bf192cb95ef40;hb=9da4639011348fb6c318e3cba4b08622f811d9c4;hpb=909d2dd885f5eebaf7c12cf15d5ac153d646566e diff --git a/compiler/basicTypes/OccName.lhs b/compiler/basicTypes/OccName.lhs index 13a7f81..cae76a6 100644 --- a/compiler/basicTypes/OccName.lhs +++ b/compiler/basicTypes/OccName.lhs @@ -443,6 +443,7 @@ mkIPOcc = mk_simple_deriv varName "$i" mkSpecOcc = mk_simple_deriv varName "$s" mkForeignExportOcc = mk_simple_deriv varName "$f" mkNewTyCoOcc = mk_simple_deriv tcName "Co" +mkInstTyCoOcc = mk_simple_deriv tcName "Co" -- derived from rep ty -- Generic derivable classes mkGenOcc1 = mk_simple_deriv varName "$gfrom" @@ -478,25 +479,15 @@ mkLocalOcc uniq occ -- that need encoding (e.g. 'z'!) \end{code} -\begin{code} - --- Derive a name for the representation type constructor of a data/newtype --- instance. --- -mkInstTyTcOcc :: Unique -- Unique - -> OccName -- Local name (e.g. "Map") - -> OccName -- Nice unique version (":T23Map") -mkInstTyTcOcc uniq occ - = mk_deriv varName (":T" ++ show uniq) (occNameString occ) - --- Derive a name for the coercion of a data/newtype instance. --- -mkInstTyCoOcc :: Unique -- Unique - -> OccName -- Local name (e.g. "Map") - -> OccName -- Nice unique version ("Co23Map") -mkInstTyCoOcc uniq occ - = mk_deriv varName ("Co" ++ show uniq) (occNameString occ) +Derive a name for the representation type constructor of a data/newtype +instance. +\begin{code} +mkInstTyTcOcc :: Int -- Index + -> OccName -- Family name (e.g. "Map") + -> OccName -- Nice unique version (":R23Map") +mkInstTyTcOcc index occ + = mk_deriv tcName (":R" ++ show index) (occNameString occ) \end{code} \begin{code}