scoped-codensity: CPS resource allocation but as a Monad and completely safe

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]

This implements a Monad just like Codensity from the `kan-extensions` package, but it uses a skolem trap just like the `ST s` monad to track resources allocated in the monad. The package wraps around different "scoped" resources that cannot escape a scoped block and are safely deallocated when the block is left.


[Skip to Readme]

Properties

Versions 0.1.0.0
Change log CHANGELOG.md
Dependencies async (<2.3), base (<5), temporary (<1.4), text (<2.2), transformers (<0.7), unliftio (<0.3) [details]
License AGPL-3.0-or-later
Author mangoiv
Maintainer contact@mangoiv.com
Category Control
Home page https://git.mangoiv.com/mangoiv/scoped-codensity
Uploaded by mangoiv at 2024-11-11T20:47:34Z

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Readme for scoped-codensity-0.1.0.0

[back to package description]

ci hackage

scoped-codensity

This implements a Monad just like Codensity from the kan-extensions package, but it uses a skolem trap just like the ST s monad to track resources allocated in the monad.

The package wraps around different "scoped" resources that cannot escape a scoped block and are safely deallocated when the block is left.