The Pizza Compiler

The Pizza language is an extension to Java with three new features:
- Generics (aka Parametric polymorphism)
- Function pointers (aka First-class functions)
- Class cases and pattern matching (aka Algebraic types)

Pizza quickstart




The shortest way to write and compile a Pizza program successfully

Install a Java run-time environment

You'll find Java run-time environments (JREs) e.g. on Sun Microsystem's site. The Pizza compiler is known to work with the Java 2 Runtime Environment, Standard Edition, version 1.3.1.
Download and install the JRE.
To verify your installation run java -version. This should say something like
java version "1.3.1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1-b24)
Java HotSpot(TM) Client VM (build 1.3.1-b24, mixed mode)

Download the latest Pizza release

Pizza distributions are found at You can simply download the binary release which is called something like pizza-x.x.jar. Put the jar file where you think is a good place to install programs. On Microsoft Windows you might want to use C:\Java\Pizza\. For Unix platforms /usr/local/pizza/ might be the place for it. We'll refer to the place where you installed it as $PIZZA_HOME.
To verify your Pizza installation run java -jar $PIZZA_HOME/pizza-x.x.jar -version. This should say something like
Pizza v1.0g, 1-October-2001, Copyright (c) 1996-98 Martin Odersky.
further information at
Whenever you want to run the Pizza compiler, you'll use java -jar $PIZZA_HOME/pizza-x.x.jar and add any parameters to it.

Writing a Pizza program

From here you might want to go on to the Pizza tutorial which explains how to use the Pizza specific features in the language.


If it doesn't work out this easily, you can contact of the Pizza compiler's users' mailing list.