Ответ 1
Вы посмотрели vty-ui? У этого есть очень хорошее руководство пользователя с большим количеством примеров. Я считаю, что это по существу обертка вокруг vty.
Я хотел бы использовать текстовый интерфейс в моей программе Haskell. Я нашел некоторые привязки для библиотеки ncurses (см. Также hscurses или ncurses, какой из них использовать?). Пакеты hscurses
и nanocurses
- это просто обертки вокруг библиотеки C, а vty
не очень хорошо документированы и немного уродливы (например, смешение snake_case и CamelCase).
Библиотека ncurses
в Hackage выглядит намного красивее и предоставляет API, который прекрасно подходит для Haskell. Проблема заключается в том, что он, похоже, не реализует некоторые важные функции, такие как изменение размера или обновление окон.
Итак, мой вопрос:
ncurses
Haskell, чтобы как минимум поддерживать обновление и изменение размера окна? (с этим, вероятно, следует обращаться к владельцу проекта, но мне нужно решение быстро)EDIT:
Наконец, я использовал nscurses
без окон (и панелей), чтобы избежать проблем с их обновлением. У меня были проблемы с выходом в нижний правый угол окна (очень похожая проблема была отмечена для Python ncurses binding). Я решил это, не написав там:).
Вы посмотрели vty-ui? У этого есть очень хорошее руководство пользователя с большим количеством примеров. Я считаю, что это по существу обертка вокруг vty.
Я успешно использовал nanoncurses и hscurses, у моего приложения hmp3 есть привязка которая была основой для нанокурсов.
Независимо от того, что вам, вероятно, понадобится хороший API высокого уровня. По крайней мере, у hscurses есть абстракция коробки.
У вас все будет хорошо с hscurses.
В haskell есть еще один хороший выбор для пользовательских интерфейсов на основе текста;
Brick написан jtdaugherty, тем же человеком, который разработал vty-ui, который теперь устарел.
API Declarative, который лучше подходит для представления языка, такого как Haskell. также была Документация.