Difference between pages "Multiple" and "Extendable Types"

From Mesham
(Difference between pages)
Jump to navigationJump to search
m (5 revisions imported)
 
 
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.
  
multiple[type]
+
* How to implement this efficiently?
 
+
* How to maximise static analysis and optimisation?
Where ''type'' is optional
+
* How to minimise memory footprint?
 
+
* The ideal way of structuring the programming interface?
== Semantics ==
 
 
 
Included in allocated will (with no arguments) set the specific variable to have memory allocated to all processes within current scope. This sets the variable to be private (i.e. no other processes can view it) to its allocated process.
 
 
 
== Example ==
 
 
 
function void main() {
 
    var i: Int :: allocated[multiple[]];
 
};
 
 
 
In this example the variable ''i'' is an integer, allocated to all processes.
 
 
 
''Since: Version 0.41b''
 
 
 
[[Category:Type Library]]
 
[[Category:Compound Types]]
 
[[Category:Allocation 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?