Polka
is a hybrid language, combining the paradigms of
concurrent logic programming and object oriented programming. [Da89].
Based on Parlog, it introduces object oriented constructs
such as classes, instance variables, inheritance and
self-communication.
These abstractions enable to write a `higher level Parlog',
reducing the verbosity of ordinary Parlog.
A very powerful mechanism is provided by the
incorporation of meta-level programming
constructs that allow to treat classes as first order entities.
In terms of expressiveness, this last feature may be considered
an advantage of this particular approach at combining
logic programming and object oriented programming.
The operational semantics provided for the language
suggests that the semantic complexity of this
hybrid language is still manageable.
It is observed that the absence of backtracking, due to the committed
choice character of Parlog, may be considered an advantage
or a disadvantage, dependent on the needs of the application.
Polka has been used to implement, among other things,
a blackboard expert system.
The implementation of Polka is described in [Da89].