| Citations: | 2 - 0 self |
@TECHREPORT{Agat98atyped,
author = {Johan Agat},
title = {A Typed Functional Language for Expressing Register Usage},
institution = {},
year = {1998}
}
This paper lays a theoretical ground for exploring a type based approach to register allocation for purely functional languages. We present the compiler intermediate language R , a typed functional language with explicit register usage. The basic idea in our system is to use annotated types to propagate information on where, i.e., in which register or stack-slot, a value is or is expected to be. For functions, their types state which registers might be overwritten upon application of the function. The language R , which is a call by value lambda calculus with flavours of assembly language, contains annotations that specify the register and stack behaviour of the machine-code that will be generated for a particular term. The type system uses annotated types and effects to capture estimates and descriptions of the register behaviour of terms. Polymorphism and sub-typing (sub-effecting) allows for very accurate register behaviour descriptions to be made by the types. We state a soundness ...
Developed at and hosted by The College of Information Sciences and Technology
© 2007-2010 The Pennsylvania State University
