[Haskell-cafe] ANNOUNCE: usb-0.3

Bas van Dijk v.dijk.bas at gmail.com
Wed Dec 9 08:35:27 EST 2009


I made a new release of my usb library for high-level communication
with usb devices from Haskell. See:


I made the following changes compared to the previous

- Moved the enumeration of usb devices in its own module: System.USB.Enumeration

- Moved the device descriptor inside the device type so that you can
retrieve it without doing IO, e.g: deviceDesc :: Device -> DeviceDesc

- Moved the configuration descriptors inside the device descriptor so
you can retrieve them without doing IO, e.g: deviceConfigs ::
DeviceDesc -> [ConfigDesc]

- Implemented standard device requests that are missing from libusb.

- Made the timeout of I/O operations explicit. Now all I/O operations
return an additional Bool that indicates if the operation has timed
out. If an operation timed out does not mean there is no result, it
just means that the result may be incomplete.

- Added experimental (and still untested) support for iteratees for
doing predictable, high-performance, safe, and elegant input
processing using the iteratee package. See module:

- Fixed some asynchronous exception related bugs (put a needed
bracket, block and unblock here and there).

- Finally some functions, constructors and types got renamed,
documentation got updated and extended and some refactoring has taken

As always: questions, comments and patches are more than welcome.

darcs get http://code.haskell.org/~basvandijk/code/usb



More information about the Haskell-Cafe mailing list