Hostname: page-component-586b7cd67f-2plfb Total loading time: 0 Render date: 2024-11-30T20:22:26.987Z Has data issue: false hasContentIssue false

Short note: Strict unwraps make worker/wrapper fusion totally correct

Published online by Cambridge University Press:  08 April 2010

PETER GAMMIE*
Affiliation:
School of Computer Science, The Australian National University, Canberra ACT 0200 (e-mail: [email protected])
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

The worker/wrapper transformation is a general way of changing the type of a recursive definition, usually applied with an eye to increasing algorithmic efficiency. This note identifies an infelicity in the program transformations presented by Gill & Hutton (The worker/wrapper transformation, J. Funct. Program., vol. 19, 2009, pp. 227–251) and proposes a new totally correct worker/wrapper fusion rule.

Type
Articles
Copyright
Copyright © Cambridge University Press 2010

References

Burstall, R. M. & Darlington, J. (1977) A transformation system for developing recursive programs, J. ACM, 24 (1): 4467.CrossRefGoogle Scholar
Gammie, P. (2009) The worker/wrapper transformation. In The Archive of Formal Proofs, Klein, G., Nipkow, T. & Paulson, L. (eds). Available at: http://afp.sf.net/entries/WorkerWrapper.shtml. Formal proof development.Google Scholar
Gill, A. & Hutton, G. (2009). The worker/wrapper transformation. J. Funct. Program., 19 (2): 227251.CrossRefGoogle Scholar
Huffman, B. (2009). A purely definitional universal domain. In Berghofer, S., Nipkow, T., Urban, C. & Wenzel, M. (eds), TPHOLs. LNCS, vol. 5674, pp. 260–275.CrossRefGoogle Scholar
Meijer, E., Fokkinga, M. & Paterson, R. (1991). Functional programming with bananas, lenses, envelopes and barbed wire. In Proceedings of the Conference on Functional Programming and Computer Architecture. Cambridge, MA, USA, pp. 124144.Google Scholar
Müller, O., Nipkow, T., von Oheimb, D. & Slotosch, O. (1999). HOLCF = HOL + LCF. J. Funct. Program., 9: 191223.CrossRefGoogle Scholar
Tullsen, M. (2002). PATH, A Program Transformation System for Haskell. PhD thesis, New Haven, CT: Yale University.Google Scholar
Submit a response

Discussions

No Discussions have been published for this article.