Flow Java
Flow Java is an extension to Java which extends the language with
single-assignment variables and futures as variants of logic
variables. The extension is conservative with respect to
object-orientation, types, parameter passing and concurrency. The Flow
Java implementation is based on GCJ, the GNU compiler for the Java
Programming Language, and its runtime environment.
Publications
-
Implementation Strategies for Single Assignment Variables
[PDF]
Colloquium on Implementation of Constraint and LOgic Programming Systems (CICLOPS 2004), 2004.
-
Flow Java: Declarative Concurrency for Java
[PDF]
Proceedings of the Nineteenth International Conference on Logic
Programming, 2003. Received the best application paper award.
Presentations
Implementation Strategies for Single
Assignment Variables: Presentation given at the Colloquium on
Implementation of Constraint and LOgic Programming Systems (CICLOPS),
2004, Saint-Malo, France
Flow Java: Declarative Concurrency for
Java: Presentation given at the Nineteenth International
Conference on Logic Programming, 2003, Mumbai, India.
Files
Flow Java is distributed as a patch against the release version of GCC 3.3.2 Build instructions are in the README.flow_java.
Currently the Flow Java implementation only supports the i386 platform.
Latest Version
Flow Java 041126 as a patch against GCC 3.3.2 README.flow_java
A pre-patched version of the gcc source is also available: flow-java-041126-src.tar.gz
Old Versions
Flow Java 030926 as a patch against GCC 3.3 README.flow_java
A pre-patched version of the gcc source is also available: flow-java-030926-src.tar.gz
Unsupported binaries are also provided: flow-java-030926-bin.tar.gz
Reporting bugs
Instructions for reporting bugs are located here.
Links
The GNU Compiler for the Java
Programming Language
The GNU Compiler Collection, GCC
Frej Drejhammar