
There's already three client libraries:
http://hackage.haskell.org/package/dbus-client
http://hackage.haskell.org/package/network-dbus
http://hackage.haskell.org/package/DBus
Perhaps there is some confusion? The D-Bus server, or "bus", is a
service which allows many-to-many communication between clients. You
do not need an implementation of the server in Haskell to use D-Bus in
Haskell applications, and (to my knowledge) there is no API for the
reference server.
On Tue, Jan 5, 2010 at 10:19, Maciej Piechotka
On Tue, 2010-01-05 at 09:37 -0800, John Millikin wrote:
Why would you want to?
Any conforming D-Bus client can connect to any conforming D-Bus server, so there's no particular advantage to having the same language on both ends of the connection. Additionally, there's a lot of fiddly low-level details (memory management, OS integration) which are difficult to implement in Haskell but relatively easy in C. The reference implementation of D-Bus has had an awful amount of work poured into making it stable and usable even in the face of external errors, such as out of memory -- replicating that work, in any language would be a pain.
That isn't a rhetorical question, by the way -- I've written mostly-complete implementation of the client libraries, and intend to write a server at some point. But without a clear reason to write the server, it's just languishing on the TODO list. If you have any use for a Haskell D-Bus server which can't be served by the reference implementation, I'd be glad to hear it.
Ok. I'll look on it. Maybe then I'll post the bindings (with some template haskell or similar) to hackage. The client have already established API (in terms of DBus) and is not in Haskell.
Regards