On Sat, Dec 8, 2012 at 8:46 AM, Peter Keller <email@example.com> wrote:
I'm about to use ECL for some embedding work, namely having a front
end C interface to a well-known C plugin system with an ECL backend
implementing all of the plugin functionality.
I have a few questions before I begin:
1. Is the API denoted in ecl/externals.h pretty stable? Do people think
it is going to change much in the future?
2. Are there any issues or special considerations with creating CLOS
objects and then calling methods on them from the C side? Will those
methods dispatch correctly on the arguments without additional poking
from the C side?
3. I have a situation where I have C structures full of data and want
to push them into/bring them out of the Lisp side. Are things like
si_make_structure what I'm supposed to use on the C side? Are there
idioms I should know about to perform this type of data translation?
4. I will have a couple of C files and a pile of lisp files when I'm
done. I assume that I'd just compile and assemble them into a shared
library as denoted elsewhere in the docs and on this list? Are the ecl
non-private functions and symbols minimized in the exports of the
library to lessen the chances of stomping on something in the
application when the plugin gets loaded?
5. If I si_safe_eval something like (setf a 3), then later si_safe_eval
on the variable a, is that defined? Are toplevel bindings of specials,
functions, macros, persistent between invocations to si_safe_eval?