하스켈 프로그램에서 텍스트 기반 UI를 사용하고 싶습니다. ncurses 라이브러리에 대해 몇 가지 바인딩을 찾았습니다 (hscurses or ncurses, which one to use? 참조). hscurses
과 nanocurses
패키지는 C 라이브러리를 둘러싼 단순한 래퍼 일 뿐이며 vty
은 문서화가 잘되어 있지 않으며 약간 못 생겼습니다 (예 : snake_case와 CamelCase를 혼합).하스켈`ncurses` 라이브러리
Hackage의 ncurses
라이브러리는 훨씬 더 예쁘게 보이며 Haskell에 잘 맞는 API를 제공합니다. 문제는 창의 크기를 조정하거나 새로 고치는 것과 같은 몇 가지 중요한 기능을 구현하지 않는 것입니다.
그래서 제 질문은 :
- 내가 놓친하는 다른 하스켈 텍스트 UI 라이브러리가, 하나의 ncurses는 기반 또는하지?
- 누군가가 없으면 적어도 상쾌하게하고 사이즈를 바꾸는 윈도우를 지원하기 위해 Haskell 라이브러리
ncurses
을 확장 할 수 있습니까? (이 아마 프로젝트 소유자와 협의,하지만 신속하게 솔루션을 필요로한다)
편집 : 나는 마침내 그들을 새로 고침으로 문제를 방지하기 위해 창 (및 패널)없이 nscurses
를 사용
. 윈도우의 오른쪽 하단에 출력 문제가있었습니다 (매우 유사한 문제가 Python's ncurses binding에 대해보고되었습니다). 나는 거기에 쓰지 않음으로써 그것을 해결했다.
글쎄, 내 프로그램의 주된 목표는 하스켈을 제시하는 것이고 하스켈에서의 프로그래밍이 C보다 더 예쁘다는 것을 나타 내기 위해'ncurses' (모나드'Curses'와'Update'와 같은)에서 추상화를 사용할 것이라고 생각했습니다. 'hscurses'는 순수한 소스 코드와 같은 "레벨"에 있으므로, 하스켈의 시연으로 사용하는 것은별로 의미가 없습니다. 나는'ncurses'를 확장하려고 노력할 것입니다; 내가 실패하면'hscurses'를 사용합니다 :). –
저주 라이브러리는 낮은 레벨입니다. 나는 터미널 블리 팅을 보여줌으로써 하스켈을 제시하는 좋은 방법을 보지 못했다. FRP guis 또는 이미지 처리 ... –
큰 프로그램의 일부로 ncurses 기반 인터랙티브 인터페이스를 사용하고 싶었습니다 (움직이는 장애물이있는 미로에서 찾는 경로). 현재로서는 발견 된 경로를 터미널에 인쇄하기 만하면 찾을 경로를 따라 움직이는 것을 지원하는 것이 좋습니다. :) –