From: Alberto Lavelli
Subject: graphical user interfaces in Lisp
Date: 
Message-ID: <6n86ki$dcl$1@server-b.cs.interbusiness.it>
I'm interested in knowing the experience/suggestions of readers of
this newsgroup regarding the use of graphical user interfaces in Lisp.

Currently we have been using Allegro CL 4.3 for Unix, with CLIM and
Grasper for the graphical interface, but we are not very happy with
CLIM and Grasper. One of the problems is the portability to different
platforms (e.g., in Allegro CL for Linux, CLIM is currently not
supported and I don't know if it will be in version 5). Other relevant
problems are due to the fact that CLIM has got very big memory
requirements (and consequently problems with GC): the basic lisp image
w/o CLIM is 5 mega, the one with it is 9 mega! Furthermore, our
experience has been that building user interfaces using CLIM is far
from easy (till a few years ago we used the graphical tools provided
by the Xerox Medley environment: I think they were far easier to use
than CLIM and Grasper, particularly the Xerox Grapher).  So, we are
considering to move to other possibilities, all of them making use of
resources external to Lisp; till now, our alternatives are:

 - Tcl/Tk
 - Java
 - what else?

Do you have any suggestions/experience to provide? (even trying to
convince us that CLIM is the right choice ;-)

Consider that we have been building a quite complex graphical
interface: browsers with many many items, big parse trees, complex
DAGs (directed acyclic graphs), and the possibility of editing a
complex hierarchy consisting of a few hundred nodes with multiple
inheritance.

Any suggestions?


Thanks
	alberto

From: Rainer Joswig
Subject: Re: graphical user interfaces in Lisp
Date: 
Message-ID: <d8bsqn7q.fsf@lise.lavielle.com>
·······@irst.it (Alberto Lavelli) writes:

> I'm interested in knowing the experience/suggestions of readers of
> this newsgroup regarding the use of graphical user interfaces in Lisp.
> 
> Currently we have been using Allegro CL 4.3 for Unix, with CLIM and
> Grasper for the graphical interface, but we are not very happy with
> CLIM and Grasper. One of the problems is the portability to different
> platforms (e.g., in Allegro CL for Linux, CLIM is currently not
> supported and I don't know if it will be in version 5).

Franz would like to see it. Contact them.

> Other relevant
> problems are due to the fact that CLIM has got very big memory
> requirements (and consequently problems with GC): the basic lisp image
> w/o CLIM is 5 mega, the one with it is 9 mega!

Jesus! 9 mega! Btw., how much mega do you get for $50? ;-)
Seriously, current machines (300 Mhz Intels, PowerPCs, 500 Mhz
Alphas, ...) and memory sizes upto some Gigabytes should be
sufficient to run CLIM.

> Furthermore, our
> experience has been that building user interfaces using CLIM is far
> from easy (till a few years ago we used the graphical tools provided
> by the Xerox Medley environment: I think they were far easier to use
> than CLIM and Grasper, particularly the Xerox Grapher).

There is some truth to this.

> Do you have any suggestions/experience to provide? (even trying to
> convince us that CLIM is the right choice ;-)

I have CLIM on LWW, Symbolics and soon MCL will have an implementation, too.
More users would mean less bugs, more speed, more software, etc.
Unfortunately not many vendors are encouraging users to use CLIM.
It is the only supported cross platform UIMS for Lisp, though.
Otherwise you would have to use "proprietary" libraries like
CAPI or Common Graphics. They may be "better", but in the long
run they are damaging to the Lisp community (IMHO).
Lack of source code (well, Genera 8.3 has CLIM in source and
Digitool will offer CLIM in source for a larger amount of money)
is hurting. One of the strong points of Macintosh Common Lisp
is for example that you get most of what you might be interested
in, in source code.

> Consider that we have been building a quite complex graphical
> interface: browsers with many many items, big parse trees, complex
> DAGs (directed acyclic graphs), and the possibility of editing a
> complex hierarchy consisting of a few hundred nodes with multiple
> inheritance.

At the University of Hamburg the KOGS department has (co)developed
some CLIM applications/research prototypes. Some of the stuff is actually
quite cool:

HAMVIS: http://kogs-www.informatik.uni-hamburg.de/~moeller/papers/hamvis-1.pdf
PETS: http://kogs-www.informatik.uni-hamburg.de/~moeller/papers/pets-manual.pdf
GenEd: http://kogs-www.informatik.uni-hamburg.de/~mwessel/gened.html
Visco: http://kogs-www.informatik.uni-hamburg.de/~mwessel/visco-engl.html

You may want to contact them to hear about their experience.

Greetings,

Rainer Joswig
From: Bruce Tobin
Subject: Re: graphical user interfaces in Lisp
Date: 
Message-ID: <359B7648.7270C251@infinet.com>
Rainer Joswig wrote:

> [CLIM] is the only supported cross platform UIMS for Lisp, though.
> Otherwise you would have to use "proprietary" libraries like
> CAPI or Common Graphics. They may be "better", but in the long
> run they are damaging to the Lisp community (IMHO).

I haven't worked with CLIM; does it contain, or would it support the construction
of, a component model (like Javabeans or the Borland VCL) that would facilitate the
development and exchange of graphical components that could be shared between
developers/environments?  Is CLIM written with an eye to the construction of
drag-and-drop GUI builders?
From: Barry Margolin
Subject: Re: graphical user interfaces in Lisp
Date: 
Message-ID: <mVNm1.64$lo1.771761@cam-news-reader1.bbnplanet.com>
In article <·················@infinet.com>,
Bruce Tobin  <······@infinet.com> wrote:
>developers/environments?  Is CLIM written with an eye to the construction of
>drag-and-drop GUI builders?

Lisp is one of the best languages for implementing "programs that write
programs", so CLIM-based GUI builders can easily leverage off this.  I'd
expect that implementing a graphical GUI builder with CLIM should be far
easier than doing it in most other languages.  Of course, if some other
languages (e.g. Visual Basic) already come with a GUI builder and a large
user base, they have a head start (but how portable are those solutions?).

-- 
Barry Margolin, ······@bbnplanet.com
GTE Internetworking, Powered by BBN, Cambridge, MA
*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.
From: Robert Maas
Subject: Re: graphical user interfaces in Lisp
Date: 
Message-ID: <76hle7$jg5$2@remarQ.com>
<<Consider that we have been building a quite complex graphical
interface: browsers with many many items,>>

What kind of items, icons and windows/dialogs?

<<big parse trees>>

You mean those trees actually drawn on the screen as nodes connected by
lines? If so, with zoom (to see the whole tree blurred, or expand
around some small part of it to see the detail, and scroll the expanded
part in any desired direction such as grabbing it with the MacPaint
'hand' tool and dragging it)? Including manually rearranging the
physical location of nodes and/or clusters and/or sub-trees on the
screen?

<<complex DAGs (directed acyclic graphs)>>

Same question: Drawn on the screen with zoom and scroll and rearrange?