Abstract
When writing a program, especially in a high level language such as Haskell, the programmer is faced with a tension between abstraction and efficiency. A program that is easy to understand often fails to be efficient, while a more efficient solution often compromises clarity.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Augustsson, L., Rittri, M., Synek, D.: Functional pearl: On generating unique names. Journal of Functional Programming 4, 117–123 (1994)
Bellegarde, F.: A transformation system combining partial evaluation with term rewriting. In: Heering, J., Meinke, K., Möller, B., Nipkow, T. (eds.) HOA 1993. LNCS, vol. 816, pp. 40–55. Springer, Heidelberg (1994)
Bird, R.S.: Tabulation techniques for recursive programs. Computing Surveys 12(4), 403–417 (1980)
Bird, R.S.: The promotion and accumulation strategies in functional programming. ACM Transactions on Programming Languages and Systems 6(4), 487–504 (1984)
Bird, R.S.: Introduction to Functional Programming in Haskell. International Series in Computer Science. Prentice Hall, Englewood Cliffs (1998)
Boiten, E.A.: Improving recursive functions by inverting the order of evaluation. Science of Computer Programming 18(2), 139–179 (1992)
Burstall, R.M., Darlington, J.: A transformation system for developing recursive programs. Journal of the ACM 24(1), 44–67 (1977)
Chin, W.N.: Fusion and tupling transformations: Synergies and conflicts (invited paper). In: Fuji International Workshop on Functional and Logic Programming, pp. 176–195. World Scientific, Singapore (1995)
Curien, R., Qian, Z., Shi, H.: Efficient second-order matching. In: Ganzinger, H. (ed.) RTA 1996. LNCS, vol. 1103, pp. 317–331. Springer, Heidelberg (1996)
Gibbons, J., Jones, G.: The under-appreciated unfold. In: 3rd ACM SIGPLAN International Conference on Functional Programming 1998 (1998)
Hu, Z., Iwasaki, H., Takeichi, M.: Calculating accumulations. Technical Report METR 96-0-3, Department of Mathematical Engineering, University of Tokyo, Japan (1996), Available from : http://www.ipl.t.u-tokyo.ac.jp/hu/pub/tech.html
Hu, Z., Iwasaki, H., Takeichi, M., Takano, A.: Tupling calculation eliminates multiple data traversals. In: 2nd ACM SIGPLAN International Conference on Functional Programming (ICFP 1997), pp. 164–175 (1997)
Huet, G., Lang, B.: Proving and applying program transformations expressed with second-order patterns. Acta Informatica 11, 31–55 (1978)
Launchbury, J., Sheard, T.: Warm fusion: Deriving build-catas from recursive definitions. In: Functional Programming Languages and Computer Architecture, pp. 314–323. Association for Computing Machinery (1995)
Milner, R.: A theory of type polymorphism in programming. Journal of Computer and System Sciences 17, 348–375 (1978)
Onoue, Y., Hu, Z., Iwasaki, H., Takeichi, M.: A calculational fusion system hylo. In: Bird, R.S., Meertens, L. (eds.) IFIP TC2 Working Conference on Algorithmic Languages and Calculi, pp. 76–106. Chapman and Hall, Boca Raton (1997)
Pettorossi, A.: Methodologies for transformations and memoing in applicative languages. Ph.D. thesis CST-29-84, University of Edinburgh, Scotland (1984)
Peyton-Jones, S.L.: The Implementation of Functional Programming Languages. Foundations of Computing Series. Prentice-Hall International, Englewood Cliffs (1994)
Peyton-Jones, S.L., Santos, A.L.M.: A transformation-based optimiser for haskell. Science of Computer Programming 32(1-3), 3–48 (1998)
Swierstra, S.D., Duponcheel, L.: Deterministic, error-correcting combinatory parsers. In: Orłowska, E., Alferes, J.J., Moniz Pereira, L. (eds.) JELIA 1996. LNCS, vol. 1126, pp. 184–207. Springer, Heidelberg (1996)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
de Moor, O., Sittampalam, G. (1999). Generic Program Transformation. In: Swierstra, S.D., Oliveira, J.N., Henriques, P.R. (eds) Advanced Functional Programming. AFP 1998. Lecture Notes in Computer Science, vol 1608. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10704973_3
Download citation
DOI: https://doi.org/10.1007/10704973_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66241-9
Online ISBN: 978-3-540-48506-3
eBook Packages: Springer Book Archive