[cffi-devel] Re: [fetter-devel] Quick CFFI update

C Y smustudent1 at yahoo.com
Tue Jul 5 18:00:21 UTC 2005


--- Kenny Tilton <ktilton at nyc.rr.com> wrote:
> >
> >No worries :-).  Irrelevant discussion is often a severe drag on
> >getting stuff done,
> >
> The funny thing is that I also want project developers to get input
> from the community via c.l.l, Planet Lisp, and #Lisp. Talk about a
> potential for irrelevant discussion.... :)

Oh, my. ;-)  Well, no question there are a lot of smart people there.

> I think you can grab the AllegroCL Trial for any OS and get 
> their FFI doc and discussion. That might even be accessible via 
> the Web.  That is the one I know, but likewise for Lispworks or 
> even CLisp. I think justreading that will give you a feel for the 
> issues as an applications person. 

Here's what I've dug up so far (links provided for the lazy, which will
be me when I get the time to read all this):

Allegro CL 7.0 
Foreign Function Interface
http://www.franz.com/support/documentation/7.0/doc/foreign-functions.htm
I think this is also relevant?  Foreign Types
http://www.franz.com/support/documentation/7.0/doc/ftype.htm

Lispworks:
http://www.lispworks.com/documentation/lw445/FLI/html/fli.htm
It is not immediately clear if there are OS specific docs - 
http://www.lispworks.com/documentation/index.html

Clisp:
http://clisp.cons.org/impnotes/dffi.html - is this the new spiffy one? 
I had heard there was a new, very nice Clisp FFI but I'm not sure how
that relates to online docs.  This might also be of interest:
http://clisp.cons.org/impnotes/foreign-pointers.html


Presumably these are also worth a look from UFFI:

UFFI Reference Guide
http://uffi.b9.com/manual/

The ins and outs of foreign interface design
http://uffi.b9.com/FFI-Design-v0.4.pdf

Design Issues for Foreign Function Interfaces
http://xarch.tu-graz.ac.at/autocad/lisp/ffis.html

and of course:

CFFI
http://common-lisp.net/project/cffi/darcs/cffi/doc/cffi-sys-specification.html
http://common-lisp.net/project/cffi/darcs/cffi/doc/manual.html
http://common-lisp.net/project/cffi/darcs/cffi/doc/mem-vector.txt
http://common-lisp.net/project/cffi/darcs/cffi/doc/shareable-vectors.txt

> If you are really feeling energetic, try using the FFI of
> your implementation to get to a fun library, such as OpenGL or 
> SDL. You can cheat when you get stuck by finding existing bindings 
> on c-l.net. A dead simple library is OpenAL, by the way, for 
> (pretty much) playing WAV files with 3D effects such as Doppler 
> shift.

Sounds good.
 
> Mind you, our joint objective is sparing application developers most
> of this grief. We'll call it "C/C++ Plug 'n Play", assuming no one 
> has already used that tag line. :)

Nice.  Oh, I had a question about Lilac (is that on topic or reserved
for later?)  Auto-generation of bindings would be a godsend for people
wanting to use FFIs, but the first thought that came to my mind was
"how do I know what's available to be called, and what call syntax got
auto-generated?"  Is this a) something the user will have to figure
out, based on knowledge of the C/C++ library b) logically deducable if
one knows the general methods Lilac will use or c) auto-generatable
using something like Albert to absorb any C++ comments and attach them
to auto-generated documentation of each resulting lisp functions
arguments and limitations?  (Ignore this question if it is not (yet) on
topic.)

Cheers,
CY

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 



More information about the fetter-devel mailing list