ABSTRACT

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.