I'm a potential user of the C-API and therefore I'm very interested in
the outcome.
In the previous discussion
(http://comments.gmane.org/gmane.comp.python.numeric.general/37409)
many different views on what the new C-API "should" be were expressed.

Naturally, I wonder if the new C-API will be useful for my purposes.
So,  I'm not so excited about a "refactoring log" where only the
progress is reported. I fear that some (potentially minor) design
decisions would render the new C-API useless for me.

So my question is:
Does this "refactoring log" also include something like a Numpy
Enhancement Proposal? Something that can be discussed beforehand?
I.e., will there be a detailed description (i.e. code examples) what
the goal of the refactoring is?

If there is any interest, I could provide some simple test examples in
C that would explain what I'd like to be able to do with the new
C-API.


Sebastian




On Wed, May 26, 2010 at 8:21 AM, David Goldsmith
<d.l.goldsm...@gmail.com> wrote:
> On Tue, May 25, 2010 at 9:22 PM, Travis Oliphant <oliph...@enthought.com>
> wrote:
>>
>> On May 25, 2010, at 4:49 PM, David Goldsmith wrote:
>>
>> Travis: do you already have a place on the NumPy Development Wiki where
>> you're (b)logging your design decisions?  Seems like a good way for
>> concerned parties to monitor your choices in more or less real time and thus
>> provide comment in a timely fashion.
>>
>> This is a great idea of course and we will definitely post progess there.
>>
>
> Thanks; specific URL please, when available; plus, prominently feature (a
> link to) the location on the Development Wiki home page, at the very least
> (i.e., if not also on the NumPy home page).
>
>>
>> So far, the code has been reviewed,
>
> I.e., the existing code, yes?
>
>>
>> and several functions identified for re-factoring.
>
> Please enumerate on the "Wiki Refactoring Log" (name tentative - I don't
> care what we call it, just so long as it exists, its purpose is clear, and
> we all know where it is).
>
>> This is taking place in a github branch of numpy called numpy refactor.
>
> "This" = the actual creation/modification of code, yes?
>
> DG
>>
>> -Travis
>>
>> DG
>>
>> On Tue, May 25, 2010 at 2:19 PM, Charles R Harris
>> <charlesr.har...@gmail.com> wrote:
>>>
>>>
>>> On Tue, May 25, 2010 at 2:54 PM, Travis Oliphant <oliph...@enthought.com>
>>> wrote:
>>>>
>>>> On May 25, 2010, at 2:50 PM, Charles R Harris wrote:
>>>>
>>>>
>>>> On Tue, May 25, 2010 at 1:37 PM, Travis Oliphant
>>>> <oliph...@enthought.com> wrote:
>>>>>
>>>>> Hi everyone,
>>>>>
>>>>> There has been some talk about re-factoring NumPy to separate out the
>>>>> Python C-API layer and make NumPy closer to a C-library.   I know
>>>>> there are a few different ideas about what this means, and also that
>>>>> people are very busy.  I also know there is a NumPy 2.0 release that
>>>>> is in the works.
>>>>>
>>>>> I'm excited to let everyone know that we (at Enthought) have been able
>>>>> to find resources (about 3 man months) to work on this re-factoring
>>>>> project and Scott and Jason (both very experienced C and Python
>>>>> programmers) are actively pursuing it.    My hope is that NumPy 2.0
>>>>> will contain this re-factoring (which should be finished just after
>>>>> SciPy 2010 --- where I'm going to organize a Sprint on NumPy which
>>>>> will include at least date-time improvements and re-factoring work).
>>>>>
>>>>> While we have specific goals for the re-factoring, we want this
>>>>> activity to be fully integrated with the NumPy community and Scott and
>>>>> Jason want to interact with the community as much as feasible as they
>>>>> suggest re-factoring changes (though they both have more experience
>>>>> with phone-conversations to resolve concerns than email chains and so
>>>>> some patience from everybody will be appreciated).
>>>>>
>>>>> Because Jason and Scott are new to this mailing list (but not new to
>>>>> NumPy),  I wanted to introduce them so they would feel more
>>>>> comfortable posting questions and people would have some context as to
>>>>> what they were trying to do.
>>>>>
>>>>> Scott and Jason are both very proficient and skilled programmers and I
>>>>> have full confidence in their abilities.   That said, we very much
>>>>> want the input of as many people as possible as we pursue the goal of
>>>>> grouping together more tightly the Python C-API interface layer to
>>>>> NumPy.
>>>>>
>>>>> I will be involved in some of the discussions, but am currently on a
>>>>> different project which has tight schedules and so I will only be able
>>>>> to provide limited "mailing-list" visibility.
>>>>>
>>>>
>>>> I think 2.0 would be a bit early for this. Is there any reason it
>>>> couldn't be done in 2.1? What is the planned policy with regards to the
>>>> visible interface for extensions? It would also be nice to have a rough 
>>>> idea
>>>> of how the resulting code would be layered, i.e., what is the design for
>>>> this re-factoring. Simply having a design would be a major step forward.
>>>>
>>>> The problem with doing it in 2.1 is that this re-factoring will require
>>>> extensions to be re-built.   The visible interface to extensions will not
>>>> change, but there will likely be ABI incompatibility.    It seems prudent 
>>>> to
>>>> do this in NumPy 2.0.   Perhaps we can also put in place the ABI-protecting
>>>> indirection approaches that David C. was suggesting earlier.
>>>> Some aspects of the design are still being fleshed out, but the basic
>>>> idea is to separate out a core library that is as independent of the Python
>>>> C-API as possible.    There will likely be at least some dependency on the
>>>> Python C-API (reference counting and error handling and possibly others)
>>>> which any interface would have to provide in a very simple Python.h --
>>>> equivalent, for example.
>>>> Our purpose is to allow NumPy to be integrated with other languages or
>>>> other frameworks systems without explicitly relying on CPython.    There 
>>>> are
>>>> a lot of questions as to how this will work, and so much of that is being
>>>> worked out.   Part of the reason for this mail is to help ensure that as
>>>> much of this discussion as possible takes place in public.
>>>
>>> Sounds good, but what if it doesn't get finished in a few months? I think
>>> we should get 2.0.0 out pronto, ideally it would already have been released.
>>> I think a major refactoring like this proposal should get the 3.0.0 label.
>>> Admittedly that makes keeping a refactored branch current with fixes going
>>> into the trunk a hassle, but perhaps that can be worked around somewhat by
>>> clearly labeling what files will be touched in the refactoring and possibly
>>> rearranging the content of the existing files. This requires a game plan and
>>> a clear idea of the goal. Put simply, I think the proposed schedule is too
>>> ambitious and needs to be fleshed out.  This refactoring isn't going to be
>>> as straight forward as the python3k port because a lot of design decisions
>>> need to be made along the way.
>>>
>>> Chuck
>>> _______________________________________________
>>> NumPy-Discussion mailing list
>>> NumPy-Discussion@scipy.org
>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>>
>>
>>
>>
>> --
>> Mathematician: noun, someone who disavows certainty when their uncertainty
>> set is non-empty, even if that set has measure zero.
>>
>> Hope: noun, that delusive spirit which escaped Pandora's jar and, with her
>> lies, prevents mankind from committing a general suicide.  (As interpreted
>> by Robert Graves)
>> _______________________________________________
>> NumPy-Discussion mailing list
>> NumPy-Discussion@scipy.org
>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>
>> ---
>> Travis Oliphant
>> Enthought, Inc.
>> oliph...@enthought.com
>> 1-512-536-1057
>> http://www.enthought.com
>>
>>
>>
>> _______________________________________________
>> NumPy-Discussion mailing list
>> NumPy-Discussion@scipy.org
>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>
>
>
>
> --
> Mathematician: noun, someone who disavows certainty when their uncertainty
> set is non-empty, even if that set has measure zero.
>
> Hope: noun, that delusive spirit which escaped Pandora's jar and, with her
> lies, prevents mankind from committing a general suicide.  (As interpreted
> by Robert Graves)
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to