我正在尝试使用 Gloss 库的play
函数,它接受一个事件处理函数,其第一个参数是类型Event
(根据Hackage 文档)。我正在使用 GHC 7.6.3 和 Gloss 1.8.0.1 在 Windows 上工作。
这是我正在尝试做的事情的草图:
import Graphics.Gloss
type GameState = [Int]
handleInputEvent :: Event -> GameState -> GameState
handleInputEvent _ = id -- Just stubbed in for now
编译器错误是:
Not in scope: type constructor or class `Event'
如果我进入 WinGHCI 并导入 Graphics.Gloss 并询问它的类型签名play
,它看起来像这样:
play ::
Display
-> Color
-> Int
-> world
-> (world -> Picture)
-> (gloss-1.8.0.1:Graphics.Gloss.Internals.Interface.Event.Event
-> world -> world)
-> (Float -> world -> world)
-> IO ()
我猜这与名称Event
与其他模块发生冲突有关,因此与 Gloss 中的其他符号的导入方式不同。
我如何与 Haskell 谈论 Gloss' Event
?