Path: utzoo!attcan!uunet!lll-winken!lll-tis!helios.ee.lbl.gov!pasteur!ucbvax!bloom-beacon!POSTGRES.BERKELEY.EDU!dcmartin From: dcmartin@POSTGRES.BERKELEY.EDU (David C. Martin) Newsgroups: comp.windows.x Subject: Re: fundamental X performance (extensibility) Message-ID: <8807062022.AA06165@limbo.berkeley.edu> Date: 6 Jul 88 20:22:20 GMT References: <8807031142.AA04351@rice-chex.ai.mit.edu> Sender: daemon@bloom-beacon.MIT.EDU Organization: University of California at Berkeley - Dept of EECS/CS Division Lines: 37 An interesting point of view ... have you considered the possibilities of making the connection to the backend (server) done via a byte-code system ala emacs which would provide the following: a) an encapuslation of public server functions (ala Xlib plus whatever the designers of the server deemed public) for a LISP bytecode interpreter? b) extensions via the down-loading of either source or compiled forms of the user-defined code written against this public interface. c) portability of (b) and without the need of having a homogenous file system (although a distributed DBMS would be a nice addition) d) RPC availability of (a) to allow local debugging of (b) e) local libraries (ala Xlib) to provide the interface for (a), (b) and (d) Granted that no one wants to code against PostScript, although PLisp (from U of Arizona) makes this easier, some extension language should be provided. I know many people will immediately say "argh! interpeted!" but this is already the case for PostScript for printers (I don't know enough about Display PostScript or NeWS to comment on them) and GNU emacs. Given that a binding could be established between something ala ELisp and the public server functions, and allowing a programmer to reach deeper into the server implementation to perform specific optimizations, this type of organzation might very well provide the extensibility that is required. In addition, if the public server code was written using c++, then some object-oriented techniques might be avaiable via the ELisp type bytecode interpreter. Please keep in mind that I am just spinning my wheels, and not trying to say that I have some answer, this solution is just something that I have been kicking around. Flames and comments gratefully accepted :-) dcm