On Tue, 2005-10-11 at 12:17 +0100, Luis Oliveira wrote:
I plan to update cffi-ecl.lisp soon since it's the backend that is lacking the most features, the only reason I haven't yet is because ECL doesn't like some of the code in cffi-luis/types.lisp (which I plan to rewrite). I won't be able to until later this month though.
Ok. If you run into troubles with ECL, please contact us at the mailing list.
So, I read about the new SI::CALL-CFUN in ECL's mailing list, should we use that in CFFI's %foreign-funcall primitive? (Therefore in DEFCFUN too?)
Yes, essentially si::call-cfun implements what CFFI's %foreign-funcall does. However, si::call-cfun can only handle a bunch of elementary types: :char, :int, :pointer-void, etc. So, some translation of the type names might be required. Eventually I can port some of CFFI's type names to ECL if needed. The change is rather simple.
Does that mean ECL's FFI:LOAD-FOREIGN-LIBRARY now supports non-constant arguments? (only if we use SI::CALL-CFUN I suppose).
Yes. But both si::call-cfun and the improved load-foreign-library only work in x86-32bit right now. I will be working on the ppc and x86-64 ports in the coming months.
Regards,
Juanjo