The alms package

[Tags: bsd3, program]

Alms is an experimental, general-purpose programming language that supports practical affine types. To offer the expressiveness of Girard’s linear logic while keeping the type system light and convenient, Alms uses expressive kinds that minimize notation while maximizing polymorphism between affine and unlimited types. A key feature of Alms is the ability to introduce abstract affine types via ML-style signature ascription. In Alms, an interface can impose stiffer resource usage restrictions than the principal usage restrictions of its implementation. This form of sealing allows the type system to naturally and directly express a variety of resource management protocols from special-purpose type systems.


Properties

Versions0.4.9, 0.4.9.1, 0.4.10, 0.4.11, 0.4.12, 0.5.0, 0.6.0, 0.6.1, 0.6.2, 0.6.3, 0.6.5
Dependenciesarray (>=0.3), base (==4.*), containers (>=0.1), directory (>=1.0), fgl (>=5), filepath (>=1.1), HUnit (>=1.2), incremental-sat-solver (>=0.1.7), mtl (>=1.1), network (>=2.2), parsec (==2.*), pretty (>=1), QuickCheck (>=2), random (>=1), stm (>=2.0), syb (>=0.1), template-haskell (>=2.0), transformers (>=0.2), tuple (>=0.2) or
array (>=0.3), base (==4.*), containers (>=0.1), directory (>=1.0), fgl (>=5), filepath (>=1.1), HUnit (>=1.2), incremental-sat-solver (>=0.1.7), mtl (>=1.1), network (>=2.2), parsec (==3.*), pretty (>=1), QuickCheck (>=2), random (>=1), stm (>=2.0), syb (>=0.1), template-haskell (>=2.0), transformers (>=0.2), tuple (>=0.2)
LicenseBSD3
Copyright2011, Jesse A. Tov
AuthorJesse A. Tov <tov@ccs.neu.edu>
Maintainertov@ccs.neu.edu
Stabilityexperimental
CategoryCompilers/Interpreters
Home pagehttp://www.ccs.neu.edu/~tov/pubs/alms
Source repositoryhead: git clone git://github.com/tov/alms.git
Executablesalms
Upload dateThu Aug 30 13:03:40 UTC 2012
Uploaded byJesseTov
Downloads989 total (64 in last 30 days)

Flags

NameDescriptionDefault
unicodeUse Unicode symbols for pretty-printingEnabled
editlineEnable line editing using the editline packageEnabled
parsec3Use version 3 of the parsec packageEnabled
readlineEnable line editing using the readline packageDisabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainers' corner

For package maintainers and hackage trustees