Haskell'ncurses'图书馆
我想在Haskell程序中使用基于文本的UI。我找到了ncurses库的一些绑定(另请参见)。Haskell'ncurses'图书馆,haskell,ncurses,Haskell,Ncurses,我想在Haskell程序中使用基于文本的UI。我找到了ncurses库的一些绑定(另请参见)。hscurses和nanocurses软件包只是C库的简单包装,而vty没有很好的文档记录,并且有点难看(例如混合了snake\u case和CamelCase) Hackage上的库看起来更漂亮,并且提供了非常适合Haskell的API。问题是它似乎没有实现一些关键功能,比如调整窗口大小或刷新窗口 所以我的问题是: 是否有其他Haskell文本UI库,无论是否基于课程,我都没有找到 如果没有人,是否
hscurses
和nanocurses
软件包只是C库的简单包装,而vty
没有很好的文档记录,并且有点难看(例如混合了snake\u case和CamelCase)
Hackage上的库看起来更漂亮,并且提供了非常适合Haskell的API。问题是它似乎没有实现一些关键功能,比如调整窗口大小或刷新窗口
所以我的问题是:
- 是否有其他Haskell文本UI库,无论是否基于课程,我都没有找到
- 如果没有人,是否可以扩展
Haskell库,至少支持窗口刷新和调整大小?(这可能需要咨询项目业主,但我需要尽快解决)ncurses
最后,我使用了不带窗口(和面板)的
nsCourses
,以避免刷新它们的麻烦。我对窗口右下角的输出有问题(有人报告了一个非常类似的问题)。我解决了这个问题,没有在那里写:)。我已经成功地使用了nanocurses和hscurses,我的hmp3应用程序有一个是nanocurses的基础
不管怎样,您都可能需要一个好的高级API。hscurses至少有一个box抽象
你可以用hscurses。你看过吗?它有一本很好的用户手册,里面有很多例子。我相信它本质上是vty的包装器。haskell中基于文本的用户界面还有另一个不错的选择 是由jtdaugherty编写的,他就是开发vtyui的那个人,而vtyui现在已被弃用 API是,它更适合表示Haskell这样的语言。
同样,这本书也很棒,也很完整。好吧,我的程序的主要目标是介绍Haskell,我想我会使用
ncurses
(比如monadCurses
和Update
)中的抽象来说明Haskell中的编程比C更漂亮。但是hscurses
与纯C ncurses处于相同的“水平”,因此,将其用作Haskell的演示没有多大意义。我将尝试扩展ncurses
;如果失败,我将使用hscurses
:)。curses库的级别较低。我不认为展示终端布景是展示Haskell的好方法:)你可能会在FRP GUI或图像处理方面有更好的运气……我想使用基于ncurses的交互界面作为更大程序的一部分(在有移动障碍物的迷宫中寻路)。现在,它只是将找到的路径打印到终端,我认为支持通过找到的路径也会很酷:)@honzasp:也许你可以用来显示迷宫路径——这非常优雅HaskellIn在以前的一个项目中,由于ncurses的GPL许可证,我无法使用它。我使用vty的效果很好,不费吹灰之力。vty-ui不安装在Windows上,因为它依赖于unix
软件包。