Commonly known simply as Alice, Alice ML is part of the ML family of programming languages. Designed by the Programming Systems Laboratory in Germany, it is a dialect of Standard ML.
Alice extends SML with support for lazy evaluation, concurrency, and constraint programming.
Concurrency features are part of the base language in Alice, using a future type that represents a value provided by an independent thread of execution. A thread using a future value will block on an attempt to access the value until the thread performing it has completed the computation. Also included is a related concept known as a promise, which allows a thread to provide a future value that it will compute to another thread. Both future and promise typed variables are used to implement data-flow synchronization.
Similar to Haskell, another functional language, Alice allows for a lazy evaluation strategy in programs, which the eager evaluation strategy of SMLl does not do. However, Alice uses the eager evaluation model by default, requiring an explicit programming statement for computation to evaluate lazily, while Haskell uses the lazy model by default.
The Alice implementation from Saarland University uses the Simple Extensible Abstract Machine (SEAM). Licensed under the MIT License, it is free software that features just-in-time compilation to bytecode and native code. Earlier versions of Alice ran on the Mozart Programming System (Oz) virtual machine, allowing interfacing between Alice and Oz code.
The focal point of this category is on the Alice ML programming language. Websites featuring any implementations of the language, as well as any IDEs, editors, or other tools designed specifically for programming in Alice are appropriate for this category, along with tutorials, guides, user groups, or forums.
 
 
Recommended Resources
Saarland University Informatics Programming Systems presents an overview of the Alice ML programming language, based on Standard ML but extended with support for concurrent, distributed, and constraint programming, adding several features which are defined here. Several open-source programming tools and other resources developed for use with the language are also featured, along with a full manual and tutorial. Licensure information and downloads are also available.
http://www.ps.uni-saarland.de/alice/
Alice ML is a functional programming language based on Standard ML and extended with support for concurrent, distributed, and constraint programming, as well as several other added features, which are highlighted here. GitHub hosts the program files and documentation. Suggestions for building on Linux and Max OS X are given, along with information about its source code. Contributors are acknowledged, and development and version notes are included.
https://github.com/aliceml/aliceml/
Alice ML is a functional programming language, like all of the ML family of languages, but adding extensive support for type-safe programming of concurrent, distributed, and open systems, as well as a constraint technology similar to Oz/Mozart. Licensed through BSD Revised, it is available as a free download from SourceForge, supporting the Mac OS X, Windows, POSIX, and Linux platforms. Projects may be browsed by tag, and release notes are posted.
http://freshmeat.sourceforge.net/projects/aliceml/