On Oct 6, 2008, at 3:03 PM, Ondrej Certik wrote:

>> This works for me:
>>
>> import cython
>>
>> @cython.locals(x=int, y=cython.p_int)
>> def foo(x):
>>     y = cython.address(x)
>>     print x + cython.sizeof(y) + cython.sizeof(cython.p_int)
>>     print cython.compiled
>>
>> foo(34)
>
> Wow, this works too for me (I was trying that xx case above). This is
> what I get with pure python:
>
> 36
> False
>
> and cythonized:
>
> 42
> True

Yeah, the cython.sizeof stub always returns 1. The only place I could  
see sizeof being useful is a fake "malloc," etc. that return wrapped  
lists.

For most code the interpreted and compiled should do exactly the same  
thing.

>> Exactly how to do this with decorators (and/or automatically) is less
>> clear (syntax-wise, and there are more technical issues about
>> signatures matching, etc.). What you can do is write an
>> accompanying .pxd file which will, of course, be ignored by Python,
>> but can declare cdef classes/methods/etc for Cython. Then your class
>> and def statements will be appropriately coerced when you compile.
>
> This brings me the idea, why not to just take the current syntax and
> just generate a pure Python one from it? That way one also needs to
> maintain just one codebase, only it will by the Cython one, but it
> could always be used in Pure python.
>
> For some reason I prefer the pure python syntax approach though.

Same here. I'd edit the .py files then force the edit-compile-run  
cycle for that mode as well. Most code already exists (or starts out)  
as pure Python, then gets "cythonoized" which also makes it easier to  
go this direction. I also anticipate being able to point cython at  
any .py file to gain (at least some) improvements. All of these  
reasons make it easier for the .py file to be the "original" rather  
than generated.

Writing a .py writer would be a nontrivial amount of work as  
well...certainly doable but there are more productive things that I  
would rather spend my time doing :).

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

Reply via email to