ref: 5a5f8336492b005277dd361f905f2d72f8f14a9a
parent: 2305ed59cc21a5da28047c88277bea04371a33c3
author: Lennart Augustsson <lennart.augustsson@epicgames.com>
date: Mon Oct 23 07:35:32 EDT 2023
Get rid of eqEntry
--- a/src/MicroHs/TypeCheck.hs
+++ b/src/MicroHs/TypeCheck.hs
@@ -9,6 +9,7 @@
mkSuperSel,
bindingsOf,
) where
+import Data.Eq -- XXX why needed?
import Prelude --Xhiding(showList)
import Data.Char
import Data.List
@@ -61,6 +62,9 @@
EType -- type/kind of identifier
--Xderiving(Show)
+instance Eq Entry where
+ Entry x _ == Entry y _ = getIdent x == getIdent y
+
entryType :: Entry -> EType
entryType (Entry _ t) = t
@@ -265,7 +269,7 @@
syms (is, TModule mn _ tes _ _ _ ves _) =
[ (v, [e]) | ValueExport i e <- ves, v <- qns is mn i ] ++
[ (v, [e]) | TypeExport _ _ cs <- tes, ValueExport i e <- cs, v <- qns is mn i ]
- in M.fromListWith (unionBy eqEntry) $ concatMap syms mdls
+ in M.fromListWith union $ concatMap syms mdls
allSyns =
let
syns (_, TModule _ _ _ ses _ _ _ _) = ses
@@ -274,7 +278,7 @@
allTypes =
let
types (is, TModule mn _ tes _ _ _ _ _) = [ (v, [e]) | TypeExport i e _ <- tes, v <- qns is mn i ]
- in M.fromListWith (unionBy eqEntry) $ concatMap types mdls
+ in M.fromListWith union $ concatMap types mdls
allFixes =
let
fixes (_, TModule _ fes _ _ _ _ _ _) = fes
@@ -306,13 +310,6 @@
mrg e1 e2 = if eqExpr e1 e2 then e1 else errorMessage (getSLocExpr e1) $ "Multiple instances: " ++ showSLoc (getSLocExpr e2)
l = unionBy eqInstDict l1 l2
in InstInfo m l
-
-eqEntry :: Entry -> Entry -> Bool
-eqEntry x y =
- case x of
- Entry ix _ ->
- case y of
- Entry iy _ -> (getIdent ix) == (getIdent iy)
getIdent :: Expr -> Ident
getIdent ae =
--
⑨