[Haskell-cafe] Bulletproof resource management

Antoine Latter aslatter at gmail.com
Fri Oct 15 14:17:36 EDT 2010


On Fri, Oct 15, 2010 at 11:09 AM, Florian Weimer <fw at deneb.enyo.de> wrote:
> * Henning Thielemann:
>
>> Some open/close pairs have corresponding 'with' functions, that are
>> implemented using Exception.bracket. You can also use them within
>> GHCi. I think using both manual resource deallocation and finalizers
>> makes everything more complicated and more unreliable.
>
> It seems that Exception.bracket does not work in all cases, see the
> recent "MonadCatchIO, finally and the error monad" thread.
>
> Anyway, the ability of closures (and threads) means that something
> like Exception.bracket does not prevent access to closed handles, so
> I still need an additional safety net.

That thread is for the function "bracket" provided by the package
MonadCatchIO. Control.Exception.bracket should work fine as far as I
know.

Antoine


More information about the Haskell-Cafe mailing list