Java VM上で動く関数型言語

http://scala.epfl.ch/
まず、Scala。これは、Java VM上と.NET上で動作する、オブジェクト指向と関数型の2つの特徴を持った言語です。また、XMLをネイティブに取り扱うこともできます。scalaの文法は、Javaの文法とは見た目から違います。scalaというコマンドを使って実行しますが、これは、内部で、javaを適当なオプションをつけて呼び出しているそうです。ですので、ソースコードレベルでは違ってもバイトコードレベルではJavaとして実行できるということです。Scalaは、現在も活発に開発が進められていて、最新のVersion 1.4.0.0は、2005/6/20に公開されています。
http://pizzacompiler.sourceforge.net/
続いて、Pizza。これは、Javaの文法に関数型の拡張を施したような言語です。scalaとは違い、Javaの文法に見た目もよく似ています。Concurrent Cleanの池田さんのサイトでも紹介されている言語です。しかし、残念ながら、2002年以降は開発が中断しているようです。しかし、Pizzaの後継となるGJ(Generic Java)という言語が、総称クラスというJava5.0での機能拡張へと進化したようです。ただし、これは、関数型言語というよりも、その中のごく一部の総称型という機能のみを取り入れただけのものです。
(参考:豆蔵:Java GenericsとC++ templateとの比較