skip to main content
research-article

Python: the full monty

Published:29 October 2013Publication History
Skip Abstract Section

Abstract

We present a small-step operational semantics for the Python programming language. We present both a core language for Python, suitable for tools and proofs, and a translation process for converting Python source to this core. We have tested the composition of translation and evaluation of the core for conformance with the primary Python implementation, thereby giving confidence in the fidelity of the semantics. We briefly report on the engineering of these components. Finally, we examine subtle aspects of the language, identifying scope as a pervasive concern that even impacts features that might be considered orthogonal.

References

  1. Appcelerator. Pydev, 2013.Google ScholarGoogle Scholar
  2. Matthias Felleisen, Robert Bruce Findler, and Matthew Flatt. Semantics Engineering with PLT Redex. MIT Press, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Matthias Felleisen and Robert Hieb. The revised report on the syntactic theories of sequential control and state. Theoretical Computer Science, 103(2), 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Phil Frost. Pyflakes 0.6.1, 2013.Google ScholarGoogle Scholar
  5. Arjun Guha, Claudiu Saftoiu, and Shriram Krishnamurthi. The Essence of JavaScript. In European Conference on Object-Oriented Programming, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. JetBrains. Pycharm, 2013.Google ScholarGoogle Scholar
  7. James McCauley. About pox, 2013.Google ScholarGoogle Scholar
  8. Neal Norwitz. Pychecker 0.8.12, 2013.Google ScholarGoogle Scholar
  9. Joe Gibbs Politz, Matthew J. Carroll, Benjamin S. Lerner, Justin Pombrio, and Shriram Krishnamurthi. A Tested Semantics for Getters, Setters, and Eval in JavaScript. In Dynamic Languages Symposium, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Johann C. Rocholl. Pep 8 1.4.5, 2013.Google ScholarGoogle Scholar
  11. Securities and Exchange Commission. Release nos. 33--9117; 34--61858; file no. s7-08--10, 2010. RIN 3235-AK37.Google ScholarGoogle Scholar
  12. Gideon Joachim Smeding. An executable operational semantics for python. Master's thesis, Universiteit Utrecht, January 2009.Google ScholarGoogle Scholar
  13. Sylvain Thenault. Pylint 0.27.0, 2013.Google ScholarGoogle Scholar
  14. Wingware. Wingware python ide, 2013.Google ScholarGoogle Scholar
  15. Ka-Ping Yee. Access to names in outer spaces, October 2009.Google ScholarGoogle Scholar

Index Terms

  1. Python: the full monty

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 48, Issue 10
          OOPSLA '13
          October 2013
          867 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/2544173
          Issue’s Table of Contents
          • cover image ACM Conferences
            OOPSLA '13: Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
            October 2013
            904 pages
            ISBN:9781450323741
            DOI:10.1145/2509136

          Copyright © 2013 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 29 October 2013

          Check for updates

          Author Tags

          Qualifiers

          • research-article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!