KOOL: An Application of Rewriting Logic to Language Prototyping and Analysis


This paper presents KOOL, a concurrent, dynamic, object-oriented language defined in rewriting logic. KOOL has been designed as an experimental language, with a focus on making the language easy to extend. This is done by taking advantage of the flexibility provided by rewriting logic, which allows for the rapid prototyping of new language features. An example of this process is illustrated by sketching the addition of synchronized methods. KOOL also provides support for program analysis through language extensions and the underlying capabilities of rewriting logic. This support is illustrated with several examples.

Proceedings of the 18th International Conference on Term Rewriting and Applications (RTA 2007)
Mark Hills
Mark Hills
Associate Professor

My research interests include programming languages, program analysis, and software engineering.