[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Queries about CMU CL

George Robertson <robertso@parc.xerox.com> writes:
> The second most critical questions have to do with the foreign function
> interface.   There are two key features that had to be added to Franz's
> FFI, the ability to handle ANSI C function prototyping and the ability
> to specify in-line foreign function calls if all arguments are properly
> type declared.  The first is critical because Iris GL uses single-float
> arguments instead of the C standard double-floats.  Your documentation
> implies that function prototyping is not supported.  Are you planning
> on supporting it?  When?  Your documentation suggests that there is
> a way to get in-line foreign function calls, but the documentation of
> the FFI doesn't indicate how to do it.  If you can't, can it be added easily?

We are currently in the process of redesigning our foriegn function
interface, and allowing ANSI style prototypes is one of our goals.
This will be finished in about a week or so, and I can send you the
new documentation on in then.

As for inlining the foreign function calls, I'm not sure what you are
after.  Do you mean the stub function that converts the lisp arguments
to C args and then calls the C code, or do you want the C code fully
inlined with the Lisp code?  If you proclaim inline the stub function,
then it will be inlined just like any other function.  But it would be
impossible to inline the actual C function without building a complete
C compiler (which seems like a bit of overkill).

-William Lott
CMU Common Lisp Group