Flow Java
Encyclopedia
Flow Java is a conservative extension
Conservative extension
In mathematical logic, a logical theory T_2 is a conservative extension of a theory T_1 if the language of T_2 extends the language of T_1; every theorem of T_1 is a theorem of T_2; and any theorem of T_2 which is in the language of T_1 is already a theorem of T_1.More generally, if Γ is a set of...

 to the Java programming language
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

.
It integrates single assignment variables and logic variables, to Java.
Its development was influenced by Mozart/Oz
Oz (programming language)
Oz is a multiparadigm programming language, developed in the Programming Systems Lab at Université catholique de Louvain, for programming language education. It has a canonical textbook: Concepts, Techniques, and Models of Computer Programming....

.
Conceptually, the extension is similar to adding immutable futures
Futures and promises
In computer science, future, promise, and delay refer to constructs used for synchronization in some concurrent programming languages. They describe an object that acts as a proxy for a result that is initially not known, usually because the computation of its value has not yet completed.The term...

but goes beyond that
by incorporating equivalence groups.

single

Syntactically, the extension adds few new tokens

...
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.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK