The University of Sussex

POPLOG's Two-level Virtual Machine Support for Interactive Languages

Robert Smith, Aaron Sloman, John Gibson

Poplog is a portable interactive AI development environment available on a range of operating systems and machines. It includes incremental compilers for Common Lisp, Pop-11, Prolog and Standard ML, along with tools for adding new incremental compilers. All the languages share a common development environment and data structures can be shared between programs written in the different languages. The power and portability of Poplog depend on its two virtual machines, a high level virtual machine (PVM - The Poplog Virtual Machine) serving as a target for compilers for interactive languages and a low level virtual machine (PIM - the Poplog Implementation Machine) as a base for translation to machine code. A machine-independent and language-independent code generator translates from the PVM to the PIM, enormously simplifying both the task of producing a new compiler and porting to new machines.

This paper is not available online