On Dec 3, 2009, at 10:06 PM, Stefan Behnel wrote:

>
> Robert Bradshaw, 03.12.2009 18:15:
>> On Dec 3, 2009, at 12:56 AM, Stefan Behnel wrote:
>>> So my proposal is to enable type inference by default (after fixing
>>> the remaining bugs), but only for Python types (including extension
>>> types).
>>
>> Sounds like it would be safe (and very useful) to me. The only thing
>> that can happen on assignment between object types is a type check,
>> and the type inference engine infers based on the set of assignments,
>> so I don't see how it could go wrong.
>
> Implemented in
>
> http://hg.cython.org/cython-devel/rev/c0e5e7195070

Excellent.

> I noticed that type inference wasn't available for type  
> constructors. It is
> now:
>
> http://hg.cython.org/cython-devel/rev/ba5ae565b3d2
>
> Robert, I didn't quite understand the comment in  
> NameNode.infer_types(). Is
> there a reason why this wasn't enabled in the first place?

The problem is when I write

x = list

The type of x is not list, it's type. This should be changed back.

> Enabling the 'safe' mode breaks one (1!) test file in the test suite,
> typedfieldbug_T303. It was actually depending on the fact that  
> MyType()
> returns a generic object, not something that is known to be an  
> instance of
> MyType (with known readonly fields that are accessible at C level).
>
> This is really unlikely to break code IMHO, but we'll have to check  
> our own
> test suite to make sure we didn't accidentally send some tests into  
> void
> space by enabling some unexpected optimisations for them.
>
> Still, I left the default setting for the infer_types option as 'none'
> until we can be sure it works for all nodes. SliceIndexNode is still
> pending (which makes me wonder why this didn't show up in the test
> suite...). Once that's fixed, I'd vote for setting the option to  
> 'safe' by
> default. Would that go in for 0.12.1 or should we wait for 0.13?  
> (Maybe we
> should give Sage a build before answering that ...)

Sounds sensible, I like it. I don't have any strong opinions on what  
version it should go into, but I'd lean towards 0.13 (which should not  
be as long as a wait as 0.12 was). I'd like to get at least some of  
the C++ code into 0.13 as well.

- Robert


_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to