module Language.Noodle.Lib.IO(decls,env) where import Language.Noodle.Evaluation env = extenv decls decls = [("put", extfun put) ,("display", extfun display) ,("get", Thunk get) ] put :: Val -> IO Val put (Str s) = do putStrLn s return Nil put _ = return $ srtError "invalid argument passed to io.put" display :: Val -> IO Val display v = do putStrLn $ show v return Nil get :: IO Val get = do s <- readLn return $ Str s