Pict is a language in the ML tradition, formed by adding a layer of
convenient syntactic sugar and a static type system to a tiny
core. The current release includes a Pict-to-C compiler, reference
manual, language tutorial, numerous libraries, and example programs.
The core language - an asynchronous variant of Milner, Parrow, and
Walker's pi-calculus - has been used as a theoretical foundation for a
broad class of concurrent computations. The goal in Pict is to
identify high-level idioms that arise naturally when these primitives
are used to build working programs - idioms such as basic data
structures, protocols for returning results, higher-order programming,
selective communication, and concurrent objects. The type system
integrates a number of features found in recent work on theoretical
foundations for typed object-oriented languages: higher-order
polymorphism, simple recursive types, subtyping, and a powerful
partial type inference algorithm.