Object-Oriented Type Inference for Telescoping Languages

Date
2004
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract

The telescoping-languages approach achieves high performance from applications encoded as high-level scripts. The core idea is to pre-compile underlying libraries to generate multiple variants optimized for use indifferent possible contexts including different argument types. We have previously developed a type inference algorithm that enables type-based specialization. The algorithm infers types over untyped library procedures before actual inputs are known. Type inference is necessary both to determine the minimum number of variants needed to handle all possible uses of the library procedure as well as to statically determine, for each variant, which optimized implementations should be dispatched at each call location. In this paper, we extend the type inference algorithm to handle user-defined types in an object-oriented scripting language such as Python. Variants will be generated in order to eliminate dynamic dispatch where possible. This will allow for faster runtimes as well as enable more cross-method optimizations. Two problems that arise when handling user-defined types are the lack of abound on the number of types and the possibility of extensions to the type hierarchy after type inference. We address these problems and describe the type inference solution.

Description
Advisor
Degree
Type
Technical report
Keywords
Citation

Allen, Eric, Kennedy, Ken and McCosh, Cheryl. "Object-Oriented Type Inference for Telescoping Languages." (2004) https://hdl.handle.net/1911/96332.

Has part(s)
Forms part of
Published Version
Rights
You are granted permission for the noncommercial reproduction, distribution, display, and performance of this technical report in any format, but this permission is only for a period of forty-five (45) days from the most recent time that you verified that this technical report is still available from the Computer Science Department of Rice University under terms that include this permission. All other rights are reserved by the author(s).
Link to license
Citable link to this page