by Sergio Antoy, Michael Hanus, Jimeng Liu, Andrew Tolmach
Proc. of the 16th International Workshop on Implementation and Application of Functional Languages (IFL 2004), Springer LNCS 3474, pp. 108-125, 2005
© Springer-Verlag
We describe the architecture of a virtual machine for executing functional logic programming languages. A distinguishing feature of our machine is that it preserves the operational completeness of non-deterministic programs by concurrently executing a pool of independent computations. Each computation executes only root-needed sequential narrowing steps. We describe the machine's architecture and instruction set; and show how to compile overlapping inductively sequential programs to sequences of machine instructions. The machine has been implemented in Java and in Standard ML.
Preprint (PDF) BibTeX-Entry Online