ref: 70df575cf34ed72c2f824b96d09407d205c103e6
parent: 4c8bfb67ac90090bc8593eeb451d0f475251ac7b
author: Lennart Augustsson <lennart@augustsson.net>
date: Mon Nov 11 18:46:46 EST 2024
Merge instance information when merging packages.
--- a/src/MicroHs/TypeCheck.hs
+++ b/src/MicroHs/TypeCheck.hs
@@ -126,9 +126,10 @@
emptyGlobTables = GlobTables { gSynTable = M.empty, gClassTable = M.empty, gInstInfo = M.empty }
mergeGlobTables :: GlobTables -> GlobTables -> GlobTables
-mergeGlobTables g1 g2 = GlobTables { gSynTable = M.merge (gSynTable g1) (gSynTable g2),
- gClassTable = M.merge (gClassTable g1) (gClassTable g2),
- gInstInfo = M.merge (gInstInfo g1) (gInstInfo g2) }
+mergeGlobTables g1 g2 =
+ GlobTables { gSynTable = M.merge (gSynTable g1) (gSynTable g2),
+ gClassTable = M.merge (gClassTable g1) (gClassTable g2),
+ gInstInfo = M.mergeWith mergeInstInfo (gInstInfo g1) (gInstInfo g2) }
type Symbols = (SymTab, SymTab)
--
⑨