Room: BBL room 471
Speaker: Gideon Smeding
Title: An executable operational semantics for Python (thesis and sources)
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.