X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2FbasicTypes%2FOccName.lhs;h=439a2f88313129eb09c845f6cb0179ef28607c89;hp=172c7097b3e714e8fa301803aa4a4b32a6495597;hb=edc0bafd3fcd01b85a2e8894e5dfe149eb0e0857;hpb=4623207393db41c970e713c326e9b54aa017dc3a diff --git a/compiler/basicTypes/OccName.lhs b/compiler/basicTypes/OccName.lhs index 172c709..439a2f8 100644 --- a/compiler/basicTypes/OccName.lhs +++ b/compiler/basicTypes/OccName.lhs @@ -92,6 +92,8 @@ module OccName ( startsVarSym, startsVarId, startsConSym, startsConId ) where +#include "Typeable.h" + import Util import Unique import BasicTypes @@ -102,16 +104,7 @@ import Outputable import Binary import StaticFlags( opt_SuppressUniques ) import Data.Char -\end{code} - -\begin{code} --- Unicode TODO: put isSymbol in libcompat -#if !defined(__GLASGOW_HASKELL__) || __GLASGOW_HASKELL__ > 604 -#else -isSymbol :: a -> Bool -isSymbol = const False -#endif - +import Data.Data \end{code} %************************************************************************ @@ -227,6 +220,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) + +INSTANCE_TYPEABLE0(OccName,occNameTc,"OccName") + +instance Data OccName where + -- don't traverse? + toConstr _ = abstractConstr "OccName" + gunfold _ _ = error "gunfold" + dataTypeOf _ = mkNoRepType "OccName" \end{code}