# Mozart Documentation: Reference

## Programming Modules and Libraries

The Oz Base Environment

  documents all built-in modules of the system. These are part of the language definition and implement the basic operations on the values of the Oz universe. The base modules are typically organized by type, for example the `Record` module contains all operations on record values.

System Modules

  documents all library modules that are delivered with the system. They implement higher-level facilities and can be classified into six thematic collections: Application, Constraint, Distributed, Open, System, and Window Programming.

The Mozart Compiler

  documents the application programmer's interface to the compiler.

## Programming Environment and Tools

The Oz Programming Interface

  aka the OPI, is implemented as an Emacs package which permits convenient interactive sessions with a running Mozart system. It also provides `oz-mode`, with `font-lock` support, for editing files of Oz code.

Oz Shell Utilities

  documents the command line tools (compiler, linker, debugger, profiler) supplied with the system.

The Mozart Debugger

  aka `ozcar`, supports all the traditional features we have come to expect from debuggers, such as the ability to single step, to set break points, to inspect values, etc... Additionally it fully supports the debugging of concurrent programs with multiple threads; their concurrent behaviour can be observed and manipulated. Source code debugging is made available through the OPI with highlighting of the current source line.

Oz Explorer - Visual Constraint Programming Support

  The Explorer is a graphical and interactive tool to visualize and analyze search trees. It eases development and debugging of constraint based applications.

Oz Panel

  The Panel is a graphical tool to visualize and control the most important parameters of a running Mozart system.

The Oz Browser

  The Browser is a concurrent output tool for displaying information about the values of variables.

The Oz Inspector

  The Inspector is a graphical and interactive tool for displaying and examining Oz values. It combines fast display with powerful interactive in-place manipulation of datastructures.

The Mozart Profiler

  makes it possible to gather data about procedure calls, time spent, and memory allocation. Such information may reveal bottlenecks in your application which it may be worthwhile to optimize.

Gump - A Front-End Generator for Oz

  documents Gump, a front-end generator for Oz. Gump reads Oz files with embedded scanner or parser definitions and translates the definitions to Oz code.

## Interfaces

Constraint Extensions Reference

  explains abstractions provided to extend Mozart constraint capabilities.

Interfacing to C and C++

  describes the simple yet powerful interface to dynamically link native C and C++ code to Mozart.

## Definitions

The Oz Notation

  defines the Oz syntax and how Oz program text is transformed into Oz Core programs. Oz Core is a sublanguage of Oz designed to minimize syntactic complexity.

## Other

Limitations

  In general, Mozart has very few system limitations. The few remaining ones are described in this document.

Contributed Libraries, Add-ons

  describes contributed software packages that come with Mozart and packages that can be installed as add-ons to Mozart, respectively. Currently a regular expression and a gdbm (gnu database) contributed library are described. An example for an available add-on is the Mozart GTK binding.

Oz Documentation DTD

  describes the Oz documentation format.

Oz Distribution Subsystem

  describes how distribution in Mozart is realized and what features Mozart offers to deal with distribution.