On 4/3/11 Apr 3 -12:01 AM, Jason E. Aten wrote:
> Gary King -- thank you!
>> Gary Byers --thank you for the pointers and the lucid explanation.
>> All -- words of warning about SWIG and Common Lisp, as of March 2011:
>> The reason for my question to begin with was that I was puzzled. I was
> puzzled over why the binding generator (SWIG) could possibly be
> generating bad code. I turns out that I was fooled by early small
> successes with SWIG. I was fooled into thinking that the SWIG code
> generator for CFFI was producing correct code.
>> In fact after much pounding on it, I realize that SWIG's CFFI module is
> incomplete and alpha quality at that.
>> I've since then corresponded with the current maintainer for SWIG
> (William Fulton) and he confirmed that the CFFI module for SWIG hasn't
> been touched in 5-6 years, and that it was never very good to begin
> with, so there's both bitrot and a partial implementation to begin with
> to account for.
>> That said, the cffi.cxx module seems reasonable place to start, and I'm
> willing to enhance it. It clearly doesn't handle overloaded C or C++
> methods --those differing only in the number of arguments. It doesn't
> seem like it would be too bad to flesh out the capability, but if anyone
> knows of a functional LISP-C++ bridge, I'd certainly be happy not to
> reinvent the wheel(!)
>> So do let me know if you have an alternative for doing Lisp to C++ bindings.
It's not really an alternative, but Bob Brown has been figuring out how
to work with C++ in his work on getting Google protocol buffers to work
with CL. Maybe there are some lessons in that codebase?
Best,
r