Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell'ncurses'图书馆_Haskell_Ncurses - Fatal编程技术网

Haskell'ncurses'图书馆

Haskell'ncurses'图书馆,haskell,ncurses,Haskell,Ncurses,我想在Haskell程序中使用基于文本的UI。我找到了ncurses库的一些绑定(另请参见)。hscurses和nanocurses软件包只是C库的简单包装,而vty没有很好的文档记录,并且有点难看(例如混合了snake\u case和CamelCase) Hackage上的库看起来更漂亮,并且提供了非常适合Haskell的API。问题是它似乎没有实现一些关键功能,比如调整窗口大小或刷新窗口 所以我的问题是: 是否有其他Haskell文本UI库,无论是否基于课程,我都没有找到 如果没有人,是否

我想在Haskell程序中使用基于文本的UI。我找到了ncurses库的一些绑定(另请参见)。
hscurses
nanocurses
软件包只是C库的简单包装,而
vty
没有很好的文档记录,并且有点难看(例如混合了snake\u case和CamelCase)

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

所以我的问题是:

  • 是否有其他Haskell文本UI库,无论是否基于课程,我都没有找到
  • 如果没有人,是否可以扩展
    ncurses
    Haskell库,至少支持窗口刷新和调整大小?(这可能需要咨询项目业主,但我需要尽快解决)
编辑:


最后,我使用了不带窗口(和面板)的
nsCourses
,以避免刷新它们的麻烦。我对窗口右下角的输出有问题(有人报告了一个非常类似的问题)。我解决了这个问题,没有在那里写:)。

我已经成功地使用了nanocurses和hscurses,我的hmp3应用程序有一个是nanocurses的基础

不管怎样,您都可能需要一个好的高级API。hscurses至少有一个box抽象


你可以用hscurses。你看过吗?它有一本很好的用户手册,里面有很多例子。我相信它本质上是vty的包装器。

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

是由jtdaugherty编写的,他就是开发vtyui的那个人,而vtyui现在已被弃用

API是,它更适合表示Haskell这样的语言。
同样,这本书也很棒,也很完整。

好吧,我的程序的主要目标是介绍Haskell,我想我会使用
ncurses
(比如monad
Curses
Update
)中的抽象来说明Haskell中的编程比C更漂亮。但是
hscurses
与纯C ncurses处于相同的“水平”,因此,将其用作Haskell的演示没有多大意义。我将尝试扩展
ncurses
;如果失败,我将使用
hscurses
:)。curses库的级别较低。我不认为展示终端布景是展示Haskell的好方法:)你可能会在FRP GUI或图像处理方面有更好的运气……我想使用基于ncurses的交互界面作为更大程序的一部分(在有移动障碍物的迷宫中寻路)。现在,它只是将找到的路径打印到终端,我认为支持通过找到的路径也会很酷:)@honzasp:也许你可以用来显示迷宫路径——这非常优雅HaskellIn在以前的一个项目中,由于ncurses的GPL许可证,我无法使用它。我使用vty的效果很好,不费吹灰之力。vty-ui不安装在Windows上,因为它依赖于
unix
软件包。