Dag Sverre Seljebotn, 14.10.2012 10:18:
> On 10/14/2012 08:18 AM, Stefan Behnel wrote:
>> mark florisson, 13.10.2012 20:30:
>>> On 12 October 2012 20:01, Dag Sverre Seljebotn wrote:
>>>> On 10/12/2012 05:50 PM, Robert Bradshaw wrote:
>>>>> On Fri, Oct 12, 2012 at 3:14 AM, mark florisson wrote:
>>>>>> On 12 October 2012 08:36, Stefan Behnel wrote:
>>>>>>> mark florisson, 24.08.2012 20:40:
>>>>>>>> Here a pull request for element-wise array expressions for Cython:
>>>>>>>> https://github.com/cython/cython/pull/144
>>>>>>>
>>>>>>> Mark, any news on this? I'd like to see a version merged before
>>>>>>> the master branch starts diverging all too far - it already
>>>>>>> requires a bit of adaptation.
>>>>>>> Did you manage to split off a separate minivect package?
>>>>>
>>>>> I'm assuming this has already been looked at, at least to some level,
>>>>> by Dag, but I'll try to take a brief pass at it too (probably more the
>>>>> interface than the implementation).
>>>>
>>>> Thanks for doing that, it'd be great to get this in (but myself I've got
>>>> nothing to spare). I'll admit I was mostly focused on the generated
>>>> code and
>>>> the algorithms in minivect rather than the integration with Cython.
>>>>
>>>>> I don't see a reason for a new pull request.
>>>
>>> Great. As for the packaging, I'm creating a distribution branch, and a
>>> subtree branch. Newer versions of git have a 'subtree' command
>>> (previously https://github.com/apenwarr/git-subtree), which allows one
>>> to split of, merge, push, and pull subdirectories.
>>>
>>> This means when users pull the master project, they get the
>>> sub-projects as well (without themselves needing newer git versions).
>>> Any changes to a subproject can be merged into the subproject, ands.
>>> changes can be pulled back in (with a squash option to avoid mixing in
>>> the subproject's history).
>>>
>>> What about using this approach? That way Cython remains stable and
>>> pinned on the right minivect version now and in the future, with no
>>> burden on users.
>>
>> I still prefer having separate packages. I mean, we don't ship NumPy
>> either, even though a lot of people use Cython together with it.
> 
> This is a very bad comparison. NumPy is not used by Cython at all, but by
> Cython-generated modules! Whereas minivect is a tool used in the compiler
> itself and working on the AST level.
> 
> Plex would be a better comparison (though bad as well, since Plex is not
> optional while minivect is).
> 
>> Keeping the two packages separate helps in keeping the interface between
>> both clean. I wouldn't want to end up with Cython shipping some patched up
>> version of minivect just because it's so easy, and I would like to allow
>> users to install a new version of either Cython or minivect at any time.
> 
> I think this goal (allowing separate upgrades of Cython and/or minivect) is
> unrealistic and pointless.
> 
> I think you should look at minivect as "some AST transform algorithms which
> numba and Cython are able to share". It doesn't really have a life on its
> own, it's just a means for Cython and numba to cooperate. (Really long-term
> then hopefully NumPy, numexpr, Theano etc. would jump on too, but that
> won't happen just yet. If it does, we can revisit this.)

Ok, so I gave bad examples, fair enough. But I still don't see why we
should integrate minivect with Cython more deeply than necessary. Could you
explain what the advantage would be over having two separate packages?

Stefan

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

Reply via email to