rename top/put/modify on M to avoid collisions
This commit is contained in:
@@ -49,10 +49,10 @@ emptyTop = do
|
||||
|
||||
setDef : QName -> FC -> Tm -> Def -> M Unit
|
||||
setDef name fc ty def = do
|
||||
top <- get
|
||||
top <- getTop
|
||||
let (Nothing) = lookupMap' name top.defs
|
||||
| Just (MkEntry fc' nm' ty' def') => error fc "\{show name} is already defined at \{show fc'}"
|
||||
modify $ \case
|
||||
modifyTop $ \case
|
||||
MkTop mods imp ns defs metaCtx verbose errors ops =>
|
||||
let defs = (updateMap name (MkEntry fc name ty def) top.defs) in
|
||||
MkTop mods imp ns defs metaCtx verbose errors ops
|
||||
@@ -60,15 +60,15 @@ setDef name fc ty def = do
|
||||
|
||||
updateDef : QName -> FC -> Tm -> Def -> M Unit
|
||||
updateDef name fc ty def = do
|
||||
top <- get
|
||||
top <- getTop
|
||||
let (Just (MkEntry fc' nm' ty' def')) = lookupMap' name top.defs
|
||||
| Nothing => error fc "\{show name} not declared"
|
||||
modify $ \case
|
||||
modifyTop $ \case
|
||||
MkTop mods imp ns defs metaCtx verbose errors ops =>
|
||||
let defs = (updateMap name (MkEntry fc' name ty def) defs) in
|
||||
MkTop mods imp ns defs metaCtx verbose errors ops
|
||||
|
||||
addError : Error -> M Unit
|
||||
addError err = do
|
||||
top <- get
|
||||
top <- getTop
|
||||
modifyIORef top.errors (_::_ err)
|
||||
|
||||
Reference in New Issue
Block a user