Skip to main content

A simple object-oriented language

Supervisor

Suitable for

MSc in Advanced Computer Science
Mathematics and Computer Science, Part C
Computer Science and Philosophy, Part C
Computer Science, Part C
Computer Science, Part B

Abstract

Use Keiko to implement a simple language that is purely object-oriented. Study the compromises that must be made to get reasonable performance, comparing your implementation with Smalltalk, Ruby or Scala.

Almost any variation on the theme is acceptable: a different language, object-oriented or not; or a target other than Keiko.

A similar thing already exists, in that Oberon–2 is object-oriented (in an interesting way), and the design of Keiko was expressly made so that it would provide what's needed to implement it.

Since this project idea is so broad, successful completion of it depends on quickly reaching a precise definition of the language that you are going to implement, and doing that will be the first task.