Implementation Strategies for Single Assignment Variables

Frej Drejhammar, Christian Schulte.

[pdf | bibtex]

Flow Java integrates single assignment variables (logic variables) into Java. This paper presents and compares three implementation strategies for single assignment variables in Flow Java. One strategy uses forwarding and dereferencing while the two others are variants of Taylor's scheme. The paper introduces how to adapt Taylor's scheme for a concurrent language based on operating system threads, token equality, and update of data structures. Evaluation of the strategies clarifies that the key issue for efficiency is reducing memory usage.

In: Colloquium on Implementation of Constraint and LOgic Programming Systems (CICLOPS 2004), Saint Malo, France. September, 2004.