我正在尝试使用 Haskell 和 Brick 包为基本应用程序构建 CLI 界面。在我见过的所有示例(包括文档)中,函数handleEvent具有以下类型签名,以便告诉 Brick 在状态更新后继续或停止执行:
AppState -> BrickEvent n e -> EventM n (Next AppState)
Run Code Online (Sandbox Code Playgroud)
然而,对我来说,我的编译器说Next找不到(我也不能手动从它应该位于的包中导出它Brick.Main)。下面使用的函数也是如此continue。
最小可重现问题:
主要.hs:
module Main where
import Brick.Main
import Brick.Types
import Graphics.Vty.Input.Events
data AppState = AppState deriving (Show, Eq)
handleEvent :: AppState -> BrickEvent n e -> EventM n (Next AppState)
handleEvent s e =
case e of
VtyEvent vtye ->
case vtye of
EvKey (KChar 'q') [] -> halt s
_ -> …Run Code Online (Sandbox Code Playgroud)