Hi!

I've been a little bit busy last months, now I'm back.

I made first steps on implementing local type inference, TI for
assignments not only for their names.
Here is sample program that works:

(_entry_split) vitja@mchome:~/work/cython-vitek-git/zzz$ cat tf.pyx
# cython: infer_types.verbose=True
from cython cimport typeof

def foo(c):
    a = "abc"
    print a, typeof(a)
    if c:
        a = 123
    else:
        a = 1.123
    print a, typeof(a)

(_entry_split) vitja@mchome:~/work/cython-vitek-git/zzz$ make tf.c
python ../cython.py  -v tf.pyx -o tf.c
Compiling /home/vitja/work/cython-vitek-git/zzz/tf.pyx
Gonna split entries:
entry: Entry(name=a, type=<unspecified>)
... group: set([NameAssignment(entry=Entry(name=a,
type=<unspecified>)), NameAssignment(entry=Entry(name=a,
type=<unspecified>))])
... ... (<FileSourceDescriptor:/home/vitja/work/cython-vitek-git/zzz/tf.pyx>,
8, 10)
... ... (<FileSourceDescriptor:/home/vitja/work/cython-vitek-git/zzz/tf.pyx>,
10, 10)
... group: set([NameAssignment(entry=Entry(name=a, type=<unspecified>))])
... ... (<FileSourceDescriptor:/home/vitja/work/cython-vitek-git/zzz/tf.pyx>,
5, 6)
note: tf.pyx:5:6: inferred 'a.#1' to be of type 'Python object'
note: tf.pyx:5:6: inferred 'a.#0' to be of type 'double'

-- 
vitja.
_______________________________________________
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel

Reply via email to