[Haskell]Haskellで文字列をevalするというかhintパッケージ

文字列からevalする感じのライブラリです。
GHCAPIのラッパーとも言います。
えーと。いや、使い方ずっと分かってなかったというか。
Preludeのimportが必要だったのだね..

import qualified Language.Haskell.Interpreter as I

main = do
    line <- getLine
    result <- evalStr line
    case result of
        Right r -> print r
        Left er -> case er of
            I.UnknownError e -> putStrLn e
            I.WontCompile es -> mapM_ print es
            I.NotAllowed e   -> putStrLn e
            I.GhcException e -> putStrLn e

evalStr str = I.runInterpreter $ do
    I.setImports ["Prelude"]
    I.eval str

ふむふむ。