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 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