neumann@margaux.inria.fr (Pierre-Louis Neumann) (03/29/90)
This is an announcement of the newly available CAML version V2-6.1. CAML is a strongly typed, polymorphic and fully functional language developed by the Formel Project at INRIA since 1984: it is now a reliable and tested implementation with many librairies and user contributed software available. CAML is a high level symbolic programming language, especially suited for fast prototyping and educational purposes. It has been successfully used to develop the whole CAML system itself, several compilers, a proof assistant and theorem prover (the Calculus of Constructions), the SAM metacompiler, and the SPOCK expert system generator, among others. CAML has unique features such as complete integration of lazy and strict evaluation, powerful macro facilities including user-defined parsers, safe side-effects on records, vectors and mutable values. Security and user-friendliness are provided by a type-synthesiser, an interactive toplevel environment, and debugging tools including a complete trace package. The comprehensive documentation consists in 3 volumes: A Primer introduction (80 pages) A Reference Manual (470 pages) An Interfaces Manual (40 pages) The new version runs on a variety of architectures, including: -- SUN3 -- SUN4 -- Dec 3100 -- Sony News -- Apollo -- Vax The new version is fully compatible with previous versions of CAML and includes many new features: -- A completely integrated parser generator allowing user-defined syntaxes: the new ``grammar'' construct introduces a grammar declaration which is statically typechecked and then compiled to produce a very efficient parser. -- A simple and powerful pretty-printing facility has been designed. -- Records (product types) have been added to the language. -- Completely general mutable values may be defined and mutation is statically verified by the typechecker (thus records may be physically updated). -- The standard evaluation regime is call by value. However, the user may define data structures with lazy evaluation, controlled by annotations. This allows the definition of potentially infinite data structures such as streams. -- Dynamic types allows the definition of persistent values, which may be stored in permanent storage. Distribution cost is $300 for educational and research purposes. Site licenses for industry are also available. CAML is available from ILOG, 2 Avenue Gallieni 94250 Gentilly France Electronic mail : chenetie@ilog.fr Phone: (33 1) 46 63 66 66 Fax: (33 1) 46 63 15 82