gpt4 book ai didi

Haskell UI do子句,如何打印?

转载 作者:行者123 更新时间:2023-12-02 17:56:49 33 4
gpt4 key购买 nike

这是 this 的后续问题。我正在 Haskell 中使用一个名为 Threepenny-GUI 的图形库。 。在这个库中,主函数返回 UI单子(monad)对象。我正在尝试执行一个简单的打印命令,但没有成功。为了调试目的启用打印的正确解决方法是什么。

代码:

main :: IO ()
main = startGUI defaultConfig setup

setup :: Window -> UI ()
setup w = do

print "debug message 1 "

错误:

Couldn't match type ‘IO’ with ‘UI’
Expected type: UI ()
Actual type: IO ()
In a stmt of a 'do' block: print "labels and values "

最佳答案

根据类型,这是 liftIO 的一个很好的应用。 liftIO 有一个类型 MonadIO m => IO a -> m a 所以它可以像这样使用:

liftIO (print "debug message 1")

该表达式的类型可以是 UI (),因为 UIMonadIO 的实例,并且 print "debug message 1 “ 的类型为 IO ()

关于Haskell UI do子句,如何打印?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30988595/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com