YahOO
Yet another higher-order Object-Oriented Language
By G.Delzanno and M.Martelli
What is it? Motivations & Foundations
YahOO is an object-oriented logic language. The starting point of our work
was to find a logical counterpart of object-based languages like The Object
Calculus and SELF, i.e., finding a logical representation of an object,
seen as an entity encapsulating data and methods.
In particular, hiding, self-application, and self-modifications would have been
allowed in the target model.
Higher-Order Linear Logic turned out to be the theoretical platform
to achieve such aim.
Starting from the interpretation of methods as clauses,
we represent objects as atomic formulas embedding their methods.
State updates are performed by exploiting linear implication, and
formulas are treated as resources, i.e, created and consumed.
Concurrency can be achieved exploiting a multi-conclusion sequent calculus.
Further readings:
[1] Objects in Forum Delzanno & Martelli, Proc. of ICLP 95,
click
here to download the gzipped postscript.
A prototype in lambdaProlog has been developed, its description can be found
here.
The source code can be found
here.
E-mail to:giorgio@disi.unige.it