Changeset 4792 for src/Main.hs
- Timestamp:
- 06/18/05 14:50:32 (4 years ago)
- svk:copy_cache_prev:
- 6529
- Files:
-
- 1 modified
-
src/Main.hs (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Main.hs
r4738 r4792 125 125 repLoop = do 126 126 initializeShell 127 env <- liftSTM . newTVar . (\e -> e{ envDebug = Nothing }) =<< tabulaRasa 127 env <- liftSTM . newTVar . (\e -> e{ envDebug = Nothing }) =<< tabulaRasa "<interactive>" 128 128 fix $ \loop -> do 129 129 command <- getCommand … … 135 135 CmdParseRaw prog -> doParse show "<interactive>" prog >> loop 136 136 CmdHelp -> printInteractiveHelp >> loop 137 CmdReset -> tabulaRasa >>= (liftSTM . writeTVar env) >> loop137 CmdReset -> tabulaRasa "<interactive>" >>= (liftSTM . writeTVar env) >> loop 138 138 139 139 {-| … … 144 144 ('Tabula rasa' is Latin for 'a blank slate'.) 145 145 -} 146 tabulaRasa :: IO Env147 tabulaRasa = prepareEnv "<interactive>"[]146 tabulaRasa :: String -> IO Env 147 tabulaRasa name = prepareEnv name [] 148 148 149 149 doCheck :: FilePath -> String -> IO () … … 183 183 doParseWith :: (Env -> FilePath -> IO a) -> FilePath -> String -> IO a 184 184 doParseWith f name prog = do 185 env <- tabulaRasa 185 env <- tabulaRasa name 186 186 f' $ parseProgram env name $ decodeUTF8 prog 187 187 where … … 193 193 doParse :: (Exp -> String) -> FilePath -> String -> IO () 194 194 doParse prettyFunc name prog = do 195 env <- tabulaRasa 195 env <- tabulaRasa name 196 196 case envBody $ parseProgram env name (decodeUTF8 prog) of 197 197 (Val err@(VError _ _)) -> putStrLn $ pretty err … … 225 225 theEnv = do 226 226 ref <- if runOptSeparately opts 227 then (liftSTM . newTVar) =<< tabulaRasa 227 then (liftSTM . newTVar) =<< tabulaRasa "<interactive>" 228 228 else return menv 229 229 debug <- if runOptDebug opts
