On Wed, 2008-08-06 at 18:21 +0200, Johan Tibell wrote: > On Wed, Aug 6, 2008 at 5:44 PM, Jules Bean <[EMAIL PROTECTED]> wrote: > > Johan Tibell wrote: > >> You probably knew this already but there's nothing in the "with idiom" > >> that prevents the resource to escape. > > > > And, it doesn't always matter. Some withs are more unsafe that others :) > > > > if the 'with' constructs a nice ordinary heap allocated haskell structure > > from the external resource then it may not matter one jot if it escapes: it > > may be out-of-date, perhaps, but still a useful data value. > > I'm sure you're right but at the moment I can't really think of any > such structure. Perhaps you could give an example? Why would you need > the "with" in the first place for such a structure?
http://www.haskell.org/ghc/docs/latest/html/libraries/base/Control-Concurrent-MVar.html withMVar :: MVar a -> (a -> IO b) -> IO b (useful for synchronization, among other things). modifyMVar :: MVar a -> (a -> IO (a, b)) -> IO b although that isn't quite within the boundaries of what `bracket' can do. jcc _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
