X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FbasicTypes%2FOccName.lhs;h=0d1cb37949b5fa47fa104783bc7cdabf3cb96c14;hb=30098da67fd3ce50ef5a110f57c1780002f83615;hp=9319c6762921cf4f81507e2a26c8e72c2d5d082f;hpb=d76c18e05f6366c23144624b696a02fbaa6d26e8;p=ghc-hetmet.git diff --git a/compiler/basicTypes/OccName.lhs b/compiler/basicTypes/OccName.lhs index 9319c67..0d1cb37 100644 --- a/compiler/basicTypes/OccName.lhs +++ b/compiler/basicTypes/OccName.lhs @@ -442,7 +442,8 @@ mkDictOcc = mk_simple_deriv varName "$d" mkIPOcc = mk_simple_deriv varName "$i" mkSpecOcc = mk_simple_deriv varName "$s" mkForeignExportOcc = mk_simple_deriv varName "$f" -mkNewTyCoOcc = mk_simple_deriv tcName "Co" +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,24 +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. --- Derive a name for the representation type constructor of a data/newtype --- instance. --- +\begin{code} mkInstTyTcOcc :: Int -- Index - -> OccName -- Local name (e.g. "Map") + -> OccName -- Family name (e.g. "Map") -> OccName -- Nice unique version (":R23Map") mkInstTyTcOcc index occ - = mk_deriv varName (":R" ++ show index) (occNameString occ) - --- Derive a name for the coercion of a data/newtype instance. --- -mkInstTyCoOcc :: Int -- Index - -> OccName -- Local name (e.g. "Map") - -> OccName -- Nice unique version (":Co23Map") -mkInstTyCoOcc index occ - = mk_deriv varName (":Co" ++ show index) (occNameString occ) + = mk_deriv tcName (":R" ++ show index) (occNameString occ) \end{code} \begin{code}