
15 Oct
2010
15 Oct
'10
12:09 p.m.
* 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.