
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...
Prefixing uppercase with underscore seems wrong; some people think we should have "caseless underscore". Is simply lowercasing the first letter a bad policy?
No. As long as it is a policy. If I get feedback, anything can be changed.
"All foreign functions are declared safe. Also, they should all result in a System.IO.IO, even when they are supposed to be effect-free."
This may be insufficient for some speed purposes: probably we'll just wait and see.
Yes, maybe I'm beeing paranoid here. There are many ways in which exceptions can be safely accepted.
class Bindings.Utilities.Callback confuses me. Do you have an example where it's used/needed?
The point here was just to avoid a complicated policy on callback names. To see an example, check the C code in the botton of the page below: http://sqlite.org/quickstart.html There's a corresponding file named '5minutes.hs' in the distribution where a callback type is used. Maybe a different policy on how to type and use callbacks could be done.
(...) For binding to fancier languages such as Python (even if we had the technology to do so), some further design decisions might have to be made.
Sure. Thanks for your thoughts! Maurício