
On Sat, 2005-11-26 at 00:17 -0500, Dimitry Golubovsky wrote:
Do there exist Haskell graphics/UI toolkits implemented on top of the X11 library (Xlib) without any intermediate C/C++ libraries (i. e. not WxHaskell for example)?
I have a very low level client-side interface to the X11 protocol implemented in pure Haskell (layout of protocol packets obtained from Xlib header files preprocessed by HSFFIG). As of now, I can open a display, build request packets manually and parse server responses (some of, but this is just a matter of writing more parsers), so this is more like a toolset for X11 protocol packets manipulations. I do not intend to implement a full analog of Xlib in Haskell. Instead, it might be interesting to create a "fully functional" GUI toolkit based on some already existing high-level interface.
Any ideas will be appreciated.
Are you aware of the XCB library: http://xcb.freedesktop.org/ It's a more modern client side X11 library. In particular they have a good infrastructure for describing the X11 protocol packets using XML. They use that to generate code in various languages for dealing with those packets. XCB is supposed to be simpler and more regular than Xlib and with less historical cruft. It is also supposed to support multiple threads properly (which is nearly impossible with Xlib). Indeed they mention that Haskell would be an obvious target for this: http://xcb.freedesktop.org/wiki/XCBToDo (see bottom of that page: "XCB for other languages") Duncan