Difference between revisions of "Extendable Types"

From Mesham
Jump to navigationJump to search
Line 6: Line 6:
 
* How to minimise memory footprint?
 
* How to minimise memory footprint?
 
* The ideal way of structuring the programming interface?
 
* 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.

Revision as of 13:33, 24 March 2013

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.