Polka : a parlog object oriented language

Andrew J. Davison · Spiral (Imperial College London) · 1989

Programming language design is an evolutionary process.For instance, the concurrent Logic Programming (LP) paradigm and its associated languages could not have been developed without the work on LP and on models of concurrency during the last decade.This evolution is clearly visible in Polka which is, first and foremost, a language derived from the fusion o f the concurrent LP and O bject O riented Programming (OOP) paradigms.The result is more than a sum o f its parts since many of the inadequacies of one programming model are compensated for by features o f the other.One of the other design goals behind Polka is its utilisation as a 'higher level' concurrent LP language.This is possible because Polka contains abstractions which are well suited to programming typical kinds o f concurrent LP problems.The last design goal is the incorporation of meta level programming concepts from LP into Polka, which greatly increase the functionality of the class mechanism.This thesis presents the background to, and motivation for, the design of Polka, and describes the language.The utility o f Polka is demonstrated through numerous small examples, and three larger applications concerned with graphics, blackboard problem solving, and simulation.Also, an operational semantics is developed for a subset o f the language, called kernel Polka, and a simple and efficient implementation is derived from i t I am, o f course, greatly indebted to my supervisor Keith Clark, who has encouraged my work, and dispensed invaluable advice.In addition, his comments on this thesis have been consistently useful and enlightening.Most o f all, I thank him for his friendship.

Read the paper · More papers on PaperTik