[comp.windows.x] CLX proposal

RWS@ZERMATT.LCS.MIT.EDU.UUCP (04/03/87)

A proposal for a standard Common Lisp interface to X Version 11 is
available for public review.  The proposal is available via anonymous
ftp as /pub/clx.lisp on milo.lcs.mit.edu.  If you do not have ftp
access, and sincerely want to participate in the review, then send me
mail and I will mail you a copy directly.  In addition to myself, the
contributors are Mike McMahon (Symbolics), Dan Cerys (Texas
Instruments), John Wroclawski (MIT), and Rich Zippel (Symbolics).

The proposal has been sent to the cl-windows@sail.stanford.edu mailing
list, and we expect the primary discussion to take place there.  (To
join that list, mail to cl-windows-request@sail.stanford.edu).  If you
need to communicate "directly" with us for some reason, please send mail
to clx@zermatt.lcs.mit.edu.

The interface is intended to provide functionality equivalent to that of
the Xlib interface for C; that is, it is a relatively low-level
interface, "close" to the raw protocol.  The interface has been designed
by working directly from the protocol documentation, and trying to
provide a "natural" Lisp interface, rather than by trying to mimic the
precise routines in the C Xlib.

The proposal contains very little "documentation".  We assume that anyone
seriously interested in reviewing the proposal will have read the protocol
document and/or the C Xlib document.  From either of those documents, the
Lisp interface should be fairly obvious, and we have sprinkled a few
comments in various places.  The proposal is based on the expected "Beta
Test" version of the protocol; as such, it contains several changes from
the "Alpha Test" version, most of which should be clear to the reader.

Our intention is to provide a (public) native Common Lisp implementation
of the interface, once the design has gone through a public review.  We
would like to "close" the review on May 15, so that implementation can get
underway.  Anyone wishing to contribute to this effort should send mail to
clx@zermatt.lcs.mit.edu.  We have no intention of providing an
implementation based on a foreign-function interface to the C Xlib,
although we do not wish the design to preclude such an implementation.

It was our desire to define an interface that could be implemented
reasonably in Lisps on conventional hardware, without sacrificing user
programming convenience, but we have very little experience with, or
detailed knowledge of, such Lisp implementations.  Feedback with respect
to performance and feasibility is most welcome.

It is our intention that relatively little programming will take place
using the Xlib facilities directly.  Instead, it is hoped that higher
level graphics and toolkit facilities can be put in place for most
programmers to use, and further that such graphics and toolkit
facilities provide sufficient abstraction as to be relatively
independent of a particular virtual console protocol like X.  Tentative
proposals and discussion along these lines should be forthcoming in the
near future on cl-windows.