Prev No Next Up Home Keys Figs Search New

OL(P)

Appeared in Volume 8/3, August 1995

Keywords: OOP.

Object Layer for Prolog, OL(P), provides an object-oriented structuring and reuse mechanism for Prolog. The primary goal of OL(P) is to provide this mechanism in a way that is performance and semantics preserving. This is achieved by compiling the object- oriented layer to Prolog without introducing any side-effects. Thus, Prolog's computational model is retained, and meta-programs can easily be adapted from Prolog. Full Prolog can be used in OL(P), and different Prolog variants are allowed as base languages.

Version 1.1 can be installed for SICStus Prolog 2.1, SICStus Prolog 0.6, and QUINTUS Prolog.

OL(P) takes the view of objects as collections of predicates (called methods). To Prolog, OL(P) 1.1 adds objects with methods, data encapsulation, instances, and multiple inheritance. Object methods can access Prolog predicates and vice versa. The OL(P) incremental compiler translates OL(P) programs to Prolog programs that don't need runtime interpretation (e.g., no search is needed for inheritance).

OL(P) 1.1 comes with prepared installation for SICStus Prolog and QUINTUS Prolog (on UNIX), documentation, simple built-in project management, some libraries, and example programs. The source is included, so you can port OL(.) to different platforms, different Prolog systems, and different logic programming languages.

You can get the OL(P) software by anonymous FTP from
parcftp@parc.xerox.com (13.1.64.94), directory /pub/ol.

Markus P.J. Fromherz
Email: fromherz@parc.xerox.com 
Prev No Next Up Home Keys Figs Search New