projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add Data and Typeable instances to HsSyn
[ghc-hetmet.git]
/
compiler
/
basicTypes
/
OccName.lhs
diff --git
a/compiler/basicTypes/OccName.lhs
b/compiler/basicTypes/OccName.lhs
index
172c709
..
9ff53f1
100644
(file)
--- a/
compiler/basicTypes/OccName.lhs
+++ b/
compiler/basicTypes/OccName.lhs
@@
-92,6
+92,8
@@
module OccName (
startsVarSym, startsVarId, startsConSym, startsConId
) where
startsVarSym, startsVarId, startsConSym, startsConId
) where
+#include "Typeable.h"
+
import Util
import Unique
import BasicTypes
import Util
import Unique
import BasicTypes
@@
-102,6
+104,7
@@
import Outputable
import Binary
import StaticFlags( opt_SuppressUniques )
import Data.Char
import Binary
import StaticFlags( opt_SuppressUniques )
import Data.Char
+import Data.Data
\end{code}
\begin{code}
\end{code}
\begin{code}
@@
-227,6
+230,14
@@
instance Ord OccName where
-- Compares lexicographically, *not* by Unique of the string
compare (OccName sp1 s1) (OccName sp2 s2)
= (s1 `compare` s2) `thenCmp` (sp1 `compare` sp2)
-- Compares lexicographically, *not* by Unique of the string
compare (OccName sp1 s1) (OccName sp2 s2)
= (s1 `compare` s2) `thenCmp` (sp1 `compare` sp2)
+
+INSTANCE_TYPEABLE0(OccName,occNameTc,"OccName")
+
+instance Data OccName where
+ -- don't traverse?
+ toConstr _ = abstractConstr "OccName"
+ gunfold _ _ = error "gunfold"
+ dataTypeOf _ = mkNoRepType "OccName"
\end{code}
\end{code}