The Name Timor

Why the name Timor? One of the characteristics of Timor is that in accordance with the information hiding principle it distinguishes between types and their implementations. In contrast with a class-based system, a type in Timor can have multiple implementations which can be used interchangeably to allow objects of the same type to be implemented in different ways, even in the same program. (With some effort on the part of programmers and with some restrictions, Java and other object oriented languages can partly achieve this, but it is not a natural part of the language.)

Hence the name Timor can be understood as an acronym for Types, Implementations and More. But there is also a second explanation. Towards the end of 1999, as the project was starting up, the Australian armed forces led a UN peace keeping mission to East Timor, which was under attack from militia forces after East Timor had voted to become independent of Indonesia (see http://en.wikipedia.org/wiki/International_Force_for_East_Timor). This is relevant in the sense that Java is the island on which Jakarta, the capital of Indonesia, is located.

Timor also has a variety of other features which do not appear in most other languages (e.g. it is a persistent language, it allows multiple inheritance at both the type and the implementation levels, its flexible code re-use technique is not based on inheritance, it allows the properties of objects to change dynamically over time as their roles change).

To appreciate the Timor Programming Language, one must first understand the basic principles behind its design.