-
Notifications
You must be signed in to change notification settings - Fork 1
/
Capabilities.cabal
47 lines (42 loc) · 1.97 KB
/
Capabilities.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
-- Initial Capabilities.cabal generated by cabal init. For further
-- documentation, see http://haskell.org/cabal/users-guide/
name: Capabilities
version: 0.1.0.0
synopsis: Separate and contain effects of IO monad.
category: Security, Generics
description:
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.
homepage: https://github.com/Icelandjack/Capabilities
license: BSD3
license-file: LICENSE
author: Baldur Blöndal, Daniel Schoepe
maintainer: [email protected], [email protected]
tested-with: GHC ==7.4.1
-- copyright:
-- category:
build-type: Simple
cabal-version: >=1.8
source-repository head
type: git
location: git://github.com/IcelandJack/Capabilties.git
library
exposed-modules: Capabilities, Capabilities.IO, Capabilities.Internals, System.Environment.Capabilities
-- other-modules:
build-depends: base ==4.5.*, unix ==2.5.*, directory ==1.1.*, free ==3.4.*, compdata ==0.6.*
hs-source-dirs: src
ghc-options: -Wall