Email [comp.lang.python.announce] Localized Type Inference of Atomic Types in Python

from
to
Sylvain Thenault <syt at logilab dot fr>
subject
[comp.lang.python.announce] Localized Type Inference of Atomic Types in Python
date
2005/05/26 10:04
On Tue, 24 May 2005 16:11:34 -0700, Brett C. wrote:

> My thesis, "Localized Type Inference of Atomic Types in Python", was
> successfully defended today for my MS in Computer Science at the California
> Polytechnic State University, San Luis Obispo.  With that stamp of approval I
> am releasing it to the world.  You can grab a copy at
> http://www.drifty.org/thesis.pdf .

> For those of you who attended my talk at PyCon 2005 this is the thesis that
> stemmed from the presented data.

> As of this exact moment I am not planning to release the source code mainly
> because it's a mess, I am not in the mood to pull the patches together, and the
> last thing I want happening is people finding mistakes in the code.  =)  But if
> enough people request the source I will take the time to generate a tar.bz2
> file of patches against the 2.3.4 source release and put them up somewhere.

> Below is the abstract culled directly from the thesis itself.

> -Brett C.

> ---------------------------------
> ABSTRACT

> Types serve multiple purposes in programming.  One such purpose is in providing
> information to allow for improved performance.  Unfortunately, specifying the
> types of all variables in a program does not always fit within the design of a
> programming language.

> Python is a language where specifying types does not fit within the language
> design.  An open source, dynamic programming language, Python does not support
> type specifications of variables.  This limits the opportunities in Python for
> performance optimizations based on type information  compared to languages that
> do allow or require the specification of types.

> Type inference is a way to derive the needed type information for optimizations
> based on types without requiring type specifications in the source code of a
> program.  By inferring the types of variables based on flow control and other
> hints in a program, the type information can be derived and used in a
> constructive manner.

> This thesis is an exploration of implementing a type inference algorithm for
> Python without changing the semantics of the language.  It also explores the
> benefit of adding type annotations to method calls in order to garner more type
> information.

-- 
Sylvain Thénault                               LOGILAB, Paris (France).

http://www.logilab.com   http://www.logilab.fr  http://www.logilab.org