Subject: Re: What Lisp needs to beat Java, etc.
From: (Rob Warnock)
Date: 26 Nov 2000 02:38:33 GMT
Newsgroups: comp.lang.lisp
Message-ID: <8vpt39$24936$>
Jochen Schmidt  <> wrote:
| So why not building a GUI-Server in wxWindows - which would run nice on 
| win32, Linux(Motif), Linux(GTK) and so far I know on BeOS and MacOS too.

This is exactly why the Rice PLT group chose wxWindows for their
"MrEd" <URL:>
GUI application toolkit (upon which the "DrScheme" development & teaching
environment is built). MrEd runs on all of Windows 95/98/NT/2000, MacOS,
and Unix/X (including Linux here as a "Unix").[*]  It provides:

	- A windowing toolbox for creating windows and menus 
	- A drawing toolbox for drawing to windows, bitmaps,
	  and printer devices
	- An editor toolbox for creating multimedia editors 

	MrEd's GUI toolbox is integrated with a thread system.
	MrEd dispatches each GUI event to the handler thread via
	synchronous (single-threaded) callback procedures, but
	MrEd also supports multiple eventspaces, which permit
	asynchronous (multi-threaded) event handling among
	different sets of windows. 

MrEd's underlying Scheme engine, "MzScheme", provides a fairly typical
interface to TCP/IP networking, so hooking a Common Lisp application
to a MrEd-based GUI over sockets should be relatively straightforward.

The *real* question is going to be the protocol between the CL application
and a MrEd-based GUI. I don't mean the syntax -- you can certainly use
S-exprs & READ [though one would of course want to stick to the common
subset of the CL & Scheme S-exprs syntaxes] -- I mean the semantics.
There's the inevitable question of trading off simplicity of interface
(which many presume to equate with portability, though that's really a
*different* issue) versus exposing the full functionality (or most of it)
of the backend GUI. Look at this and you'll see what I'm talking about:


The good news is that there's a lot more than Tk there.
The bad news is that there's a lot more than Tk there.  ;-}  ;-}

| I would prefer a very simple approuch like LispWorks CAPI (or simpler
| for the beginnigs). IMHO if we concentrate on simplicity we could
| have it in _very_ short time.

Suggestion: Start by defining the protocol. Then publish it for comments.


[*] While MzScheme itself does run on BeOS [and even on "bare" x86
PCs, as a kernel based on Utahs' "OSKit"], unfortunately MrEd doesn't,
at least not as distributed. If, as you say, wxWindows *does* run on
BeOS, it might be possible to port MrEd fairly straightforwardly
(though note that the wxWindows which MrEd uses has diverged somewhat
from Julian Smart's original version).

Rob Warnock, 31-2-510
Network Engineering
Silicon Graphics, Inc.		Phone: 650-933-1673
1600 Amphitheatre Pkwy.		PP-ASEL-IA
Mountain View, CA  94043