Keep track of autos to be solved, shaves about 12% off of Elab.newt processing time

This commit is contained in:
2025-04-05 21:25:53 -07:00
parent 549cca19e3
commit eeb790f1b2
10 changed files with 134 additions and 90 deletions

View File

@@ -304,6 +304,7 @@ data MetaMode = CheckAll | CheckFirst | NoCheck
record MetaContext where
constructor MC
metas : SortedMap QName MetaEntry
autos : List QName
next : Int
mcmode : MetaMode
@@ -370,7 +371,10 @@ record ModContext where
-- A placeholder while walking through dependencies of a module
emptyModCtx : String ModContext
emptyModCtx csum = MkModCtx csum EmptyMap (MC EmptyMap 0 NoCheck) EmptyMap
emptyModCtx csum = MkModCtx csum EmptyMap (MC EmptyMap Nil 0 NoCheck) EmptyMap
HintTable : U
HintTable = SortedMap QName (List (QName × Tm))
record TopContext where
constructor MkTop
@@ -378,6 +382,8 @@ record TopContext where
-- I'm putting a dummy entry in
modules : SortedMap (List String) ModContext
imported : List (List String)
-- TCon name → function name × type
hints : HintTable
-- current module
ns : List String