From eb9921212c6fd546dec346348a01aaf7885070b7 Mon Sep 17 00:00:00 2001 From: Steve Dunham Date: Wed, 11 Feb 2026 13:32:09 -0800 Subject: [PATCH] use record update for top --- src/Main.newt | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/Main.newt b/src/Main.newt index e4db61d..a7c9c5f 100644 --- a/src/Main.newt +++ b/src/Main.newt @@ -154,7 +154,13 @@ processModule importFC base stk qn@(QN ns nm) = do top <- getTop let freshMC = MC emptyMap Nil 0 CheckAll -- set imported, mod, freshMC, ops before processing - modifyTop (\ top => MkTop top.modules imported emptyMap modns emptyMap freshMC top.verbose top.errors ops) + modifyTop [ imported := imported + ; hints := emptyMap + ; ns := modns + ; defs := emptyMap + ; metaCtx := freshMC + ; ops := ops + ] for imported $ \ ns => do let (Just mod) = lookupMap' ns top.modules | _ => error emptyFC "namespace \{show ns} missing" importHints (listValues mod.modDefs) @@ -234,7 +240,12 @@ processFile fn = do top <- getTop let modules = updateMap primNS (MkModCtx "" top.defs (MC emptyMap Nil 0 CheckAll) top.ops Nil) top.modules - modifyTop (\ top => MkTop modules (primNS :: Nil) emptyMap Nil emptyMap top.metaCtx top.verbose top.errors top.ops) + modifyTop [ modules := modules + ; imported := primNS :: Nil + ; hints := emptyMap + ; ns := Nil + ; defs := emptyMap + ] invalidateModule qn