As the Haskell Wiki itself states:
There is a large number of GUI libraries for Haskell. Unfortunately there is no standard one and all are more or less incomplete. In general, low-level veneers are going well, but they are low level. High-level abstractions are pretty experimental. There is a need for a supported medium-level GUI library.
A professor at my college asked me and three other computer science majors to consider working on a GUI library for Haskell. His initial idea for the project was to write a layer on top of OpenGL that mimicked the morphic library found in Smalltalk; however, this is just a suggestion and other system are definitely worth consideration.
This brings us to the actual, multi-part question.
- For what level of abstraction should our library strive? The Haskell Wiki seems to indicate strongly that a medium-level GUI library would be preferred; however, a high-level library would still be welcome.
- Upon what should our library be built? (Ex. OpenGL)
- What existing GUI library would you like to see our library mimic (if any) and why? (Ex. PyGame, Morphic, Swing, etc)
- What features would you like to see our library implement or avoid? For example, the good people at Gnome might argue that the minimize button is unnecessary.
- Do you have any general suggestions?
- What clever name would you give this imaginary library? (Ex. HOT - Haskell Opengl Toolkit; HAWT - Haskell Advanced Windowing Toolkit)