The Capabilities package

[Tags: bsd3, library]

The capabilities library is an effort to make effects in Haskell more explicit by breaking the monolithic IO monad into smaller composable parts called capabilities: a use case might be an action that needs logging with current time but which should not be allowed any other IO. This exists as a pleasant middle ground between pure functions, the ST monad and the kitchen-sink IO providing a more fine-grained approach to effectful computations. Another benefit to this approach is security where a computation should only have access to resources requires to complete its job (principle of least privilege).

The implementation of the idea is based on Wouter Swierstra's Functional Pearl Data types a la carte (Journal of Functional Programming, 18(4):423-436, 2008, http://dx.doi.org/10.1017/S0956796808006758) and uses the compdata package for compositional data types.


Properties

Version0.1.0.0
Dependenciesbase (==4.5.*), compdata (==0.6.*), directory (==1.1.*), free (==3.4.*), unix (==2.5.*)
LicenseBSD3
AuthorBaldur Blöndal, Daniel Schoepe
Maintainerbaldur@student.chalmers.se, daniel@schoepe.org
CategorySecurity, Generics
Home pagehttps://github.com/Icelandjack/Capabilities
Source repositoryhead: git clone git://github.com/IcelandJack/Capabilties.git
Upload dateThu Aug 8 09:31:24 UTC 2013
Uploaded byBaldurBlondal
Downloads146 total (15 in last 30 days)

Modules

Downloads

Maintainers' corner

For package maintainers and hackage trustees