Abstract
This thesis provides contributions to the research programming language Creol (Concurrent REflective Ob ject-oriented Language). The first contribution is the EBNF grammar for Creol. The second contribution suggests how to extend the Creol language with functional constructs. The third and ma jor contribution is the design of a type system for the Creol language, as well as some molding of the Creol language, such that static type safety is achieved. The fourth contribution is a prototype implementation of a compiler for Creol.
The Creol language has until now provided static type safety and separation between inheritance and subtyping by assumption only. The creation of the Creol type system investigates this assumption for the Creol language. During the process there has also been a clarification of the Creol language from a type system point of view. The type system designed for Creol is a hybrid between a structural and nominal type system, and is a step towards a novel hybrid type
system, that facilitates a separation between inheritance and subtyping, while enforcing nominal constraints, when desireable.
The prototype compiler implemented for Creol is crafted with tools that operate on a higher level than traditional compiler tools. These high level approaches include combinator parsing and attribute grammars.