On Tue, Sep 22, 2015 at 10:19 PM, Nathaniel Smith <n...@pobox.com> wrote:

> On Tue, Sep 22, 2015 at 3:43 PM, Charles R Harris
> <charlesr.har...@gmail.com> wrote:
> >
> >
> > On Mon, Sep 21, 2015 at 10:23 PM, Nathaniel Smith <n...@pobox.com> wrote:
> [...]
> >> When it comes to evolving these APIs in general: one unfortunate thing
> >> about the PyArrayObject changes in 1.7 is that because they were
> >> implemented using *inline* functions (/macros) they haven't affected
> >
> >
> > One thing we might consider along the way is separating numpy.multiarray
> and
> > friends into an actual library plus a module. That way the new numpy api
> > would be exposed in the library rather than by importing an array of
> > pointers from the module.
> >
>
> I'm not sure whether we'll be able to pull this off at the technical
> level? Partly because anything involving cross-platform linker
> behavior is a recipe for unpleasantness, but mostly because doing
> sliding-window API/ABI tracking requires that we have some way to
> check which of multiple APIs a given third-party package is
> requesting, and provide a nice error if the one they want isn't
> available, and I'm not certain how to accomplish that via the regular
> linker. But sure, something to look into when we reach that point :-)
>

I'd recommend the Henry Ford approach,  "Any customer can have a car
painted any color that he wants so long as it is *black*".  Essentially, an
ABI break split between a backward compatible layer on top, and a bare
metal layer below, with the latter recommended. We would still need to
solve the 'hide the structure" problem, but that is probably unavoidable
whatever approach we take. In any case, it might be worthwhile making a
list of the functions such a library would expose. I'm not sure how big a
problem linking would be, likely Windows would continue to be the largest
source of problems if we go the shared library route.

Chuck
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
https://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to