DocumentCode
2165982
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
fYear
2003
fDate
26-27 Sept. 2003
Firstpage
141
Lastpage
150
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;
fLanguage
English
Publisher
ieee
Conference_Titel
Source Code Analysis and Manipulation, 2003. Proceedings. Third IEEE International Workshop on
Print_ISBN
0-7695-2005-7
Type
conf
DOI
10.1109/SCAM.2003.1238040
Filename
1238040
Link To Document