[UFFI-Devel] more struct madness

Kevin Rosenberg kevin at rosenberg.net
Wed Sep 1 09:14:11 MDT 2004


Marco Baringer wrote:
> however, my point is not the the tests fail, my point is that the
> patch i wanted to send breaks backwards compatibility as far as the C
> struct api goes. i think it would be a really bad idea to break
> backwards compatibility (even though there's some uffi code which will
> run on openmcl and not on, afaict, allegro). what should i do?

At this point, I consider UFFI to fairly mature, yet fragile. I agree
that backward compatibility should be kept as their are a dozen or so
projects using UFFI and I don't think it is okay to break them.

At some point, I agree with Jorge that a rewrite of UFFI would be a
good idea that did not attempt to be backward compatible. And, instead
of being a thin layer around each FFI, UFFI2 attempted to be a
high-level specification that used more more complex macros. Also, the
idea of pointers vs. arrays needs to be further distinguished,
especially for FFI's like CMUCL/SBCL which are quite strongly typed.

I'm not exactly sure what you are trying to accomplish with
structures. But, the mysql backend for CLSQL uses structures
extensively, including pointers to self, to extract information from
the mysql connection. Perhaps you might look at CLSQL's
db-mysql/mysql-api.lisp for some ideas on structure use that works on
openmcl as well as CMUCL/SBCL/Allegro/Lispworks.

-- 
Kevin Rosenberg
kevin at rosenberg.net


More information about the UFFI-Devel mailing list