I believe that haskell would have great benifit from a platform independant specification for a graphical user interface module or set of modules. I've been blessed with a lot of time on my hands so I'd be willing to organize this project if needed.
I agree this is a big hole in Haskell's library support. IO/Higher level interface ------------------------- Haskell has a lot of high level GUI toolkits/proposals (ObjectIO/Haggis/Fudgets/Fran/etc) and a number of IO level interfaces which are more or (usually) less maintained. While programming at the IO level works, it does not give one much of an advantage versus programming in C, in sharp contrast to most other Haskell programming. The diversity of high level solutions which differ totally in outlook ("express the widget as a datastructure" versus "everything is a composition of functions") gives the impression that the library designers never used their toolkits in larger applications which would have made any rough edges painfully obvious. It seems therefore that a lot more work needs to go into this field before we know what a good high level Functional GUI toolkit looks like. Contrast this with more mature fields such as pretty printing, parsing, etc where there are many solutions all following the same ideas. Therefore while I would like to see a higher level interface than currently what seems best to me (a binding to GTK), it seems unlikely that this project will resolve that question completely. Perhaps the best would be to use an Object-IO like interface with mvars as proposed by Simon Peyton-Jones, simply because it's higher level than raw gui-calls and the Clean folks have used it cross-platform in a few real apps. SWT --- I have seen many positive comments about IBM's SWT which works on the following platforms: aix/motif hpux/motif linux/gtk linux/motif linux/qt macos/carbon qnx/photon solaris/motif win32/win32 win32-ce/win32 It's a java binding to a native interface layer. Perhaps the fact it is architected as a binding could ease the creation of a similar Haskell binding which would work on all those platforms. http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-swt-home/dev.ht... Sengan