Catalogue of Artificial Intelligence Techniques
Keywords: POP-11, neural networks
Categories: Programming Languages
Author(s): Chris Mellish
POPLOG is a multi-language AI software development environment developed mainly at the University of Sussex, UK. Currently, POP-11, Prolog, Common Lisp, and Standard ML are all supported, each with its own libraries, help information and editor customisations. POPLOG comes with an interface to X and facilities for loading procedures written in other languages, such as C. Many useful AI packages, such as neural net simulators and expert system shells, are also provided, implemented in POPLOG. There is a POPLOG user group and a POPLOG electronic mail forum. Historically, POPLOG developed from the programming language POP-2 of Burstall, Collins and Popplestone, which was devised in Edinburgh around 1970. POPLOG started as an incremental compiler for a modified language, POP-11, which combined the flexibility of working with an interpreter and the efficiency of compiled code. This was combined with an integrated programmable screen editor and extensive help and library facilities. A vital part of the POPLOG architecture is the use of a virtual machine; POPLOG code is compiled into instructions for the POPLOG virtual machine, which are then translated into native code for the hardware it is running on. Procedures to generate virtual machine instructions are available to the user, which means that it is quite straightforward in POPLOG for a user to write a compiler for a new language which produces efficient code. This was the means by which the multi-language nature of POPLOG was realised, and now compilers for POP-11, Prolog, Common Lisp and Standard ML are distributed as standard with the system. These languages come with their own development environments, but the POPLOG system is relatively compact, compared for instance to Lisp systems of similar complexity. Because the languages share a model of computation at the level of the POPLOG virtual machine, flexible mechanisms for combining programs written in different languages can be provided. This design also means that POPLOG can be ported to new platforms relatively quickly.
- Anderson, J.A.D.W., ed., POP-11 Comes of Age: The Advancement of an
AI Programming Language
, Ellis Horwood, 1989.