Please use this identifier to cite or link to this item: https://scholarbank.nus.edu.sg/handle/10635/99157
Title: A higher-order removal method
Authors: Chin, W.-N. 
Darlington, J.
Keywords: Compiler Optimization
Eta-Expansion
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
URI: http://scholarbank.nus.edu.sg/handle/10635/99157
ISSN: 13883690
Appears in Collections:Staff Publications

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

Google ScholarTM

Check


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