Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

Python: the full monty

Published: 29 October 2013 Publication History

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.
[2]
Matthias Felleisen, Robert Bruce Findler, and Matthew Flatt. Semantics Engineering with PLT Redex. MIT Press, 2009.
[3]
Matthias Felleisen and Robert Hieb. The revised report on the syntactic theories of sequential control and state. Theoretical Computer Science, 103(2), 1992.
[4]
Phil Frost. Pyflakes 0.6.1, 2013.
[5]
Arjun Guha, Claudiu Saftoiu, and Shriram Krishnamurthi. The Essence of JavaScript. In European Conference on Object-Oriented Programming, 2010.
[6]
JetBrains. Pycharm, 2013.
[7]
James McCauley. About pox, 2013.
[8]
Neal Norwitz. Pychecker 0.8.12, 2013.
[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.
[10]
Johann C. Rocholl. Pep 8 1.4.5, 2013.
[11]
Securities and Exchange Commission. Release nos. 33--9117; 34--61858; file no. s7-08--10, 2010. RIN 3235-AK37.
[12]
Gideon Joachim Smeding. An executable operational semantics for python. Master's thesis, Universiteit Utrecht, January 2009.
[13]
Sylvain Thenault. Pylint 0.27.0, 2013.
[14]
Wingware. Wingware python ide, 2013.
[15]
Ka-Ping Yee. Access to names in outer spaces, October 2009.

Cited By

View all
  • (2024)Identifying and Correcting Programming Language Behavior MisconceptionsProceedings of the ACM on Programming Languages10.1145/36498238:OOPSLA1(334-361)Online publication date: 29-Apr-2024
  • (2021)Uncertainty Analysis of Carbon Emissions from Highway Tunnel ConstructionCarbon Emission Calculation Methods for Highway Tunnel Construction10.1007/978-981-16-5308-7_5(107-163)Online publication date: 2-Sep-2021
  • (2018)Program Verification by CoinductionProgramming Languages and Systems10.1007/978-3-319-89884-1_21(589-618)Online publication date: 14-Apr-2018
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

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
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 29 October 2013
Published in SIGPLAN Volume 48, Issue 10

Check for updates

Author Tag

  1. serpents

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)79
  • Downloads (Last 6 weeks)4
Reflects downloads up to 19 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Identifying and Correcting Programming Language Behavior MisconceptionsProceedings of the ACM on Programming Languages10.1145/36498238:OOPSLA1(334-361)Online publication date: 29-Apr-2024
  • (2021)Uncertainty Analysis of Carbon Emissions from Highway Tunnel ConstructionCarbon Emission Calculation Methods for Highway Tunnel Construction10.1007/978-981-16-5308-7_5(107-163)Online publication date: 2-Sep-2021
  • (2018)Program Verification by CoinductionProgramming Languages and Systems10.1007/978-3-319-89884-1_21(589-618)Online publication date: 14-Apr-2018
  • (2018)Static Value Analysis of Python Programs by Abstract InterpretationNASA Formal Methods10.1007/978-3-319-77935-5_14(185-202)Online publication date: 11-Mar-2018
  • (2014)The Essence of RubyProgramming Languages and Systems10.1007/978-3-319-12736-1_5(78-98)Online publication date: 2014
  • (2024)Assessing the Understanding of Expressions: A Qualitative Study of Notional-Machine-Based Exam QuestionsProceedings of the 24th Koli Calling International Conference on Computing Education Research10.1145/3699538.3699554(1-12)Online publication date: 12-Nov-2024
  • (2024)Judicious: API Documentation for NovicesProceedings of the 2024 ACM SIGPLAN International Symposium on SPLASH-E10.1145/3689493.3689987(89-97)Online publication date: 17-Oct-2024
  • (2024)Redressing the Balance: A Yin-Yang Perspective on Information TechnologyProceedings of the 2024 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3689492.3689808(194-204)Online publication date: 17-Oct-2024
  • (2023)An Executable Semantics for Faster Development of Optimizing Python CompilersProceedings of the 16th ACM SIGPLAN International Conference on Software Language Engineering10.1145/3623476.3623529(15-28)Online publication date: 23-Oct-2023
  • (2023)The Essence of Verilog: A Tractable and Tested Operational Semantics for VerilogProceedings of the ACM on Programming Languages10.1145/36228057:OOPSLA2(234-263)Online publication date: 16-Oct-2023
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media