15

我想在我的 Haskell 程序中使用基于文本的 UI。我为 ncurses 库找到了一些绑定(另请参阅hscurses 或 ncurses,使用哪一个?)。hscursesnanocurses包只是 C 库的简单包装器,虽然没有vty很好的文档记录并且有点难看(例如混合蛇案例和骆驼案例)。

Hackage 上的ncurses库看起来更漂亮,并提供了非常适合 Haskell 的 API。问题是它似乎没有实现一些关键功能,比如调整窗口大小或刷新窗口。

所以我的问题是:

  • 是否有任何其他 Haskell 文本 UI 库,无论是否基于 ncurses,我错过了?
  • 如果没有人,是否可以扩展ncursesHaskell 库以至少支持窗口刷新和调整大小?(这个应该可以咨询项目业主,但我需要快速解决)

编辑:

我终于在nscurses没有窗口(和面板)的情况下使用以避免刷新它们的麻烦。我在输出到窗口右下角时遇到了问题(Python 的 ncurses binding报告了一个非常相似的问题)。我通过不在那里写来解决它:)。

4

3 回答 3

9

你看过vty-ui吗?它有一个很好的用户手册,里面有很多例子。我相信它本质上是对 vty 的封装。

于 2013-03-04T10:17:05.903 回答
3

我已经成功使用了 nanocurses 和 hscurses,我的 hmp3 应用程序具有作为nanocurses 基础的绑定

无论如何,您可能会想要一个不错的高级 API。hscurses 至少有一个盒子抽象。

你会很好地与 hscurses。

于 2013-03-02T16:33:11.447 回答
2

haskell 中基于文本的用户界面还有另一个不错的选择;

Brick由 jtdaugherty 编写,他是开发 vty-ui 的同一人,现在已弃用。

API 是声明式的,更适合展示像 Haskell 这样的语言。文档也很棒而且很完整。

于 2017-01-14T07:34:47.250 回答