optional static typing for Python

Arnaud Delobelle arnodel at googlemail.com
Mon Jan 28 00:22:29 CET 2008


On Jan 27, 11:00 pm, "Russ P." <Russ.Paie... at gmail.com> wrote:
> On Jan 27, 2:49 pm, "André" <andre.robe... at gmail.com> wrote:
> > Perhaps this:http://www.python.org/dev/peps/pep-3107/mightbe
> > relevant?
> > André
>
> Thanks. If I read this correctly, this PEP is on track for Python 3.0.
> Wonderful!

Note that annotations do not provide explicit typing, AFAIK:

def f(x:int) -> int: return x*2

is stricly equivalent to

def f(x): return x*2
f.__annotations__ = {'x':int, 'return':int}

You still need to write a type-checking wrapper. PEP 3107 mentions two
such tools:
* http://oakwinter.com/code/typecheck/
* http://maxrepo.info/taxonomy/term/3,6/all
Neither require annotations.




More information about the Python-list mailing list