Daniel Barlow <[EMAIL PROTECTED]> writes:

> [EMAIL PROTECTED] (James A. Crippen) writes:
> 
> > I'm curious as to whether anyone has thought about extending CLX to
> > handle all the new nifty X protocol extensions for X11R6?  Some of
> > them would be very useful...
> 
> I don't know nuffin about no plan, but:
> 
> Have you looked at XCB?  It's a new X protocol binding in which the
> source code is M4 macros and the C is mechanically generated.  It
> occurs to me that if the authors of XCB are going to track future X
> developments, it might be less work for CL users to subvert their M4
> into generating CL code automatically than it would be to keep adding
> stuff to CLX by hand.
> 
> http://bart.cs.pdx.edu/xcb/ has pointers to their usenix paper and to
> a cvs repo where you can look at the code itself.

>From a cursory glance at the paper it looks pretty closely tied to the
C code it generates...  But I didn't really read the whole thing yet.
My printer's out of toner and I hate reading papers on the screen.

But what it did make me think about was the thread-safety of the
current CLX implementation.  *That's* certainly something that should
be examined.  Someday soon we'll have a free Lisp that supports OS
threads and preemptive Lisp threads.  Having CLX support this will be
very important.  Thankfully converting unthreadsafe Lisp code to
threadsafe Lisp code isn't too terribly hard.  Just look for special
variables...  ^_^

Of course that doesn't count for the Lisp system itself, does it?

'james

-- 
James A. Crippen <[EMAIL PROTECTED]> ,-./-.  Anchorage, Alaska,
Lambda Unlimited: Recursion 'R' Us   |  |/  | USA, 61.20939N, -149.767W
Y = \f.(\x.f(xx)) (\x.f(xx))         |  |\  | Earth, Sol System,
Y(F) = F(Y(F))                        \_,-_/  Milky Way.

Reply via email to