
Hello Haskell, I'd like to announce a very small library in two flavors. The problem I'm trying to solve is that we have some capabilities for writing functions which are polymorphic over monad but still use IO capabilities - liftIO :: (IO a -> m a) from the packages transformers and mtl. The packages[1,2] MonadCatchIO offer similar polymorphism for the exception capabilities of the IO monad. The package MonadCatchIO-foreign offers similar polymorphism for the following functions: alloca, allocaBytes, allocaArray, allocaArray0 and withForeignPtr. It's a small thing, but I don't see why it should be written twice. Links on hackage: http://hackage.haskell.org/package/MonadCatchIO-mtl-foreign http://hackage.haskell.org/package/MonadCatchIO-transformers-foreign GitHub link: http://github.com/aslatter/MonadCatchIO-foreign Feedback, praise and adulation welcome. Antoine