
Hi, http://hackage.haskell.org/cgi-bin/hackage-scripts/package/bindings This is a package aimed at library writers, not to the everyday Haskell programmer. This the beggining of my goal to create a set of packages like: bindings-common bindings-sqlite3 bindings-openusb bindings-gsl bindings-yourFavoriteLibrary Those are not going to be Haskell style bindings. Instead, what I want is to create a set of low level bindings to the best libraries available, so that if you want to write your Haskell wrap to a foreign library using the latest Haskell features, you can do that relying on low level bindings that are comprehensive, well tested and well behaved, and with all problems regarding building and portability already solved in the best way the community was able to do. Beneficts you get by using it: - If 10 people are trying to write modules over, say, 'gsl', all of then will help contribute with bug-hunting and thoughts to the common package 'bindings-gsl'. - Use your time to write cool experiences with GADTs and Template Haskell. Leave the boring low level stuff to 'bindings-*'. - HUnit tests can be created to all bindings. If you suggest one in a ticket, and it does hold, it will be added to a test package. If you know library 'foo' very well, you won't need to read the documentation for 'bindings-foo'. A set of guidelines ensure that all these low-level bindings can be used after the original library documentation. If you know the guidelines and you know 'foo', you can use 'bindings-foo' after reading in the worst case just a few comments. These guidelines, actually, are community driven. You can find the current set here: http://hackage.haskell.org/packages/archive/bindings/0.1/doc/html/Bindings.h... If you want changes or features, just open a ticket at package home: http://bitbucket.org/mauricio/bindings What I really need now is help from libraries experts. If you know your favorite library very well (specially its build process and compile time options) and are willing to answer a few questions on how it works, I'll add a binding to it. This package is a byproduct of professional, paid work. If it achieves some success, it will be maintained in the long term and, if something important depends on it, I'm willing to give maintenance to someone better than me. Best, Maurício