threadPaused: fix pointer arithmetic
[ghc-hetmet.git] / compiler / basicTypes / RdrName.lhs
index a33c243..6db15bc 100644 (file)
@@ -4,6 +4,7 @@
 %
 
 \begin{code}
+{-# LANGUAGE DeriveDataTypeable #-}
 
 -- |
 -- #name_types#
@@ -29,7 +30,6 @@ module RdrName (
        mkRdrUnqual, mkRdrQual, 
        mkUnqual, mkVarUnqual, mkQual, mkOrig,
        nameRdrName, getRdrName, 
-       mkDerivedRdrName, 
 
        -- ** Destruction
        rdrNameOcc, rdrNameSpace, setRdrNameSpace,
@@ -67,6 +67,8 @@ import SrcLoc
 import FastString
 import Outputable
 import Util
+
+import Data.Data
 \end{code}
 
 %************************************************************************
@@ -107,6 +109,7 @@ data RdrName
        --  (2) By Template Haskell, when TH has generated a unique name
        --
        -- Such a 'RdrName' can be created by using 'getRdrName' on a 'Name'
+  deriving (Data, Typeable)
 \end{code}
 
 
@@ -160,14 +163,6 @@ mkOrig :: Module -> OccName -> RdrName
 mkOrig mod occ = Orig mod occ
 
 ---------------
--- | Produce an original 'RdrName' whose module that of a parent 'Name' but its 'OccName'
--- is derived from that of it's parent using the supplied function
-mkDerivedRdrName :: Name -> (OccName -> OccName) -> RdrName
-mkDerivedRdrName parent mk_occ
-  = ASSERT2( isExternalName parent, ppr parent )
-    mkOrig (nameModule parent) (mk_occ (nameOccName parent))
-
----------------
        -- These two are used when parsing source files
        -- They do encode the module and occurrence names
 mkUnqual :: NameSpace -> FastString -> RdrName