Make LispM code FREE (fwd)

Mike McDonald
Tue, 31 Mar 1998 12:44:47 -0800 (PST)

>Date: Tue, 31 Mar 1998 21:58:04 +0200
>From: Rainer Joswig <>
>Subject: Re: Make LispM code FREE (fwd)
>At 12:36 31.03.98 +0200, Gavin E. Gleason wrote:
>>Damond Walker writes:
>> > waiting to be pulled in or learned from.....?
>> >     Anyone have any experience with CLX under Allegro CL?  Got it working
>> > last night mostly (hell, it seems to work anyway) -- would it be a *bad*
>> > thing to base some GUI stuff on CLX?
>Not at all.
>CLX is low level. For something useful you will have to 
>built on top of CLX something like CLIM. CLIM
>is portable and CLIM above Motif already exists.

  CLIM is only portable IF your comercial lisp vender deams to provide
it for your platform. And if you can afford it. With Franz preparing
to release their version for Linux, that should help alot.

>>	It seems to me in a world of GUI, that one of the best things
>>that could further the LispOS ideals would be to develop a free CLIM.
>Yes. And until this will happen, start with one of the existing
>CLIM implementations (free or not) and write applications.
>>This would alow us to start developing applications that people would
>>actually use.  A CL Emacs writen with a CLIM interface for instance
>>(Idea shamelessly borrowed off of #:Erik Naggum), would be far more
>>usefull and flexible then XEmacs, and with a elisp compatibility
>>package could server to produce a "real" development environment for

  Why? I'm serious. Why would you want to implement Emacs using CLIM?
I hope you're not thinking of presenting each character/word. I can
understand implementing a web browser using CLIM but not Emacs. Please
enlighten me!

>>	So how come there is so little interest in free CLIM???
>There is interest, but it is not an easy task.

  That's an understatement! The spec is 364 pages long and leaves a
LOT to the imagination. Luckily, some of the authors are on the net
and have been gracious enough to explain the meaning/thinking process
about various points.

>So there is the chance for a portable free CLIM desktop environment.
>- based on CL + CLIM
>- abstracts from the machine
>- integrates a portable CLIM Emacs
>- extensible by CLIM components
>- extensive drag and drop support
>- maximum use of context sensitive menus
>- linkable views (for example every result of
>  a lisp listener will be displayed in an inspector)
>- linked data items
>- Application Central
>-- menus: Desktop, File, Edit, Applications, Preferences, Windows, Help
>-- may have a desktop
>-- may have a command line
>-- may have a mouse documentation line
>- CLIM Emacs
>-- integrates Editor, Shell, Mail, News, Telnet

  Ouhh! Yuck! That seems like Unix thinking again. Let them be
separate apps that can communicate easily with each other. We don't
have to go the kitchen sink route again! (Things like one common,
global kill ring help to integrate separate apps.)

>- File Browser
>-- browse directories, rename files, create files, delete files,
>   edit files, change properties, find files, open files,
>   move and copy files

  On my Symbolics, I found that once the Lisp Listener had
presentation types, I hardly ever used the File Editor. (Except to
find out how many free records were left.) It was easier to just do a
:Show Directory in the listener.

>- Lisp Listener
>-- presentation-based
>-- unlimited output history
>-- supports both Lisp forms and commands


>- Inspector
>-- can inspect every Lisp object
>-- provides special views for common object types

  Once again, once you have presentation types in the lisp listener, a
windowed inspector becomes redundant. Just middle click on any lisp
object and it gets described. Right click on one of the slots and get
the chance to modify it. Left click on any other object on the screen
to use that for the new value. Life's good!

>- Apropos
>-- search through the various namespaces (variables, functions, packages,
>   modules, applications, ...)

  Hmm, I always found (apropos 'foo) to work just fine.

>- Class Browser
>- Function Browser
>- Package Browser

  All can be done in the lisp listener with presentation types.

>- Web Browser
>-- also used for the internal documentation generated by CL-HTTP

  That'd be a good start though!

  Mike McDonald