Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 7th, 2012  |  syntax: None  |  size: 0.50 KB  |  hits: 8  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Haskell: need to Timeout when running eval from the Hint package
  2. import Data.Maybe
  3. import Language.Haskell.Interpreter
  4. import System.Timeout
  5. import System.Environment (getArgs)
  6.  
  7. main :: IO()
  8. main = do
  9.   r <- timeout 500000 $ runInterpreter $ hEval arg
  10.   case r of
  11.     Nothing -> putStrLn "Timed out!"
  12.     Just x ->
  13.       case x of
  14.         Left err -> putStrLn (show err)
  15.         Right a  -> putStrLn a
  16.  
  17. hEval e = do
  18.   setImportsQ [("Prelude", Nothing),("Data.List",Nothing)]
  19.   a <- eval e
  20.   return $ take 200 a