Flow Java

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Flow Java
Influenced by
Java (programming language), Oz

Flow Java is a conservative extension to the Java programming language. It integrates single assignment variables and logic variables, to Java. Its development was influenced by Mozart/Oz. Conceptually, the extension is similar to adding immutable futures but goes beyond that by incorporating equivalence groups.


Syntactically, the extension adds few new tokens [1] [2]...

single Object s;

...which introduces a single assignment variable, and...

s @= new Object();

...which binds s to a new object. Or...

Object o = new Object;
s @= o;

...which binds s to o. This makes s equivalent to o.


  1. ^ Colloquium on Implementation of Constraint and Logic Programming Systems (CICLOPS) (2004). "Implementation Strategies for Single Assignment Variables" (PDF). 
  2. ^ Proceedings of the Nineteenth International Conference on Logic Programming (2003). "Flow Java: Declarative Concurrency for Java" (PDF). 

External links[edit]