I've noticed more and more recently all of the Haskell code I see uses these language extensions at the beginning of every file. Some of them do pretty radical stuff; it seems pretty intimidating that to write an HTTP API-wrapper you need 5 extensions to the language. Is there a process by which these extensions get fully added into the language proper?
As a heavy user of Haskell professionally and personally, I think you are a great person if you write a binding to a C library. Any C library. So long as you do a reasonably thorough job. Covering the entire surface area of the library is fantastic.<p>The barest of C bindings, too. A minimal wrapper for memory management is a much better binding than one that hides the raw API behind an abstraction that may or may not be suitable for every use.