Abstract |
This
talk presents Starkiller, a static type inferencing system for the python
language. Python is statically scoped, dynamically typed, object-oriented
programming language. I'm going to review techniques for concrete type inference
(specifically Agesen's Cartesian Product Algorithm), talk about python semantics
and how they confound type inference, and close by discussing how Starkiller
solves those problems. I'll also mention how Starkiller can detect a variety
of run time errors statically in addition to describing how Starkiller can
be used to guide optimization by inferring concrete types and statically
resolving dynamic dispatch. Expect a relatively informal chat, concentrating
on the operational issues involved rather than lots of theory. This talk
is targeted at practitioners in the python community, although there will
be something for theorists, language designers, compiler implementors, and
people from the Java, C++, and Scheme communities. Ultimately, my goal is
to develop better techniques for static type inferencing of dynamicly typed
OOP languages. Bring lunch and enjoy. |