<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Mar 6, 2014 at 1:59 PM, Nathaniel Smith <span dir="ltr"><<a href="mailto:njs@pobox.com" target="_blank">njs@pobox.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">On Thu, Mar 6, 2014 at 9:11 AM, David Cournapeau <<a href="mailto:cournape@gmail.com">cournape@gmail.com</a>> wrote:<br>

><br>
> On Wed, Mar 5, 2014 at 9:11 PM, Nathaniel Smith <<a href="mailto:njs@pobox.com">njs@pobox.com</a>> wrote:<br>
</div><div class="">>> So this project would have the following goals, depending on how<br>
>> practical this turns out to be: (1) produce a hacky proof-of-concept<br>
>> system for doing the above, (2) turn the hacky proof-of-concept into<br>
>> something actually viable for use in real life (possibly this would<br>
>> require getting changes upstream into Cython, etc.), (3) use this<br>
>> system to actually port some interesting numpy code into cython.<br>
><br>
><br>
> Having to synchronise two projects may be hard for a GSoC, no ?<br>
<br>
</div>Yeah, if someone is interested in this it would be nice to get someone<br>
from Cython involved too. But that's why the primary goal is to<br>
produce a proof-of-concept -- even if all that comes out is that we<br>
learn that this cannot be done in an acceptable manner, then that's<br>
still a succesful (albeit disappointing) result.<br>
<div class=""><br>
> Otherwise, I am a bit worried about cython being used on the current C code<br>
> as is, because core and python C API are so interwined (especially<br>
> multiarray).<br>
<br>
</div>I don't understand this objection. The whole advantage of Cython is<br>
that it makes it much, much easier to write code that involves<br>
intertwining complex algorithms and heavy use of the Python C API :-). </blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
There's tons of bug-prone spaghetti in numpy for doing boring things<br>
like refcounting, exception passing, and argument parsing.<br></blockquote><div><br></div><div>No argument there, doing refcounting, etc.. manually is a waste of time.</div><div><br></div><div>Ideally, cython would be used for the boring stuff, and we keep C for the low-level machinery, but the current code don't cleanly separate those two layers (there is simple C API for indexing, ufunc, etc...). I am concerned about cython making that difference even more blurry.</div>
<div><br></div><div>David</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="HOEnZb"><font color="#888888"><br>
-n<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
--<br>
Nathaniel J. Smith<br>
Postdoctoral researcher - Informatics - University of Edinburgh<br>
<a href="http://vorpus.org" target="_blank">http://vorpus.org</a><br>
_______________________________________________<br>
NumPy-Discussion mailing list<br>
<a href="mailto:NumPy-Discussion@scipy.org">NumPy-Discussion@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/numpy-discussion" target="_blank">http://mail.scipy.org/mailman/listinfo/numpy-discussion</a><br>
</div></div></blockquote></div><br></div></div>