:set stop :list :def eval \str -> return ("seq (" ++ str ++ ") ()") let ss args = concat $ Data.List.intersperse "," (map (\ s -> ('"':s)++"\"") (words args)) let void m = m >> return "" let echo s = void (putStrLn s) :def echo echo :def maintraced \args -> return (":trace " ++ '[': ss args ++ "] `System.Environment.withArgs` main") :def mainstep \args -> return (":step " ++ '[': ss args ++ "] `System.Environment.withArgs` main")