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.