The Jazz home page


What is Jazz?

Jazz is a high-level programming language for expressing, in a concise and accurate way, large digital synchronous circuits. From a language-designer perspective, Jazz is a declarative, single-assignment, higher-order, lazy, functional, and object-oriented language with parameterized types and multi-methods.

Jazz is strongly-typed (with a type-system derived from ML-sub) and supports both the explicit and implicit declaration of variables and methods thanks to a powerful constraint-based type-inference algorithm. The syntax of Jazz and its object model are Java-like and should look familiar to any Java programmer.

Jazz is currently being implemented by Alexandre Frey in cooperation with Gérard Berry, Patrice Bertin, and François Bourdoncle (CMA, École des Mines de Paris), and Jean Vuillemin (DMI, École Normale Supérieure).

Important notice: the language is not finalized yet, and lacks any form of documentation. Try it at your own risks!

Useful Jazz links

Sample Jazz programs
(use the links in the source code to navigate)

Useful packages


The Jazz system is written in Java and is compiled using the TowerJ compiler from

François Bourdoncle, $Date: 1998/12/16 15:09:49 $.