Tutorial of Oz

Seif Haridi and Nils Franzén

This tutorial introduces the Oz programming language and the Mozart programming system. Oz is a multi-paradigm language that is designed for advanced, concurrent, networked, soft real-time, and reactive applications. Oz provides the salient features of object-oriented programming including state, abstract data types, objects, classes, and inheritance. It provides the salient features of functional programming including compositional syntax, first-class procedures/functions, and lexical scoping. It provides the salient features of logic programming and constraint programming including logic variables, constraints, disjunction constructs, and programmable search mechanisms. It allows users to dynamically create any number of sequential threads. The threads are dataflow threads in the sense that a thread executing an operation will suspend until all operands needed have a well-defined value.

The tutorial covers most of the concepts of Oz in an informal way. It is suitable as first reading for programmers who want to be able to quickly start writing programs without any particular theoretical background. The document is deliberately informal and thus complements other Oz documentation.

The Mozart programming system has been developed by researchers from DFKI (the German Research Center for Artificial Intelligence), SICS (the Swedish Institute of Computer Science), the University of the Saarland, UCL (the Université catholique de Louvain), and others.




merging nodes: see unification (4 Equality and the Equality Test Operator)


nesting: 5.7 Nesting
marker: 5.7 Nesting


incremental: see unification (4 Equality and the Equality Test Operator)


unification: 4 Equality and the Equality Test Operator

Seif Haridi and Nils Franzén
Version 1.4.0 (20080702)