Re: [Haskell-cafe] Handling exceptions or gracefully releasing resources

2013-01-30 Thread Felipe Almeida Lessa
Everything that Johan Tibell said + you may be interested in the resourcet package [1] (which is used by conduit to handle resources). Cheers, [1] http://hackage.haskell.org/package/resourcet On Tue, Jan 29, 2013 at 8:59 PM, Thiago Negri evoh...@gmail.com wrote: `Control.Exception.bracket` is

Re: [Haskell-cafe] Handling exceptions or gracefully releasing resources

2013-01-30 Thread Thiago Negri
Felipe, I'm trying to use your Hipmunk package. :) The resources I need to keep around are the objects used for the simulation. Do you recomend using resourcet to handle this or something else? Thanks. 2013/1/30 Felipe Almeida Lessa felipe.le...@gmail.com Everything that Johan Tibell said +

Re: [Haskell-cafe] Handling exceptions or gracefully releasing resources

2013-01-30 Thread Felipe Almeida Lessa
AFAIR, the only object that you need to be careful with is the Space [1], everything else is garbage collected. You could put the Space in a ResourceT, but only if it ran on its own thread (as soon as a block of ResourceT finishes, everything is deallocated, so you wouldn't be able to follow the

[Haskell-cafe] Handling exceptions or gracefully releasing resources

2013-01-29 Thread Thiago Negri
`Control.Exception.bracket` is a nice function to acquire and release a resource in a small context. But, how should I handle resources that are hold for a long time? Should I put `Control.Exception.finally` on every single line of my finalizers? What exceptions may occur on an IO operation?

Re: [Haskell-cafe] Handling exceptions or gracefully releasing resources

2013-01-29 Thread Johan Tibell
Hi, The pattern is essentially the same as in imperative languages; every allocation should involve a finally clause that deallocates the resource. On Tue, Jan 29, 2013 at 2:59 PM, Thiago Negri evoh...@gmail.com wrote: Should I put `Control.Exception.finally` on every single line of my