Abstract
The specification and derivation of substitution for the de Bruijn representation of λ-terms is used to illustrate programming with a functionsequence monad. The resulting program is improved by interactive program transformation methods into an efficient implementation that uses primitive machine arithmetic. These transformations illustrate new techniques that assist the discovery of the arithmetic structure of the solution.
Both authors are supported in part by a grant from the NSF (CCR-9101721).
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Françoise Bellegarde. Program transformation and rewriting. In Proceedings of the fourth conference on Rewriting Techniques and Applications, volume 488 of LNCS, pages 226–239, Berlin, 1991. Springer-Verlag.
N. G. de Bruijn. Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem. Indagaciones Mathematische, 34:381–392, 1972.
N. G. de Bruijn. Lambda calculus with namefrce formulas involving symbols that represent reference transforming mappings. In Proc. of the Koninklijke Nederlandse Akademie van Wetenschappcn, pages 348–356, Amsterdam, series A, volume 81(3), September 1978.
Charles Consel. The Schism Manual. Technical report, Oregon Grad. Inst., 1992.
James Hook, Richard Kieburlz, and Tim Sheard. Generating programs by reflection. Technical Report 92-015, Oregon Grad. Inst., July 1992.
Eugenio Moggi. Notions of computations and monads. Information and Compulation, 93(1):55–92, July 1991.
John C. Reynolds. Definitional interpreters for higher-order programming languages. In ACM National Conference, pages 717–740. ACM, 1972.
Philip Wadler. The essence of functional programming. In POPL '92. ACM Press, January 1992.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bellegarde, F., Hook, J. (1993). Monads, indexes and transformations. In: Gaudel, M.C., Jouannaud, J.P. (eds) TAPSOFT'93: Theory and Practice of Software Development. CAAP 1993. Lecture Notes in Computer Science, vol 668. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-56610-4_73
Download citation
DOI: https://doi.org/10.1007/3-540-56610-4_73
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-56610-6
Online ISBN: 978-3-540-47598-9
eBook Packages: Springer Book Archive