CFFI-Net release 8

June 07, 2006, at 12:16 AM

Well, it's been overdue for quite some time! Note that we are now calling it CFFI-Net, as that is the ultimate aim of the project; the same C-Grovelling and POSIX-access features from CFFI-Unix and CFFI-Grovel are still there. Project page; tarball; darcsweb.

This includes two months worth of patches, so this description is probably missing something. C Enum support has been revamped and is stable now. There are fixes for several build problems that had arisen due to upstream cffi changes. Hopefully it depends less on the internal cffi interfaces, now, so it won't break again.

Thank you to Greg Pfeil for ECL support, fixing build problems and providing generally useful feedback. Thanks also to Roger Sen Montero for implementing cmucl support, Samium Gromoff for improving clisp support, and RP Goldman for ACL support (unfortunately not merged with R8, but in darcs).

This release brings us closer to our grand goal of supporting actual network usage. :) That part of the code is still alpha and I'll be surprised if it works for you... It has a prototype interface that provides the same minimal functionality as trivial-sockets. It's also designed to be relatively easy to port trivial-sockets code over, and we've documented how to in the manual.

The major obstacle that I'm struggling with at the moment is implementation-specific issues to integrate with the streams system so that we can present the network as an actual stream and not just a pseudo-stream. Sadly, gray streams are not acceptable for performance reasons.

Right now it half-works with openmcl; I'm studying sb-bsd-sockets to learn how to do it with sbcl. In the long run, once we have it working on a variety of implementations we want to put together a uniform interface and then get it pushed upstream into each Lisp implementation so that it won't break with future revisions.