Abstract
Lambda-calculus is extended in order to represent a rather large class of recursive equation systems, implicitly characterizing function(al)s or mappings of some algebraic domain into arbitrary sets. Algebraic equality will then be represented by λβδ-convertibility (or even reducibility). It is then proved, under very weak assumptions on the structure of the equations, that there always exist solutions in normal form (Interpretation theorem). Some features of the solutions, like the use of parametric representations of the algebraic constructors, higher-order solutions by currification, definability of functions on unions of algebras, etc., have been easily checked by a first implementation of the mentioned theorem, the CuCh machine.
This work has been partially supported by grants from ESPRIT BRA 7232 working group “Gentzen” and from MURST 40% (Italy).
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
S. Abramsky, C.-H.L. Ong, Full Abstraction in the Lazy Lambda Calculus, Technical Report 259, Cambridge University Computer Laboratory, 1992, 105 pp. To appear in Info. and Comp.
L.Augustsson and T.Johnsson, The Chalmers Lazy-ML Compiler, The Computer Journal, vol. 32, no. 2, April 1989.
J. Backus, Can programming be liberated from vonNeumann style? A functional style and its algebra of programs, ACM Comm., 1978, vol. 21, no. 8, pp. 613–641.
H.P.Barendregt, The type free lambda-calculus, in: Handbook of Mathematical Logic, Barwise (ed.), North Holland, 1981, pp.1092–1132.
A. Berarducci and C. Böhm, A self-interpreter of lambda calculus having a normal form, 6th Workshop CSL '92, San Miniato, Italy, September–October 1992, eds E. Börger et al., Springer Verlag, Berlin (LNCS 702), pp. 85–99.
C. Böhm, Combinatory foundation of functional programming, in 1982 ACM Symposium on Lisp and functional programming, 1982, Pittsburgh, Pen., pp.29–36.
C. Böhm, Reducing Recursion to Iteration by Algebraic Extension in: ESOP 86, (LNCS 213), p.111–118, 1986.
C. Böhm, Reducing Recursion to Iteration by means of Pairs and N-tuples, in: Foundations of Logic and Functional Programming, LNCS 306, p. 58–66, 1988.
C. Böhm, Functional Programming and Combinatory Algebras, MFCS, Carlsbad, August–September 1988, eds M. P. Chytil et al., Springer Verlag, Berlin (LNCS 324), pp. 14–26.
C. Böhm, Subduing Self-Application, ICALP '89, Stresa, July 11–15 1989, eds G. Ausiello et al., Springer Verlag, Berlin (LNCS 372), pp. 108–122.
C. Böhm and A. Berarducci, Automatic Synthesis of Typed λ-Programs on Term Algebras, Theoretical Computer Science 39, pp. 135–154, 1985.
C. Böhm and M. Dezani-Ciancaglini, A CUCH-machine: the automatic treatment of bound variables, International Journal of Computer and Information Sciences, vol. 1, no. 2, pp. 171–191, June 1972.
C.Böhm and M.Dezani-Ciancaglini, Notes on “A CUCH-machine: the automatic treatment of bound variables”, International Journal of Computer and Information Sciences, vol. 2, no. 2, pp. 157–160, June 1973.
C.Böhm and M.Dezani-Ciancaglini, Combinatorial problems, combinator equations and normal forms, in: Loeckx (ed.) Automata, Languages and Programming 2th. Colloquium, LNCS 14, 1974, pp.185–199.
C.Böhm and M.Dezani-Ciancaglini, λ-terms as total or partial functions on normal forms, in: λ-Calculus an computer science theory Böhm (ed.), LNCS 37, Springer, 1975, pp.96–121.
A.Church, The calculi of lambda-conversion, Princeton Univ.Press, 1941.
H.B.Curry, Combinatory Logic, Vol I, North Holland, Amsterdam, 1958.
D.P.Friedman and D.S.Wise, Cons should not evaluate its arguments, Proc.3rd International Colloquium on Automata, Languages and Programming, Edinburgh, 1976, pp.257–284.
A.Gill, J.Launchbury and S.L.Peyton-Jones, A Short Cut to Deforestation, Functional Programming and Computer Architecture, 1993.
J.Hughes, Why Functional Programming Matters, The Computer Journal, special issue on Lazy Functional Programming, vol. 32, no. 2, April 1989.
J.Hughes, Supercombinators: a new implementation method for applicative languages, Symp. on LISP and Functional Programming, ACM, 1982.
S.C.Kleene, λ-definability and recursiveness, Duke Math.J. 2, pp.340–353.
D.E.Knuth, The Art of Computer Programming, Vol. 1/Fundamental Algorithms, Addison-Wesley, 1973.
M. Parigot. Programming with proofs: a second order type theory, ESOP'88, LNCS 300, pp. 145–159.
S.L.Peyton Jones, The Implementation of Functional Programming Languages, Prentice-Hall, 1986.
H.Schwichtenberg, Einige Anwendungen von unendlichen Termen und Wertfunktionalen, Habilitationsschrift, Münster, 67 pp., 1973.
J.R.Shoenfield, Matematical Logic, Addison Wesley, 1967.
H.R. Strong, Algebraically Generalized Recursive Function Theory, IBM J.Res. Develop.12 (1968), pp. 465–475.
E.Tronci, Equational programming in lambda-calculus, Proc.of LICS'91, IEEE Comp.Soc. 1991.
A.Turing, On computable numbers with an application to the Entscheidungsproblem, Proc.London Math.Soc. 42, pp.230–265.
D.A.Turner, A new implementation technique for applicative languages, Software practice and experience, no. 9, 1979.
E.G.Wagner, Uniformly Reflexive Structures: An Axiomatic Approach to Computability, Information Sci.1 (1969), pp. 343–362.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Böhm, C., Piperno, A., Guerrini, S. (1994). λ-definition of function(al)s by normal forms. In: Sannella, D. (eds) Programming Languages and Systems — ESOP '94. ESOP 1994. Lecture Notes in Computer Science, vol 788. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57880-3_9
Download citation
DOI: https://doi.org/10.1007/3-540-57880-3_9
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57880-2
Online ISBN: 978-3-540-48376-2
eBook Packages: Springer Book Archive