[Haskell-cafe] ANNOUNCE: X Haskell Bindings

Folks, I'd like to announce a preview-release of the X Haskell Bindings. The goal of the library is to provide low-level access to the X11 protocol, in the spirit of the X C Bindings This is a "preview" because I expect that the interface will still need to change - but I do plan on bump the minor-version number when that happens. On Hackage: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/xhb What works: All X protocol requests have corresponding functions. I haven't tested all of them. Requests are sent asynchronously - the caller is not blocked until they need to examine the result of the request Errors and Events are unpacked into Haskell data types It should be safe to use the same connection in multiple threads What needs improvement: * There's no documentation - you pretty much need to be sitting down with the X Protocol reference while using this library. Once we can get documentation into the XML that this library is generated from, we should be able to generate Haddock documentation at the same time * A lot of parameters are specified using integer types, even though a proper Haskell enum-like data type exists. * Many functions take a ValueParam argument, which is not fun to work with in a language like Haskell. I have plans for how to make these more type-safe, but this is something else that requires more information in the XML protocol descriptions. * There's no way to share a connection between XHB and libraries built against the Xlib bindings. * I haven't done any benchmarking, so it's possible that all of this is pretty slow. Keep in mind that this is a library for the X Protocol - it alone is not a replacement for XLib - XLib does a lot more than pushing and pulling on a file-handle. Related releases: Spencer Janssen has released FFI bindings to Xauth: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Xauth-0.1 I've released a small library for determining the byte-ordering of the system: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/byteorder-1.0.0 Related projects: X C Bindings: http://xcb.freedesktop.org/ -Antoine