Extendable Types

Mesham is a type oriented programming language allowing the writing of high performance parallel codes which are efficient yet simple to write and maintain A major idea for extension is to allow the programmer to create their own language types. In the current version of the language the programmer can only create new types at the compiler level, this is not a major issue at the moment due to generality of the type library however it does limit the language somewhat. Whilst it is relatively simple to create new types in this way, one can not expect the programmer to have to modify the compiler in order to support the codes they wish to write. There are a number of issues to consider however in relation to this aim.


 * How to implement this efficiently?
 * How to maximise static analysis and optimisation?
 * How to minimise memory footprint?
 * The ideal way of structuring the programming interface?

We have currently adopted a middle ground within the Oubliette compiler line in as much as additional types may be provided as third party plugins which the compiler will identify with and allow the programmer to use freely. There is the optional support for these third party types to provide additional runtime library services too. Whilst this is a reasonable interim step, the end goal is still to allow for programmers to specify types within their own Mesham source code.