Jump to content

Flow Java

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Wavelength (talk | contribs) at 22:39, 26 September 2010 (revising category name—WP:HYPHEN, subsection 3, point 4—Help:Category#Moving and redirecting category pages). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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.

single

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.

References

  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).