Difference between pages "Long" 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.
  
Long
+
* 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?
A long 64 bit number.
 
 
 
=== Default typing ===
 
 
 
{{ElementDefaultTypes}}
 
 
 
== Example ==
 
 
 
var i:Long;
 
 
 
In this example variable ''i'' is explicitly declared to be of type ''Long''.
 
 
 
== Communication ==
 
 
 
{{ElementTypeCommunication}}
 
 
 
[[Category:Element Types]]
 
[[Category:Type Library]]
 

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?