Pizza Language

The Pizza people describe it as:

Pizza is an extension of Java [Java Language] with three important new features.

Parametric polymorphism. Although superficially similar to C++'s templates, this implementation is based on the Hindley Milner typing systems of ML [Ml Language] and Haskell [Haskell Language].

First-class functions. Similar to the blocks of Smalltalk, functions and procedures may be passed as parameters, stored in variables and returned from methods.

Class cases and pattern matching. Pizza includes support for visitor-style patterns directly in the language, allowing much more expressive and readable code.



See original on c2.com