  |
Ptolemy II - http://ptolemy.eecs.berkeley.edu/ptolemyII/index.htm
Set of Java packages supporting heterogeneous, concurrent modeling and design. [Open Source, BDL] |
  |
http://www.pmg.lcs.mit.edu/polyj/ - http://www.pmg.lcs.mit.edu/polyj/
Java with support for generic programming in the form of parameterized types. Provides constrained parametric polymorphism, with advantages over some other proposals for adding genericity to Java. [Open Source, GPL] |
  |
http://www.brics.dk/JWIG/ - http://www.brics.dk/JWIG/
Java extensions for high-level Web service development; Java-based high-level language to develop interactive Web services; merges main features of <bigwig> language into Java by providing explicit support for Web service sessions, safe XHTML dynamic document building. |
  |
The Java Modeling Language (JML) - http://www.eecs.ucf.edu/~leavens/JML/
A behavioral interface specification language that can be used to specify the behavior of Java modules. |
  |
http://pizzacompiler.sourceforge.net/ - http://pizzacompiler.sourceforge.net/
A variant of Java that adds parametric polymorphism, first-class functions, and class cases and pattern matching to the language. The compiler compiles into Java byte code so the binaries can be run on a normal JVM. [Freeware] |
  |
jContractor - http://jcontractor.sourceforge.net/
Supports Design By Contract in Java. Discovers "contracts" during class loading and instruments the class bytecodes on-the-fly to check run-time contract violations. [Apache Open Source Licence] |
  |
OpenJava - http://www.csg.is.titech.ac.jp/openjava/
Extensible language based on Java. A Metaobject Protocol (MOP) is the extension interface; lets programmers customize language to implement new language features, mechanisms. |
  |
Parameterized Types for Java - http://www.pmg.csail.mit.edu/papers/popl97/popl97.html
Technical paper reviewing PolyJ, an extension to Java allowing parameterized types. |
  |
Javassist - http://www.csg.is.titech.ac.jp/~chiba/javassist/
Supports load-time and runtime behavioural reflection in Java by allowing classes to be modified by Java code as they are loaded in. [Freeware, source available] |
  |
JMangler - http://roots.iai.uni-bonn.de/research/jmangler/
A framework for load-time transformation of Java programs. [Open Source, LGPL] |
  |
GJ: Generic Java - http://www.cis.unisa.edu.au/~pizza/gj/
Support for generics. Superset of the Java programming language. Compatible with existing libraries. [Freeware] |
  |
http://www.sonic.net/~jddarcy/Borneo/ - http://www.sonic.net/~jddarcy/Borneo/
Modification of the Java language designed to have true support for the IEEE 754 floating point standard. |
  |
http://www.publicstaticvoidmain.com/ - http://www.publicstaticvoidmain.com/
Simplified subset of Java (supersedes Jr), and online environment for learning programming: simple, made for beginners, includes assertions and Design by Contract from Bertrand Meyer and Eiffel; class tested over 2 years, free accounts available. |
  |
http://csd.informatik.uni-oldenburg.de/~jass/ - http://csd.informatik.uni-oldenburg.de/~jass/
Java with assertions, spoken: jazz, like the music. Improvement of JaWA language extension. Gives Java the concepts of Design by Contract from Bertrand Meyer, and Eiffel, and extends them with new features. [Open Source, GPL] |
  |
http://www.emn.fr/x-info/sudholt/research/metaj/ - http://www.emn.fr/x-info/sudholt/research/metaj/
A generic protocol-based self-applicative interpreter for Java. Revolves around a generic reification procedure which can be used to reify any class of the interpreter. |
  |
http://www.mindprod.com/jgloss/bali.html - http://www.mindprod.com/jgloss/bali.html
Java with a spoonful of syntactic sugar: proposed set of additions to make Java terser and safer. Terseness makes languages easier to read, write, maintain. Ideas from Abundance (Byte Magazine Oct 1986), Eiffel, Pascal, Delphi, Smalltalk, PL/I, Algol-68, Forth, even COBOL. |
  |
http://japan.cs.rice.edu/nextgen/ - http://japan.cs.rice.edu/nextgen/
An extension of Java and GJ to support polymophic methods while perserving static type information (no erasure). For research purposes. |
  |
JavaParty - http://svn.ipd.uni-karlsruhe.de/trac/javaparty/
A minimal extension to Java easing distributed parallel programming of cluster computers. A source code transformation automatically generates a distributed pure Java program based on RMI or KaRMI. |