[cffi-devel] Re: [fetter-devel] Quick CFFI update

James Bielman jamesjb at jamesjb.com
Mon Jul 4 20:08:43 UTC 2005


Kenny Tilton <ktilton at nyc.rr.com> writes:

> CFFI seems from a distance to be something for the open source
> crowd. "commercial lisps" are left as an exercise. Is this because
> it was expected one would have to hack on the implementations? Or
> this may be because of performance issues? ie, CMUCL needed a fix? I
> do not know. Anyway, any "universal" FFI has to handle popular
> commercial lisps. Of course we always have a hybrid approach as a
> fallback, and if CFFI solves a performance problem it belongs in the
> mix somewhere.

It's true that it's easy for me to take the long-term view about
supporting more Lisp implementations since CFFI already supports the
implementations that I use (mostly, I do need a LispWorks port).

The reason the CFFI interface seems low-level compared to everything
else is because it was designed while asking myself the question,
"What is the minimum I need from a Lisp implementation in order to do
useful things with its FFI?".  Performance is a goal, but it is not
the primary goal.

If an open source implementation has gaps in this support it's
relatively easy for me to write patches to add that support, and they
have a fair chance of getting applied.

For commercial implementations there's little else to do but ask them
nicely to support this API, perhaps dealing with reasons why it's not
possible for them to do it, or they don't care, or maybe have
technical reasons why the interface sucks.

So, I guess I took the easy way out by trying to implement things on
the systems that I could be proactive about first, so when it comes
time to beg others to implement them for me, I can say "but look, it
works on these 5 other implementations..."

Whether this is too long-term for your summer goals or not, I don't
know.  I'm not really trying to convince anyone of anything (although
I'm certainly happy if people want to work on CFFI!), especially since
I probably can't even work seriously on this for another month or so.

James



More information about the fetter-devel mailing list