shithub: MicroHs

Download patch

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)
 
--