Skip to main content

A Reversible SE(M)CD Machine

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1868))

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ait-Kuci, H.: The WAM: A (Real) Tutorial, Technical Report, Digital Equipment Corporation, Paris Research Labs (1990)

    Google Scholar 

  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. Benett, C.: Logical Reversibility of Computation. IBM Journal of Research and Development 17, 525–532 (1973)

    Article  Google Scholar 

  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)

    Article  MathSciNet  Google Scholar 

  5. Benioff, P.: Quantum Mechanical Models of Turing Machines that Dissipate no Heat. Physical Review Letters 48, 1581–1585 (1982)

    Article  MathSciNet  Google Scholar 

  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. 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. Cardelli, L., McQueen, D.: The Functional Abstract Machine,The ML/LCF/HOPE Newsletter. AT&T, Bell Labs., Murray Hill, NJ (1983)

    Google Scholar 

  9. Church, A.: The Calculi of Lambda Conversion. Princeton University Press, Princeton (1941)

    Google Scholar 

  10. Fredkin, E., Toffoli, T.: Conservative Logic. Int. Journal of Theoretical Physics 21, 219–253 (1982)

    Article  MATH  MathSciNet  Google Scholar 

  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. Goldson, D.: A Symbolic Calculator for Non-Strict Functional Programs. The Computer Journal 37(3), 177–187 (1994)

    Article  Google Scholar 

  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. 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. Johnsson, T.: Compiling Lazy Functional Languages, PhD Thesis, Chalmers University of Technology, Goeteborg (1987)

    Google Scholar 

  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. Landin, P.J.: The Mechanical Evaluation of Expressions. The Computer Journal 6(4), 308–320 (1964)

    MATH  Google Scholar 

  18. Toffoli, T.: Bicontinuous Extensions of Invertible Combinatorial Functions. Mathematical Systems Theory 14, 13–23 (1981)

    Article  MATH  MathSciNet  Google Scholar 

  19. Warren, D.H.D.: An Abstract Prolog Instruction Set, Technical Note 309. SRI International, Menlo Park, CA (1983)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kluge, W. (2000). A Reversible SE(M)CD Machine. In: Koopman, P., Clack, C. (eds) Implementation of Functional Languages. IFL 1999. Lecture Notes in Computer Science, vol 1868. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10722298_6

Download citation

  • DOI: https://doi.org/10.1007/10722298_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67864-9

  • Online ISBN: 978-3-540-44658-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics