NUOO-Prolog is a simple object oriented extension to NU-Prolog, mostly hacked together by Lee Naish rather quicky. It works as a preprocessor. Check out the (brief) examples below for some of the syntax/features. One of the nice things about the system is that its "pure" in the sense it can easily be given clear declarative semantics. A prototype declarative debugger has been implemented. The down side is that objects can't have mutable state. The tech report gives more information on the language and implementation. The tech report describes a version implemented on top of Quintus Prolog. The version here has some improvements such as parameterised objects. I also have an implementation of further enhancements such as supporting separate compilation and various forms of multiple inheritance.

I have certainly found it of use for knowledge bases I have had to maintain. Examples include coordinating honours and other fourth year courses where there are students, thesis topics, supervisors etc, and coordinating the technical programme of the ICLP'97 conference (paper submissions, reviews etc).


Source code