簡體   English   中英

Language.Haskell.Interpreter - 如何正確調用IO操作?

[英]Language.Haskell.Interpreter - how to properly call IO actions?

示例文件之后 ,我嘗試動態調用IO操作。

testHint :: Interpreter ()
testHint = do
                setImportsQ [("Prelude", Nothing)]
                let somecode = "putStrLn \"some string\""
                interpret somecode (as :: IO ())
                say "hello"

不幸的是,從不打印字符串"some string" 我也嘗試調用writeFile但也沒有創建文件。

那么需要什么來實現這些副作用呢? 謝謝!

interpret不會自行運行任何IO操作。 它只是評估它並將其返回給您,然后您必須自己運行它,例如使用liftIO

interpret somecode (as :: IO ()) >>= liftIO

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM