4 Aug 2009 16:11
Re: memory management
Sigbjorn Finne <sigbjorn.finne <at> gmail.com>
2009-08-04 14:11:09 GMT
2009-08-04 14:11:09 GMT
Hi, staying in the realm of the explicit and pragmatic, various libraries in Haskell do provide safe&explicit region/alloca/stack allocation actions, e.g., Foreign.Marshal.Alloc.allocaBytes :: Int -> (Ptr a -> IO b) -> IO b with the promise that the pointer doesn't escape here (you could constrain this using the type system, if you so wish..) I don't know if the GHC RTS still(?) provides hooks for allocating "alloca" objects specially. There's been some work on monadic regions too; worth looking at. hth --sigbjorn On 8/4/2009 15:49, Simon Marlow wrote: > On 04/08/2009 13:33, Sam Martin wrote: >>> Sounds like region inference to me. >>> (https://secure.wikimedia.org/wikipedia/en/wiki/Region_inference) >> >> Thanks, yes, that's exactly what I had in mind. >> >> Is anything like this is done in GHC? > > Not at the moment, no. > > Bear in mind that with generational GC, allocating memory that quickly > becomes garbage is quite cheap. > > Cheers, > Simon >
RSS Feed