[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CLUE and 1K Primrose Path

   > There is one possible reason for basing CLUE on the X-Toolkit:  if there
   > were a way of importing C code from the toolkit in a way that made it
   > follow the CLUE protocol exactly.  

It's time to clarify the relationship between CLUE and Xt, because the above has
never been a goal (though I'll admit -- given enough time and enough money and
enough entrepreneurial hi-de-ho, it might be possible to create a nifty thing
like an automatic Xt-to-CLUE translator).

CLUE is modelled after Xt because Xt has a pretty good model.  This, of course,
is apart from any considerations of programming language whatsoever. Some
salient aspects of the model shared by CLUE and Xt:

	* Consistent with ideas about UIMS (Seeheim model, shared object model)
	  that make sense and are beginning to become accepted (emphasis on
	  "beginning", still no lack of controversy here):

		- distinction between semantic components ("application" or
		  "callbacks") and syntactico-lexical components ("user

		- encapsulation of input-output techniques

		- direct manipulation (ergo object-oriented) control

		- multi-threaded dialogs

	* Geometry management: negotiating geometry among objects up and down
	  the window composition hierarchy. Support for implementing arbitrary
      	  g.mgmt. policies.

	* Resources: support for negotiating programmer vs. user preferences for
      	  certain UI values. Code-less UI programming.

	* Support for dynamic binding of events with UI actions (aka "event

	* Timer event sources for driving animations

	* Tight integration with the underlying X client interface.
      	  Widgets/contacts are a subclass of windows.

At the surface, in their implementations of this model, CLUE and Xt begin to
diverge.  It's not even accurate to call CLUE a "Lisp binding for Xt".  The
intent is that CLUE will continue to exploit the advantages offered by CL/CLOS
to maximum benefit.

Reasonable humanoids may disagree about the desirability of the CLUE/Xt model or
other models.  Indeed, this should be the focus for further discussion.