On Mon, Nov 5, 2012 at 9:28 AM, David Hodge <
david...@gmail.com> wrote:
> Cons: Xarray has LOTS of references throughout the source code., though
> quite clearly not all of its facilities were being used
> Its infrastructure work which is not all that interesting (all
> this to write a nice little summarise function!)
Basically, xarray is just an API sitting on top of aref, for doing
things with arrays which would work in general with any rectangular
data structure for which a backend is available. Very simple scope,
just requires methods to be written for any new structure. It's
nothing more. The idea is that aref / mref / #ref become xref, and
that column binding, subsetting, etc, can be done using the same API
for any structure. So code readabiliy is independent of the backend,
be it lisp-matrix, gsll, matlisp, etc...
What could be done would be to simply provide a backend for the
infrastructure provided through antik and gsll, so that the same code
can basically be used for both. At a performance cost, of course.
For a readability/algorithmic implementation savings by average people
and statisticians.
> Pros: Antik is probably the future target and getting this done now cleans
> up the code base and remove a dependancy on a deprecated library.
Antik is a full bit of numerical infrastructure. It has code for
various things (vectorization, etc) which are out of scope of xarray,
and is a kitchen-sink type package. But it's not overbuilt, and as I
mentioned, provides a decent starting point. BUT, what would you be
doing for access of array elements, and if we simply use an
xarray-style front end, would there be a huge loss?
So, we could use both, or we could just use Antik, assuming that it
plays well with other systems (which can also be adjusted to play well
with antik, this isn't a one-sided story).
> So, while I am waiting to hear peoples various opinions on the topic, I will
> probably just write my routine anyway and then, depending on the vote do the
> infrastructure piece do that
Exactly.
> So, the question du jour is - integrate Anitk now or later?
Be precise in what you are asking -- do you want to give up or modify
a general purpose array-like API in favor of a specific one, or does
Antik also have a general purpose API we can simply edit xarray to
provide?
Optimisation in terms of speed and packages is still slightly
premature (i.e. think through what your point is, given the hugh
differences in intent for the 2 packages, they do not share similar
goals).