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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
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
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
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)
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)
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)
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)
Danvy, O., Millikin, K., Munk, J.: A correspondence between full normalization by reduction and full normalization by evaluation. Manuscript (July 2007)
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)
Danvy, O., Zerny, I.: A prequel to reduction semantics. [33, Chapter 5]
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)
Dershowitz, N.: Termination of rewriting. Journal of Symbolic Computation 3(1/2), 69–116 (1987)
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)
Felleisen, M., Findler, R.B., Flatt, M.: Semantics Engineering with PLT Redex, The MIT Press, Flatt (2009)
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)
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)
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)
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)
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)
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)
Lankford, D.S.: Canonical inference. Technical Report ATP-32, Department of Mathematics, Southwestern University, Georgetown, Texas (December 1975)
Meseguer, J.: Twenty years of rewriting logic. Journal of Logic and Algebraic Programming 81, 721–781 (2012)
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)
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
Pierce, B.C.: Types and Programming Languages. The MIT Press (2002)
Plotkin, G.D.: Call-by-name, call-by-value and the \(\lambda \)-calculus. Theoretical Computer Science 1, 125–159 (1975)
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]
Plotkin, G.D.: The origins of structural operational semantics. Journal of Logic and Algebraic Programming 60–61, 3–15 (2004)
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)
Slagle, J.R.: Automated theorem-proving for theories with simplifiers, commutativity, and associativity. Journal of the ACM 21(4), 622–642 (1974)
Terese. Term Rewriting Systems. Cambridge Tracts in Theoretical Computer Science, vol. 55. Cambridge University Press (2003)
Wright, A.K., Felleisen, M.: A syntactic approach to type soundness. Information and Computation 115, 38–94 (1994)
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)