Le 19/09/2019 à 17:33, Wes McKinney a écrit :
> On Thu, Sep 19, 2019 at 2:01 AM Micah Kornfield <emkornfi...@gmail.com> wrote:
>>
>> Wes,
>> Let me see if I understand, I think there are two issues:
>> 1.  Ensuring conformance of interoperability and actually having people
>> understand what Arrow actually is and what it is not.
>> 2.  Having users adopt reference implementations and surrounding libraries.
>>
>> For 1, I agree we should have a way of measuring things here.  I think
>> being able to document the requirements of our test-suite and have it
>> generate a report on features supported would go a long way to letting
>> users understand the quality of both internal/external implementations.  It
>> seems like there is still a lot of misunderstanding of what Arrow is and
>> how it relates to other technologies.  An example of this is a recent Julia
>> thread [1], which seems to have both some misinformed commentary and
>> potentially some points that we could improve upon as a community.
>> Hopefully, some of this will be helped by separately versioning the
>> specification and the libraries post 1.0.0.
> 
> Thanks for the pointer to the thread. I've been trying for a couple of
> years to engage with the Julia community.
> 
> The bottom line is that I think it's important to highlight that
> compatibility or interoperability will not be achieved by hand-waving.
> There's a couple of things we can do

What we discussed in the sync call is that by providing a C-level data
protocol (see discussion thread), we can allow any runtime with a C FFI
facility to easily experiment and interface with Arrow data (as a
producer and/or as a consumer).

This would have a reasonable implementation cost for us and hopefully
also for users of this data protocol.  Also, it is effectively a
zero-dependency solution, since the C struct definition can be pasted in
the target project's source code (or translated in the preferred local
form, e.g. ctypes definitions in Python).

C FFIs do not always have the best performance (depending on the
impedance mismatch between static C data and the runtime's own data
model), but that would still be a good starting point, and in many cases
it might be good enough.

Regards

Antoine.

Reply via email to