Difference between pages "Log" and "Extendable Types"

From Mesham
(Difference between pages)
Jump to navigationJump to search
(Created page with '== Overview == This log[n] function will find the logarithmic value of ''n'' * '''Pass:''' A double * '''Returns:''' A double representing the logarithmic value\twolines{} == …')
 
 
Line 1: Line 1:
== Overview ==
+
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.
  
This log[n] function will find the logarithmic value of ''n''
+
* How to implement this efficiently?
 
+
* How to maximise static analysis and optimisation?
* '''Pass:''' A double
+
* How to minimise memory footprint?
* '''Returns:''' A double representing the logarithmic value\twolines{}
+
* The ideal way of structuring the programming interface?
 
 
== Example ==
 
 
 
var a:=log[10];
 
var y;
 
y:=log[a];
 
 
 
[[Category:Function Library]]
 
[[Category:Maths Functions]]
 

Revision as of 13:49, 11 January 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?