Skip to main content

From Outermost Reduction Semantics to Abstract Machine

  • Conference paper
  • First Online:
Logic-Based Program Synthesis and Transformation (LOPSTR 2013)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8901))

  • 319 Accesses

Abstract

Reduction semantics is a popular format for small-step operational semantics of deterministic programming languages with computational effects. Each reduction semantics gives rise to a reduction-based normalization function where the reduction sequence is enumerated. Refocusing is a practical way to transform a reduction-based normalization function into a reduction-free one where the reduction sequence is not enumerated. This reduction-free normalization function takes the form of an abstract machine that navigates from one redex site to the next without systematically detouring via the root of the term to enumerate the reduction sequence, in contrast to the reduction-based normalization function.

We have discovered that refocusing does not apply as readily for reduction semantics that use an outermost reduction strategy and have overlapping rules where a contractum can be a proper subpart of a redex. In this article, we consider such an outermost reduction semantics with backward-overlapping rules, and we investigate how to apply refocusing to still obtain a reduction-free normalization function in the form of an abstract machine.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Anton, K., Thiemann, P.: Towards deriving type systems and implementations for coroutines. In: Ueda, K. (ed.) APLAS 2010. LNCS, vol. 6461, pp. 63–79. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  2. Biernacka, M., Danvy, O.: A concrete framework for environment machines. ACM Transactions on Computational Logic 9(1), 1–30 (2007). Article #6. Extended version available as the research report BRICS RS-06-3

    Article  MathSciNet  Google Scholar 

  3. Biernacka, M., Danvy, O.: A syntactic correspondence between context-sensitive calculi and abstract machines. Theoretical Computer Science 375(1–3), 76–108 (2007). Extended version available as the research report BRICS RS-06-18

    Article  MathSciNet  MATH  Google Scholar 

  4. Danvy, O.: Defunctionalized interpreters for programming languages. In: Hook, J., Thiemann, P. (eds.) Proceedings of the 2008 ACM SIGPLAN International Conference on Functional Programming (ICFP 2008). SIGPLAN Notices, 43(9), pp. 131–142. ACM Press. Invited talk, Victoria, British Columbia (September 2008)

    Google Scholar 

  5. Danvy, O.: From reduction-based to reduction-free normalization. In: Koopman, P., Plasmeijer, R., Swierstra, D. (eds.) AFP 2008. LNCS, vol. 5832, pp. 66–164. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  6. Danvy, O., Johannsen, J., Zerny, I.: A walk in the semantic park. In: Khoo, S.C., Siek, J. (eds.) Proceedings of the 2011 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation (PEPM 2011), pp, pp. 1–12. ACM Press. Invited talk, Austin, Texas (2011)

    Google Scholar 

  7. Danvy, O., Millikin, K.: A rational deconstruction of Landin’s SECD machine with the J operator. Logical Methods in Computer Science 4(4:12), 1–67 (2008)

    MathSciNet  Google Scholar 

  8. Danvy, O., Millikin, K., Munk, J.: A correspondence between full normalization by reduction and full normalization by evaluation. Manuscript (July 2007)

    Google Scholar 

  9. Danvy, O., Nielsen, L.R.: Refocusing in reduction semantics. Research Report BRICS RS-04-26, Department of Computer Science, Aarhus University, Aarhus, Denmark: A preliminary version was presented at the 2nd International Workshop on Rule-Based Programming (RULE 2001). Electronic Notes in Theoretical Computer Science 59.4 (November 2004)

    Google Scholar 

  10. Danvy, O., Zerny, I.: A prequel to reduction semantics. [33, Chapter 5]

    Google Scholar 

  11. Dershowitz, N.: Termination of linear rewriting systems (preliminary version). In: Even, S., Kariv, O. (eds.) Automata. Languages, and Programming, 8th Colloquium, number 115 in Lecture Notes in Computer Science, pp. 448–458. Springer-Verlag, Acre (Akko), Israel (1981)

    Google Scholar 

  12. Dershowitz, N.: Termination of rewriting. Journal of Symbolic Computation 3(1/2), 69–116 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  13. Felleisen, M.: The Calculi of \(\lambda \)-v-CS Conversion: A Syntactic Theory of Control and State in Imperative Higher-Order Programming Languages. PhD thesis, Computer Science Department, Indiana University, Bloomington, Indiana (August 1987)

    Google Scholar 

  14. Felleisen, M., Findler, R.B., Flatt, M.: Semantics Engineering with PLT Redex, The MIT Press, Flatt (2009)

    Google Scholar 

  15. García-Pérez, Á: Operational Aspects of Full Reduction in Lambda Calculi. PhD thesis, Departamento de Lenguajes, Sistemas Informáticos e Ingeniería de Software, Universidad Politecnica de Madrid, Madrid, Spain (2014)

    Google Scholar 

  16. García-Pérez, Á., Nogueira, P.: A syntactic and functional correspondence between reduction semantics and reduction-free full normalisers. In: Albert, E., Mu, S.C. (eds.) Proceedings of the ACM SIGPLAN 2013 Workshop on Partial Evaluation and Semantics-Based Program Manipulation (PEPM 2013). pp. 107–116. ACM Press, Rome, Italy (2013)

    Google Scholar 

  17. Geupel, O.: Overlap closures and termination of term rewriting systems. Technical Report MIP-8922, Fakultät für Mathematik und Informatik, Universität Passau, Passau, Germany (July 1989)

    Google Scholar 

  18. Guttag, J.V., Kapur, D., Musser, D.R.: On proving uniform termination and restricted termination of rewriting systems. SIAM Journal on Computing 12(1), 189–214 (1983)

    Article  MathSciNet  MATH  Google Scholar 

  19. Hermann, M., Privera, I.: On nontermination of Knuth-Bendix algorithm. In: Kott, L. (ed.) Automata. Languages, and Programming, 13th International Colloquium, ICALP86, number 226 in Lecture Notes in Computer Science, pp. 146–156. Springer-Verlag, Rennes, France (1986)

    Google Scholar 

  20. Jiresch, E.: A Term Rewriting Laboratory with Systematic and Random Generation and Heuristic Test Facilities. PhD thesis, Vienna University of Technology, Vienna, Austria (June 2008)

    Google Scholar 

  21. Lankford, D.S.: Canonical inference. Technical Report ATP-32, Department of Mathematics, Southwestern University, Georgetown, Texas (December 1975)

    Google Scholar 

  22. Meseguer, J.: Twenty years of rewriting logic. Journal of Logic and Algebraic Programming 81, 721–781 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  23. Millikin, K.: A Structured Approach to the Transformation, Normalization and Execution of Computer Programs. PhD thesis, BRICS PhD School, Aarhus University, Aarhus, Denmark (May 2007)

    Google Scholar 

  24. Munk, J.: A study of syntactic and semantic artifacts and its application to lambda definability, strong normalization, and weak normalization in the presence of state. Master’s thesis, Department of Computer Science, Aarhus University, Aarhus, Denmark (May 2007). BRICS research report RS-08-3

    Google Scholar 

  25. Pierce, B.C.: Types and Programming Languages. The MIT Press (2002)

    Google Scholar 

  26. Plotkin, G.D.: Call-by-name, call-by-value and the \(\lambda \)-calculus. Theoretical Computer Science 1, 125–159 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  27. Plotkin, G.D.: A structural approach to operational semantics. Technical Report FN-19, Department of Computer Science, Aarhus University, Aarhus, Denmark, September 1981. Reprinted in the Journal of Logic and Algebraic Programming 60–61, 17–139. (2004), with a foreword [28]

    Google Scholar 

  28. Plotkin, G.D.: The origins of structural operational semantics. Journal of Logic and Algebraic Programming 60–61, 3–15 (2004)

    Article  MathSciNet  Google Scholar 

  29. Sergey, I., Clarke, D.: A correspondence between type checking via reduction and type checking via evaluation. Information Processing Letters 112(13–20), 13–20 (2011)

    MathSciNet  Google Scholar 

  30. Slagle, J.R.: Automated theorem-proving for theories with simplifiers, commutativity, and associativity. Journal of the ACM 21(4), 622–642 (1974)

    Article  MathSciNet  MATH  Google Scholar 

  31. Terese. Term Rewriting Systems. Cambridge Tracts in Theoretical Computer Science, vol. 55. Cambridge University Press (2003)

    Google Scholar 

  32. Wright, A.K., Felleisen, M.: A syntactic approach to type soundness. Information and Computation 115, 38–94 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  33. Zerny, I.: The Interpretation and Inter-derivation of Small-step and Big-step Specifications. PhD thesis, Department of Computer Science, Aarhus University, Aarhus, Denmark (June 2013)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Olivier Danvy .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Danvy, O., Johannsen, J. (2014). From Outermost Reduction Semantics to Abstract Machine. In: Gupta, G., Peña, R. (eds) Logic-Based Program Synthesis and Transformation. LOPSTR 2013. Lecture Notes in Computer Science(), vol 8901. Springer, Cham. https://doi.org/10.1007/978-3-319-14125-1_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-14125-1_6

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-14124-4

  • Online ISBN: 978-3-319-14125-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics