Alms is a 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.
Alms was last released in 2012. It requires a particular version of GHC 7 to build, and I'm not planning to update it for newer GHCs. This image contains an Ubuntu 14.04 system with GHC 7.6.3 and Alms 0.6.9, the (probable) final release. There should be an
alms executable in the current working directory (
/alms) when it starts, so you can run it with
Also see examples in the
For more information about Alms, see http://users.eecs.northwestern.edu/~jesse/pubs/alms/.