Advertisement

Abstract

The paper describes the basic concept of a reversible functional computing machine which can reduce a program term to its (weak) normal form and then do inverse reductions which re-construct the initial program term. The machine under consideration is a variant of Landin’s secd-machine which can evaluate terms of a simple applied λ-calculus both applicative and normal order. It includes some auxiliary run-time structures to accommodate the environment necessary for reverse computations. The machine is specified in terms of the state transition rules for both forward and backward computations.

Keywords

Normal Order Rule Application Reverse Computation Program Term Rule Index 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Ait-Kuci, H.: The WAM: A (Real) Tutorial, Technical Report, Digital Equipment Corporation, Paris Research Labs (1990)Google Scholar
  2. 2.
    Barendregt, H.P.: The Lambda Calculus, Its Syntax and Semantics. Studies in Logic and the Foundations of Mathematics, vol. 103. North-Holland, Amsterdam (1981)Google Scholar
  3. 3.
    Benett, C.: Logical Reversibility of Computation. IBM Journal of Research and Development 17, 525–532 (1973)CrossRefGoogle Scholar
  4. 4.
    Benioff, P.: The Computer as a Physical System: A Microscopic Quantum Mechanical Hamiltonian Model ofComputers as Represented by Turing Machines. Journal of Statistical Physics 22, 563–591 (1980)CrossRefMathSciNetGoogle Scholar
  5. 5.
    Benioff, P.: Quantum Mechanical Models of Turing Machines that Dissipate no Heat. Physical Review Letters 48, 1581–1585 (1982)CrossRefMathSciNetGoogle Scholar
  6. 6.
    Berkling, K.J.: Reduction Languages for Reduction Machines. In: Proceedings of the 2nd Annual Symposium on Computer Architecture, pp. 133–140. ACM/IEEE 75CH0916- 7C (1975)Google Scholar
  7. 7.
    Berkling, K.J.: Computer Architecture for Correct Programming. In: Proceedings of the 5th Annual Symposium on Computer Architecture, pp. 78–84. ACM/IEEE (1978)Google Scholar
  8. 8.
    Cardelli, L., McQueen, D.: The Functional Abstract Machine,The ML/LCF/HOPE Newsletter. AT&T, Bell Labs., Murray Hill, NJ (1983)Google Scholar
  9. 9.
    Church, A.: The Calculi of Lambda Conversion. Princeton University Press, Princeton (1941)Google Scholar
  10. 10.
    Fredkin, E., Toffoli, T.: Conservative Logic. Int. Journal of Theoretical Physics 21, 219–253 (1982)zbMATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Gaertner, D., Kluge, W.E.: π-RED +  - an interactive compiling graph reduction system for an applied λ-calculus. Journal of Functional Programming 6(Part 5), 723–757 (1996)Google Scholar
  12. 12.
    Goldson, D.: A Symbolic Calculator for Non-Strict Functional Programs. The Computer Journal 37(3), 177–187 (1994)CrossRefGoogle Scholar
  13. 13.
    Hindley, J.R., Seldin, J.P.: Introduction to Combinators and λ-Calculus, London Mathematical Society Student Texts . Cambridge University Press, Cambridge (1986)Google Scholar
  14. 14.
    Huelsbergen, L.: A logically reversible evaluator for the call-by-name lambda calculus. In: Toffoli, T., Biafore, M., Leao, J. (eds.) PhysCompm 1996, pp. 159–167. New England Complex Systems Institute (1996)Google Scholar
  15. 15.
    Johnsson, T.: Compiling Lazy Functional Languages, PhD Thesis, Chalmers University of Technology, Goeteborg (1987)Google Scholar
  16. 16.
    Kluge, W.E.: A User’s Guide for the Reduction System π-RED, Internal Report 9409, Dept. of Computer Science, University of Kiel, Germany (1994)Google Scholar
  17. 17.
    Landin, P.J.: The Mechanical Evaluation of Expressions. The Computer Journal 6(4), 308–320 (1964)zbMATHGoogle Scholar
  18. 18.
    Toffoli, T.: Bicontinuous Extensions of Invertible Combinatorial Functions. Mathematical Systems Theory 14, 13–23 (1981)zbMATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    Warren, D.H.D.: An Abstract Prolog Instruction Set, Technical Note 309. SRI International, Menlo Park, CA (1983)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Werner Kluge
    • 1
  1. 1.Department of Computer ScienceUniversity of KielKielGermany

Personalised recommendations