Alice ML is a concurrent, distributed programming language that is based on Standard ML and is functional in nature.
Key features of the Alice ML programming language include Futures, Higher-order modules, Packages, Pickling, Components, Distribution, and Constraints. Futures offer laziness and light-weight concurrency with data-flow synchronization, while higher-order modules provide higher-order functors and abstract signatures. Packages in the Alice ML language integrate static with dynamic typing and first-class modules, and pickling offers higher-order type-safe, generic, and platform-independent persistence. Dynamic loading of modules is made possible through components, and distribution allows for type-safe cross-platform remote functions and network mobility. Combining all these features, Alice ML can solve combinatorial problems using constraint propagation and programmable search.
The Alice System is an open-source programming system that includes a range of tools to enhance development efforts. The system features a portable VM with support for just-in-time compilation, an interpreter-like interactive toplevel, separate compilation using a batch compiler, and type-safe bundling of components using a static linker. Additionally, the system includes an inspector tool for interactively inspecting data structures and an explorer tool for investigating search problems.
Alice ML also offers bindings for the Gnome toolkit GUI library (Gtk+) and provides libraries for accessing SQL databases and parsing XML documents.
In the latest release of Alice, the programming language incorporates some of the proposed extensions for Successor ML, and the bytecode jitter is now the default execution unit. The documentation now includes a constraint programming tutorial, and the constraint library uses the current stable version of Gecode.
Overall, Alice ML is an excellent programming language with an array of features that make it suitable for a range of applications, including concurrent, distributed, and constraint programming. The Alice System offers a suite of tools and libraries, making it an excellent choice for developers who desire a comprehensive programming environment.
Version 1.3: N/A