Abstract
Accumulations are recursive functions that keep intermediate results in additional parameters which are eventually used in later stages of the computation. We present a generic definition of accumulations obtained by the introduction of a new recursive operator on inductive types. We also show that the notion of downwards accumulation developed by Gibbons is subsumed by our notion of accumulation.
The original version of this chapter was revised: The copyright line was incorrect. This has been corrected. The Erratum to this chapter is available at DOI: 10.1007/978-0-387-35672-3_13
Chapter PDF
References
R. Aubin. Mechanizing Structural Induction: Part I and II. Theoretical Computer Science, 9: 329–362, 1979.
R. Backhouse, P. Jansson, J. Jeuring, L. Meertens. Generic Programming - An Introduction -. In Advanced Functional Programming, LNCS 1608. Springer-Verlag, 1999.
R. Bird. Introduction to Functional Programming using Haskell ( 2nd edition ). Prentice-Hall, UK, 1998.
R.S. Bird. The Promotion and Accumulation Strategies in Transformational Programming. ACM Transactions on Programming Languages and Systems, 6 (4), October 1984.
R.S. Bird, O. de Moor. Algebra of Programming. Prentice Hall, UK, 1997.
R.S. Bird, P.F. Hoogendijk, O. De Moor. Generic Programming with Relations and Functors. Journal of Functional Programming, 6 (1): 1–28, 1996.
R.S. Boyer, J.S. Moore. A Computational Logic. Academic Press, 1979.
R. M. Burstall, J. Darlington. A Transformation System for Developing Recursive Programs. JA CM, 24 (1): 44–67, January 1977.
R. Cockett, T. Fukushima. About Charity. Technical Report 92/480/18, University of Calgary, June 1992.
R. Cockett, D. Spencer. Strong Categorical Datatypes I. In R.A.C. Seely, editor, International Meeting on Category Theory 1991, volume 13 of Canadian Mathematical Society Conference Proceedings, pages 141–169, 1991.
M.M. Fokkinga. Law and Order in Algorithmics. PhD thesis, Universiteit Twente, The Netherlands, 1992.
M.M. Fokkinga. Datatype Laws without Signatures. Mathematical Structures in Computer Science, 6: 1–32, 1996.
J. Gibbons. Upwards and Downwards Accumulations on Trees. In R.S. Bird, C.C. Morgan, J.0 P. Woodcock, editors, Mathematics of Program Construction, LNCS 669. Springer-Verlag, 1993.
J. Gibbons. Polytypic Downwards Accumulations. In Mathematics of Program Construction, LNCS 1422. Springer-Verlag, 1998.
J. Gibbons. Generic Downwards Accumulations. Science of Computer Programming, 37 (1–3): 37–65, 2000.
J. Gibbons and G. Jones. The Under-Appreciated Unfold. In Proc. 3rd. ACM SICPLAN International Conference on Functional Programming. ACM, September 1998.
M.C. Henson. Elements of Functional Programming. Computer Science Texts. Blackwell Scientific Publications, 1987.
R. Hinze. Polytypic Programming with Ease. In 4th Fuji International Symposium on Functional and Logic Programming (FLOPS’99), Tsukuba, Japan., Lecture Notes in Computer Science Vol. 1722, pages 21–36. Springer-Verlag, 1999.
Z. Hu, H. Iwasaki, M. Takeichi. Calculating Accumulations. Technical Report METR 96–03, Faculty of Engineering, University of Tokyo, March 1996.
B. Jacobs. Parameters and Parameterization in Specification, using distributive categories. Fundamenta Informaticae, 24 (3): 209–250, 1995.
B. Jacobs, J. Rutten. A tutorial on (co)algebras and (co)induction. Bulletin of EATCS, 62: 222–259, 1997.
J. Jeuring. Theories for Algorithm Calculation. PhD thesis, Utrecht University, 1993.
D.J. Lehmann, M.B. Smith. Algebraic specification of data types. Mathematical Systems Theory, 14: 97–139, 1981.
G. Malcolm. Data Structures and Program Transformation. Science of Computer Programming, 14: 255–279, 1990.
E.G. Manes, M.A. Arbib. Algebraic Approaches to Program Semantics. Texts and Monographs in Computer Science. Springer-Verlag, 1986.
Z. Manna, R. Waldinger. The Deductive Foundations of Computer Programming. Addison-Wesley, 1993.
E. Meijer, M. Fokkinga, R. Paterson. Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire. In Proceedings of Functional Programming Languages and Computer Architecture’91, LNCS 523. Springer-Verlag, August 1991.
A. Pardo. Towards Merging Recursion and Comonads. In Workshop on Generic Programming,Ponte de Lima, Portugal, July 2000. Technical Report UU-CS2000–19, Utrecht University.
A. Pardo. A Calculational Approach to Recursive Programs with Effects. PhD thesis, Technische Universität Darmstadt, October 2001.
L.C. Paulson. ML for the Working Programmer. Cambridge University Press, Cambridge, UK, 1991.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 IFIP International Federation for Information Processing
About this chapter
Cite this chapter
Pardo, A. (2003). Generic Accumulations. In: Gibbons, J., Jeuring, J. (eds) Generic Programming. IFIP — The International Federation for Information Processing, vol 115. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-35672-3_3
Download citation
DOI: https://doi.org/10.1007/978-0-387-35672-3_3
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4757-5320-2
Online ISBN: 978-0-387-35672-3
eBook Packages: Springer Book Archive