[comp.ai.digest] Object oriented PROLOG

lakshman@ATHENA.MIT.EDU (09/13/87)

Hi! Does anybody have a source code for creating objects with
inheritence capabilities and other standard stuff in PROLOG that
can be made available in the public domain ?

Jaideep Ganguly

miller@DOUGHNUT.CS.ROCHESTER.EDU (Brad Miller) (09/17/87)

    Date: Sun, 13 Sep 87 14:55:07 EDT
    From: lakshman@ATHENA.MIT.EDU

    Hi! Does anybody have a source code for creating objects with
    inheritence capabilities and other standard stuff in PROLOG that
    can be made available in the public domain ?

    Jaideep Ganguly

Our HORNE system might do what you want, though it doesn't produce PROLOG, it
does produce horn clauses. HORNE is a prolog-like language, with a
sublanguage: REP that is pretty much like KL-1 but does certain things more
intelligently (in our opinion), like use e-unification to assign values to
slots which allows you to deal with the value of a slot that has not yet been
assigned better than if it were only a variable; types are supported on
objects and variables; variables can be constrained with arbitrary predicates,
etc. etc. REP objects have roles which are inherited in the type hierarchy.
(that is, if you define a type ACTION with role ACTOR and a subtype of ACTION
as, say, HIT, it will also have an ACTOR role since it's parent type does.  TR
is available, send $2.50 to Gail Cassell, TR Secretary @ the phys address in
the header to this note if you want more info.

The code for HORNE/REP is written in CL using some ZL extensions, and runs on
the symbolics 7.1 or TI 2.1 systems (soon 3.0). Unfortunately, its also pretty
much unsupported: about a year ago we started to rewrite it from the ground up
to handle contextual reasoning, and provide other major enhancements, and the
result, RHET, will probably not be publically available until the spring. (on
the other hand, it may be worth waiting for: HORNE is pretty crufty being a
translation from franz and showing the stretch marks of an active research
tool of several years).

Neither are strictly in the public domain, but the non-commercial licence (for
HORNE/REP) is for a site and only $150. You are free to reuse the code as you
like. I'm not familiar with other legal details, you can ask Peg for a licence
agreement if you are interested or curious. Basically it's just something that
says we don't care what you do with it, but we are absolved of any
responsibility.

At any rate, if you were to get HORNE/REP; REP sits on top of HORNE and
produces horn clauses as I said; you may be able to play with the code and
have it produce PROLOG forms instead, though I think it does depend on being
able to create variables with types and/or constraints. (even that can be
modeled in pure PROLOG, it just might be more work than you are willing to
invest)...

Hope this helps,
Brad Miller
------
miller@cs.rochester.edu {...[allegra|seismo]!rochester!miller}
Brad Miller
University of Rochester Computer Science Department