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's basic FAQ




Is Pizza fully compatible with Java?
Are there Java programs which Pizza does not accept?

  Pizza is intended to be a superset of Java. Every valid Java program is also a valid Pizza program, and behaves the same way under both languages. The Pizza compiler tries to implement the full Pizza (and, by extension, Java) standard, but we of course we cannot give a guarantee for its complete accuracy.

Can Pizza binaries be used as applets?

  Yes. The Pizza compiler generates code that passes the Java verifier. The code should run with every standard Java VM.
Where can I get a reference to Pizza's extensions of Java?   See the documentation page, which lists a number of information sources.

Where is Pizza heading?
Does Sun know about/support the Pizza project?

  The Pizza project came back to life in August 2001. The first goal was to make it compatible with the latest Java version (1.3).
Pizza was followed by the GJ project, which does well trying to get Generics into the Java language (scheduled for Java 1.5 in 2003).