[Cython] CF based type inference

Stefan Behnel stefan_ml at behnel.de
Tue May 8 14:24:25 CEST 2012


Hi,

Vitja has rebased the type inference on the control flow, so I wonder if
this will enable us to properly infer this:

  def partial_validity():
    """
    >>> partial_validity()
    ('Python object', 'double', 'str object')
    """
    a = 1.0
    b = a + 2   # definitely double
    a = 'test'
    c = a + 'toast'  # definitely str
    return typeof(a), typeof(b), typeof(c)

I think, what is mainly needed for this is that a NameNode with an
undeclared type should not report its own entry as dependency but that of
its own cf_assignments. Would this work?

(Haven't got the time to try it out right now, so I'm dumping it here.)

Stefan


More information about the cython-devel mailing list