An Executable Operational Semantics For Python

Stc
Date: 2008-10-23

Time: 11:45

Room: BBL room 471

Speaker: Gideon Smeding

Title: An executable operational semantics for Python (thesis and sources)

Abstract

Programming languages are often specified only in an informal manner; in the available documentation, the language behavior is described by examples and text. Only the implementation, a compiler or interpreter, describes the exact semantics of constructs.

Python is no different. It is described by an informal manual and a number of implementations. No systematic, formal descriptions of its semantics are available.

We developed a formal semantics for a comprehensive subset of Python. The semantics are described in literate Haskell. The source code is used to generate both a Python interpreter, and a formal specification document.