documenting formal operational semantics of Python

Kay Schluehr kay.schluehr at
Thu Mar 6 05:11:08 CET 2008

On 5 Mrz., 13:47, gideon <gideon.smed... at> wrote:
> Hi Everybody,
> In the context of a master's thesis I'm currently looking into
> Python's operational semantics. Even after extensive searching on the
> web, I have not found any formal model of Python. Therefore I am
> considering to write one myself. To make a more informed decision, I
> would like to ask you:
> What previous work has been done that I should be aware of? Currently
> I have found exactly nothing on python itself. There is some
> interesting work on other, related languages like Smalltalk.
> Which version of Python is the most interesting? Python 3.0, although
> it would be a moving target, seems promising. Because it will simplify
> the language in some aspects by ditching backwards compatibility (e.g.
> old style classes and coercion), the semantics will be more clean.
> Of course I will get, answers to many questions I did not ask. In
> fact, I would like you to vent your opinions on this matter.
> Thanks!

Specifying Python formally could be a life work if this is anyhow
possible. So one has to restrict on certain aspects. I guess the issue
most people inside the discipline but also outside academia would be
most interested in is evaluation contexts: how are dictionaries and
tuples used in evaluation of Python bytecodes? How are stack frames
built and what information do they contain? Some of this stuff is
beyond what ordinary Pythonistas look at ( other than runtime
developers ) and building an abstract Python machine would be

The class semantics alone might fill a master thesis but then you are
also already involved in the question on how dicts and scope are used
to store/access contextual information.

Specifying how garbage collection works would be another highlight.
There is incredibly many stuff lying around and being untouched by
language researchers who usually write appendices to the work of the
heroes of their own professors ( who really wants to read another work
about Scheme or Smalltalk? ). Let us know when you got done something.

More information about the Python-list mailing list