2012/7/13 Vitja Makarov <vitja.maka...@gmail.com>: > 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' >
Oops, sorry, here is my branch https://github.com/vitek/cython/tree/_entry_split -- vitja. _______________________________________________ cython-devel mailing list cython-devel@python.org http://mail.python.org/mailman/listinfo/cython-devel