This is tough:
"If someone has the time to cook up a good common FFI for Clisp, gcl,
CMUCL, Allegro, Lispworks, etc., I'm all for it. I don't think it is
really difficult, but the details will get you, especially if you're
passing arrays in and out."
The differences between these systems are likely to be subtle, and
they will not ordinarily be shaken out by brand alone.
It may depend on the underlying OS or worse. Thus FFI must be
conditionalized
by brand X operating system X c-compiler X {otherstuff}
and the people who know this material are not well motivated
to make it work for their competitors (intellectual or financial).
The Allegro FF package (documented at franz.com) is quite
elaborate, but arguably not much more elaborate than necessary.
And just to make debugging fun:
a mistaken FF call is probably the fastest way to crash
a system.
RJF