alms-0.4.11: alms.cabal
Name: alms
Version: 0.4.11
Copyright: 2010, Jesse A. Tov
Cabal-Version: >= 1.8
License: BSD3
License-File: LICENSE
Stability: experimental
Author: Jesse A. Tov <tov@ccs.neu.edu>
Maintainer: tov@ccs.neu.edu
Homepage: http://www.ccs.neu.edu/~tov/pubs/alms
Category: Compilers/Interpreters
Synopsis: a practical affine language
Build-type: Simple
Data-files: lib/*.alms examples/*.alms examples/*.sh
examples/*.in examples/*.out
README Makefile
Description:
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.
Flag editline
Description: Enable line editing using the editline package
Default: True
Flag readline
Description: Enable line editing using the readline package
Default: False
Executable alms
Main-Is: Main.hs
Hs-Source-Dirs: src
GHC-Options: -O3
CPP-Options: -DALMS_CABAL_BUILD
Build-Depends: haskell98,
base == 4.*,
syb >= 0.1,
pretty >= 1,
containers >= 0.1,
parsec == 2.*,
mtl >= 1.1,
filepath >= 1.1,
network >= 2.2,
directory >= 1.0,
template-haskell >= 2.0,
QuickCheck >= 2,
HUnit >= 1.2,
random >= 1,
array >= 0.3
Other-Modules: Basis,
Basis.Array,
Basis.Channel,
Basis.Channel.Haskell,
Basis.Exn,
Basis.Future,
Basis.IO,
Basis.MVar,
Basis.Socket,
Basis.Thread,
BasisUtils,
Coercion,
Dynamics,
Env,
ErrorMessage,
ErrorST,
Lexer,
Loc,
Message.AST,
Message.Parser,
Message.Quasi,
Message.Render,
Meta.DeriveNotable,
Meta.FileString,
Meta.Quasi,
Meta.QuoteData,
Meta.THHelpers,
PDNF,
Parser,
Paths,
Ppr,
PprClass,
Prec,
PrettyPrint,
Rename,
Sigma,
Statics,
Syntax,
Syntax.Anti,
Syntax.Decl,
Syntax.Expr,
Syntax.Ident,
Syntax.Kind,
Syntax.Lit,
Syntax.Notable,
Syntax.POClass,
Syntax.Patt,
Syntax.SyntaxTable,
Syntax.Type,
Token,
Type,
TypeRel,
Util,
Value,
Viewable
if flag(readline)
Build-Depends: readline >= 1.0
CPP-Options: -DUSE_READLINE=System.Console.Readline
else
if flag(editline)
Build-Depends: editline >= 0.2.1
CPP-Options: -DUSE_READLINE=System.Console.Editline.Readline