Flexible manual resource management.
The lifetimes package provides support for manual resource management, in a way that is more flexible than what is provided by resourcet
or bracket
.
Like resourcet
, this package allows releasing acquired resources early. In addition, it also provides move semantics: resources can be moved to a different lifetime after they are acquired. Lifetimes are first class values, which can themselves be acquired as resources, allowing for heirarchical management as well.
Haskell library for flexible RAII-style resource management.
This package provides a superset of the functionality supported by resourcet; in addition to allowing for early early release, it also provides move semantics: lifetimes are first class values and hierarchical, and resources can be moved between them after allocation.