X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Flib%2Fghc%2FFiniteMap.lhs;fp=ghc%2Flib%2Fghc%2FFiniteMap.lhs;h=56caa587ea7f8c79152339427f27c48d754874d6;hb=10521d8418fd3a1cf32882718b5bd28992db36fd;hp=03f087a1fe55d1b8a77adb4a3ea334c200fd72bb;hpb=7fa716e248a1f11fa686965f57aebbb83b74fa7b;p=ghc-hetmet.git diff --git a/ghc/lib/ghc/FiniteMap.lhs b/ghc/lib/ghc/FiniteMap.lhs index 03f087a..56caa58 100644 --- a/ghc/lib/ghc/FiniteMap.lhs +++ b/ghc/lib/ghc/FiniteMap.lhs @@ -715,6 +715,18 @@ pprX sty (Branch key elt sz fm_l fm_r) ppr sty key, ppSP, ppInt (IF_GHC(I# sz, sz)), ppSP, pprX sty fm_r, ppRparen] #endif + +#if !defined(COMPILING_GHC) +instance (Eq key, Eq elt) => Eq (FiniteMap key elt) where + fm_1 == fm_2 = (sizeFM fm_1 == sizeFM fm_2) && -- quick test + (fmToList fm_1 == fmToList fm_2) + +{- NO: not clear what The Right Thing to do is: +instance (Ord key, Ord elt) => Ord (FiniteMap key elt) where + fm_1 <= fm_2 = (sizeFM fm_1 <= sizeFM fm_2) && -- quick test + (fmToList fm_1 <= fmToList fm_2) +-} +#endif \end{code} %************************************************************************