On Tue, Aug 25, 2015 at 3:58 PM, Charles R Harris <charlesr.har...@gmail.com
> wrote:

>
>
> On Tue, Aug 25, 2015 at 1:00 PM, Travis Oliphant <tra...@continuum.io>
> wrote:
>
>> Thanks for the write-up Nathaniel.   There is a lot of great detail and
>> interesting ideas here.
>>
>> <snip>
>>
>

> There are at least 3 areas of compatibility (ABI, API, and semantic).
>>  ABI-compatibility is a non-feature in today's world.   There are so many
>> distributions of the NumPy stack (and conda makes it trivial for anyone to
>> build their own or for you to build one yourself).   Making less-optimal
>> software-engineering choices because of fear of breaking the ABI is not
>> something I'm supportive of at all.   We should not break ABI every
>> release, but a release every 3 years that breaks ABI is not a problem.
>>
>> API compatibility should be much more sacrosanct, but it is also
>> something that can also be managed.   Any NumPy 2.0 should definitely
>> support the full NumPy API (though there could be deprecated swaths).    I
>> think the community has done well in using deprecation and limiting the
>> public API to make this more manageable and I would love to see a NumPy 2.0
>> that solidifies a future-oriented API along with a back-ward compatible API
>> that is also available.
>>
>> Semantic compatibility is the hardest.   We have already broken this on
>> multiple occasions throughout the 1.x NumPy releases.  Every time you
>> change the code, this can change.    This is what I fear causing deep
>> instability over the course of many years.     These are things like the
>> casting rule details,  the effect of indexing changes, any change to the
>> calculations approaches.     It is and has been the most at risk during any
>> code-changes.    My view is that a NumPy 2.0 (with a new low-level
>> architecture) minimizes these changes to a single release rather than
>> unavoidably spreading them out over many, many releases.
>>
>> I think that summarizes my main concerns.  I will write-up more forward
>> thinking ideas for what else is possible in the coming weeks.   In the mean
>> time, thanks for keeping the discussion going.  It is extremely exciting to
>> see the help people have continued to provide to maintain and improve
>> NumPy.    It will be exciting to see what the next few years bring as
>> well.
>>
>
> I think the only thing that looks even a little bit like a numpy 2.0 at
> this time is dynd. Rewriting numpy, let alone producing numpy 2.0 is a
> major project. Dynd is 2.5+ years old, 3500+ commits in, and still in
> progress.  If there is a decision to pursue Dynd I could support that, but
> I think we would want to think deeply about how to make the transition as
> painless as possible. It would be good at this point to get some feedback
> from people currently using dynd. IIRC, part of the reason for starting
> dynd was the perception that is was not possible to evolve numpy without
> running into compatibility road blocks. Travis, could you perhaps summarize
> the thinking that went into the decision to make dynd a separate project?
>

 Thanks Chuck.   I'll do this in a separate email, but I just wanted to
point out that when I say NumPy 2.0, I'm actually only specifically talking
about a release of NumPy that breaks ABI compatibility --- not some
potential re-write.   I'm not ruling that out, but I'm not necessarily
implying such a thing by saying NumPy 2.0.


> <snip>
>
> Chuck
>
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>


-- 

*Travis Oliphant*
*Co-founder and CEO*


@teoliphant
512-222-5440
http://www.continuum.io
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to