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.