Title :
Turning dynamic typing into static typing by program specialization in a compiler front-end for Octave
Author :
Olmos, Karina ; Visser, Eelco
Author_Institution :
Inst. of Inf. & Comput. Sci., Utrecht Univ., Netherlands
Abstract :
Array processing languages such as APL, Matlab and Octave rely on dynamic typechecking by the interpreter rather than static typechecking and are designed for user convenience with a syntax close to mathematical notation. Functions and operators are highly overloaded. The price to be paid for this flexibility is computational performance, since the run-time system is responsible for type checking, array shape determination, function call dispatching, and handling possible run-time errors. In order to produce efficient code, an Octave compiler should address those issues at compile-time as much as possible. In particular, static type and shape inferencing can improve the quality of the generated code. We discuss how overloading in dynamically typed Octave programs can be resolved by program specialization. We discuss the typing issues in compilation of Octave programs and give an overview of the implementation of the specializer in the transformation language Stratego.
Keywords :
APL; data structures; object-oriented methods; program compilers; program control structures; program diagnostics; programming language semantics; reasoning about programs; type theory; APL; Matlab; Octave program compilation; Stratego transformation language; array processing languages; array shape determination; code improvisation; compiler front-end; dynamic typechecking; dynamically typed Octave programs; function call dispatching; function overloading; mathematical notation; operator overloading; program specializer implementation; run time error handling; run time system; shape inference; static typechecking; user convenience; Array signal processing; Computer languages; Dispatching; Production; Program processors; Prototypes; Runtime; Shape; Trademarks; Turning;
Conference_Titel :
Source Code Analysis and Manipulation, 2003. Proceedings. Third IEEE International Workshop on
Print_ISBN :
0-7695-2005-7
DOI :
10.1109/SCAM.2003.1238040