lifetimes: Flexible manual resource management

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]


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.

[Skip to Readme]


Change log
Dependencies base (>=4.12 && <5), containers (>=0.6.2 && <0.7), monad-stm (>=0.1 && <0.2), stm (>=2.5 && <2.6), transformers (>=0.5.6 && <0.6), zenhack-prelude (>=0.1 && <0.2) [details]
License Apache-2.0
Copyright 2021 Ian Denhardt
Author Ian Denhardt
Home page
Source repo head: git clone -b main
Uploaded by isd at 2021-02-05T16:29:04Z


[Index] [Quick Jump]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Readme for lifetimes-

[back to package description]

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.