Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
effectcaps [2014/05/23 20:12] – ifiguero | effectcaps [2015/03/13 19:31] (current) – ifiguero | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Effect Capabilities in Haskell ====== | ====== Effect Capabilities in Haskell ====== | ||
+ | |||
+ | ===== Submitted to Special Issue of Science of Computer Programming ===== | ||
==== Abstract ==== | ==== Abstract ==== | ||
Line 17: | Line 19: | ||
to establish a way to statically share capabilities between modules, | to establish a way to statically share capabilities between modules, | ||
as well as to check proper access permissions to effects at compile | as well as to check proper access permissions to effects at compile | ||
- | time. We exemplify how to tame effect interferences using effect | + | time. We first exemplify how to tame effect interferences using |
- | capabilities, by treating state and exceptions. | + | effect |
- | + | on taming I/O by proposing a fine-grained lattice of I/O permissions | |
- | ====== Downloading ====== | + | based on the current classification of its operations. Finally, we |
- | The Haskell implementation of Effect Capabilities | + | show that integrating effect capabilities with modern tag-based |
- | + | monadic mechanisms provides a practical, modular and safe mechanism | |
- | The code was tested in the [[http:// | + | for monadic programming in Haskell. |
- | + | | |
- | ====== Examples ====== | + | ==== Implementation and Examples |
- | Examples from the paper are included in the implementation. | + | The Haskell implementation of Effect Capabilities |
====== Authors ====== | ====== Authors ====== |