Well the first week of SoC has come and gone. I’m disappointed with my progress. I had hoped to have some simple ping/pong examples working by the end of the first week, but I’ve yet to resolve some issues with iolib and message passing. Realistically, I think I can fix these problems and have the examples working today or tomorrow.
My problems stem from local domain sockets in iolib. I can express what I’d like to do in C with socketpair/fork/read/write (and get it working), and the iolib API should, of course, make this much simpler. But for whatever reason, the streams created by make-socket-pair, don’t seem to be connected; when I write to the one side, I cannot read from the other. Late last night I started to suspect this was some buffering issue, and fired up the slime inspector on these objects. I didn’t learn much. I also looked closely at the iolib code, and everything seems to be in order. The problem is on my end. My next step is to try using them as binary streams (I’ve been treating them as character streams) ala the tcp server in philip-jose. Either that or raise hell in #lisp.
I view these hiccups as noise rather than signal, and I still think we’re on track for an interesting summer. I have a much more fundamental question about our approach in the next posting.