
Hi John, Very nice work! As it happens, Dafydd Harries and I wrote another native implementation of the D-Bus protocol, but yours is much more complete, and the documentation/commentary is ace. A refreshing change from the daily pain of libdbus and dbus-glib... :-) I'm looking at modifying Bustle (which draws sequence diagrams of D-Bus traffic; http://www.willthompson.co.uk/bustle/) to log raw D-Bus messages to a pcap file, rather than the current custom text format that includes just the information from the message the UI needs alongside a timestamp. Then the UI would read the pcap file, and feed the data through a D-Bus parser before processing it further. Now that there's a decent D-Bus implementation available, it seems like a good time to have a crack at this. However, I can't find a way to feed a bytestring to dbus-core and get back a ReceivedMessage. Is this deliberately not exposed? While it's obviously not useful in general, it would be very useful for Bustle. (The alternative is to construct a fake connection to myself and feed messages down it, I guess.) Also, the Haskell bit of Bustle is licensed under the LGPL (v2.1 or later), but dbus-{core,client} are under the GPL v3. Could you be convinced to reconsider the licensing of your packages? D-Bus is often used to allow free and non-free applications to play nicely together, letting free software be used in situations where it would otherwise be passed over; while I for one don't plan to write any non-free D-Bus applications in Haskell any time soon, it'd be nice not to write Haskell off for such applications. -- Will