MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Strictification of Lazy Functions Jo~ao Saraiva

Download:
pdf | ps
by Doaitse Swierstra, Matthijs Kuiper, Maarten Pennings
http://archive.cs.uu.nl/pub/RUU/CS/techreps/CS-1996/1996-51.ps.gz
Add To MetaCart

Abstract:

This papers describes a transformation from lazy functions into efficient non-lazy ones. The functions we study perform multiple traversals over a data structure. Our transformation performs a global analysis of the calling structure of a set of mutually recursive lazy-functions in order to transform them into sets of functions which must be called in sequence. Many of the resulting functions can be eliminated by the optimizations presented in this paper. We present measurements that show that transformed and optimized functions allow efficient incremental execution. The paper contains examples that were automatically constructed with a generator of incremental functional programs. 1

Citations

366 Deforestation: Transforming programs to eliminate trees – Wadler - 1988
78 Attribute grammars as a functional programming paradigm – JOHNSSON - 1987
76 Ordered Attribute Grammars – Kastens - 1980
71 Using circular programs to eliminate multiple traversals of data – Bird - 1984
59 Higher order attribute grammars – Swiestra, Vogt - 1991
57 Lazy memo-functions – Hughes - 1985
15 Virtual data structures – Swierstra, Moor - 1993
13 Using cached functions and constructors for incremental attribute evaluation – Pennings, Swierstra, et al. - 1992
9 Generating Incremental Evaluators – Pennings - 1994
5 and Doaitse Swierstra. Using attribute grammars to derive eOEcient functional programs – Kuiper - 1987
5 Efficient incremental evaluation of higher order attribute grammars – Vogt, Swierstra, et al. - 1991
2 Functional programming with bananas, lenses and barbed wire – Meyer, Fokkinga, et al. - 1991