Please use this identifier to cite or link to this item:
Title: A higher-order removal method
Authors: Chin, W.-N. 
Darlington, J.
Keywords: Compiler Optimization
Function Specialisation
Higher-Order Removal
Parameter Analysis
Program Transformation
Termination Proofs
Issue Date: 1996
Citation: Chin, W.-N.,Darlington, J. (1996). A higher-order removal method. Higher-Order and Symbolic Computation 9 (4) : 287-322. ScholarBank@NUS Repository.
Abstract: A major attraction of functional languages is their support for higher-order functions. This facility increases the expressive power of functional languages by allowing concise and reusable programs to be written. However, higher-order functions are more expensive to execute and to analyse for optimisations. To reduce the performance penalties of using higher-order functions, this paper proposes two transformation algorithms which could automatically remove most higher-order functions from functional programs. The first algorithm uses an eta-expansion technique to eliminate expressions which return function-type results. The second algorithm uses & function specialisation technique to eliminate expressions with function-type arguments. Together, they remove higher-order functions by transforming each higher-order program to an equivalent firstorder (or lower-order) program. We shall prove that the two algorithms are terminating (when applied to well-typed programs) and also totally-correct (preserving non-strict semantics). © 1996 Kluwer Academic Publishers,.
Source Title: Higher-Order and Symbolic Computation
ISSN: 13883690
Appears in Collections:Staff Publications

Show full item record
Files in This Item:
There are no files associated with this item.

Page view(s)

checked on Sep 22, 2022

Google ScholarTM


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.