Please use this identifier to cite or link to this item:
|Title:||A higher-order removal method||Authors:||Chin, W.-N.
|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.
checked on Jan 11, 2020
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.