The Substitution Vanishes
Accumulation techniques were invented to transform functional programs, which intensively use append functions (like inefficient list reversal), into more efficient programs, which use accumulating parameters instead (like efficient list reversal). In this paper we present a generalized and automatic accumulation technique that also handles programs operating with unary functions on arbitrary tree structures and employing substitution functions on trees which may replace different designated symbols by different trees. We show that this transformation does not deteriorate the efficiency with respect to call-by-need reduction.
Unable to display preview. Download preview PDF.
- 5.Boiten, E.A.: The many disguises of accumulation. Tech.Report 91-26, Dept. of Informatics, University of Nijmegen (1991)Google Scholar
- 7.Chitil, O.: Type inference builds a short cut to deforestation. In: ICFP 1999, Paris, France, vol. 34, pp. 249–260. ACM Sigplan Notices (1999)Google Scholar
- 8.Engelfriet, J.: Some open questions and recent results on tree transducers and tree languages. In: Book, R.V. (ed.) Formal language theory; perspectives and open problems, pp. 241–286. Academic Press, New York (1980)Google Scholar
- 17.Maletti, A.: Direct construction and efficiency analysis for the accumulation technique for 2-modular tree transducers. Master’s thesis, TU Dresden (2002)Google Scholar
- 23.Voigtländer, J.: Formal efficiency analysis for tree transducer composition. Tech.Report TUD-FI04-08, TU Dresden, Theory Comput. Syst. (to appear, 2004)Google Scholar
- 24.Voigtländer, J.: Tree Transducer Composition as Program Transformation. PhD thesis, TU Dresden (2004)Google Scholar
- 25.Wadler, P.: The concatenate vanishes. Note, University of Glasgow, 1987 (Revised, 1989)Google Scholar