By G.Delzanno and M.Bugliesi

PRObjLOG is an extension of Prolog with Object-Oriented features. The language is designed accordingly to the object-calculi proposed by Fisher, Honsell & Mitchell.

In particular the idea is to enrich the universe of plain terms of Prolog with structured data, i.e, objects, which contain method definitions given in clausal form.

Message passing becomes here a built-in of the language. In PRObjLOG it is possible to declare classes, create instances, and modify them as described below.

Accordingly to the above mentioned calculi, here objects do not have identifiers, they are passed as values through different invocations, e.g., using an abstract syntax PRObjLOG provides built-in goal expression as O.m -> P, P.n -> Q, Q.k ->R where m,n,k are method names and O,P,Q,R object expressions (O must be ground).

The logical foundations of PRObjLOG lie in Higher-Order Intuitionistic Linear Logic.
A draft paper. in collaboration with L.Liquori describes its characteristics and the logic underlying it.

Lolli, by J.Hodas and D.Miller, turns out to be a perfect platform to implement a prototype for it, thanks to its linear logic nature and to the higher-order facilities that it provides (e.g., free variables in G-position).

  • To get fast more information download this text file.

  • Click here to download the PRObjLOG package implemented in Lolli.