我目前正在遵循书中的练习:“Haskell学院的表达”,并已经达成了关于创建图形的第三章。本书使用SOEGraphics模块,演示在窗口中绘制一些简单的文本,然后按下按钮关闭它。但是,在编译和执行后,我发现尽管窗口出现在屏幕上,但无论我按哪个键或焦点是在命令行还是窗口本身,窗口都会拒绝关闭。Haskell SOEGraphics窗口将不会关闭
这里是一本书的源代码:
module Main where
import SOE
main = runGraphics(
do w <- openWindow
"My First Graphics Program" (300, 300)
drawInWindow w (text(100,200) "HelloGraphicsWorld")
k <- getKey w
closeWindow w
)
得到窗口关闭的唯一方法是通过迫使与CTRL-C退出。有没有我用我的代码忽略的东西?该程序使用GHC 7.4.1进行编译,并在Ubuntu上运行。
你从哪里得到模块?据我所知,HGL包装上的hackage不会以GHC> = 7构建。 –
也许我对我指的是哪些库感到困惑?我按照说明让SOEGraphics工作[这里](http://www.cs.yale.edu/homes/hudak/SOE/software1.htm) –
好的,这是一个相当新的来源,所以它应该工作。我不知道SOE代码已经被移出了HGL,并且你与拥抱文档的链接(最后一次发布是2006年9月!)让我感到惊讶。不过,我不知道会发生什么事情。它可以缓冲,所以只有按下''后才能发送按键? (不太可能,但我可以提供的唯一猜测。) –