@@ -96,14 +96,22 @@ addAutoImport fp = do i <- getIState
9696 put (i { idris_options = opts { opt_autoImport =
9797 fp : opt_autoImport opts } } )
9898
99+addDefinedName :: Name -> Idris ()
100+addDefinedName n = do ist <- getIState
101+ putIState $ ist { idris_inmodule = S.insert n (idris_inmodule ist) }
102+
103+getDefinedNames :: Idris [Name]
104+getDefinedNames = do ist <- getIState
105+ return (S.toList (idris_inmodule ist))
106+
99107addTT :: Term -> Idris (Maybe Term)
100−addTT t = do ist <- get
108+addTT t = do ist <- getIState
101109 case M.lookup t (idris_ttstats ist) of
102110 Nothing -> do let tt' = M.insert t (1, t) (idris_ttstats ist)
103− put $ ist { idris_ttstats = tt' }
111+ putIState $ ist { idris_ttstats = tt' }
104112 return Nothing
105113 Just (i, t') -> do let tt' = M.insert t' (i + 1, t') (idris_ttstats ist)
106− put $ ist { idris_ttstats = tt' }
114+ putIState $ ist { idris_ttstats = tt' }
107115 return (Just t')
108116
109117dumpTT :: Idris ()
@@ -461,7 +469,8 @@ addIBC ibc@(IBCDef n)
461469addIBC ibc = do i <- getIState; putIState $ i { ibc_write = ibc : ibc_write i }
462470
463471clearIBC :: Idris ()
464−clearIBC = do i <- getIState; putIState $ i { ibc_write = [] }
472+clearIBC = do i <- getIState; putIState $ i { ibc_write = [],
473+ idris_inmodule = S.empty }
465474
466475resetNameIdx :: Idris ()
467476resetNameIdx = do i <- getIState