Difference between pages "Directref" and "Extendable Types"

From Mesham
(Difference between pages)
Jump to navigationJump to search
 
 
Line 1: Line 1:
== Syntax ==
+
<metadesc>Mesham is a type oriented programming language allowing the writing of high performance parallel codes which are efficient yet simple to write and maintain</metadesc>
 +
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.
  
directref[ ]
+
* How to implement this efficiently?
 
+
* How to maximise static analysis and optimisation?
== Semantics ==
+
* How to minimise memory footprint?
 
+
* The ideal way of structuring the programming interface?
This tells the compiler that the programmer might use this variable outside of the language (e.g. Via embedded C code) and not to perform certain optimisations which might not allow for this.
 
 
 
== Example ==
 
 
 
var pid:Int :: allocated[multiple[]] :: directref[];
 
 
 
[[Category:Type Library]]
 
[[Category:Composite Types]]
 
[[Category:Attribute Types]]
 

Revision as of 11:34, 3 July 2010

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?