Make LispM code FREE (fwd)

Rainer Joswig
Tue, 31 Mar 1998 21:58:04 +0200

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.

>I don't seem to have as big a problem with X as some of the people on
>this list.

Whether it is reasonable or not - it is there and cannot be ignored.

>heard rumors of CLIM being released for free by Franz.  If this is
>true, CLIM would be much preferable as a substrate, as it is in wider
>use, and is based on CLOS instead of a seperate object system like

Atleast Franz will release a binary version of CLIM for Linux/PC.

>	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


>	So how come there is so little interest in free CLIM???

There is interest, but it is not an easy task.

What I expect will happen, once CLIM 2 is really widely
available (Win, Macs, X, Genera, Linux, ...), is that
CLIM can't be ignored.

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
-- uses CLIM infrastructure as much as possible

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

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

- Notice/Warnings browser
-- every tool generates objects in case of warnings/errors
-- central browsing place for all warnings/errors
-- selective display based on tool/time/severity/...

- Notes
-- notes entered will be stored immediately
-- full text search
-- links to names, calendar items, files, ...

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

- Calendar
-- schedules machine and personal tasks
-- links into names, notes, files, ...

- Debugger
-- displays stack and stack frames

- Restarts
-- in case of an error enables the selection of a restart

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

- Names and Addresses, Directory Services
-- deals with companies, groups, persons, addresses, phones,
   printers, networks, sites, ...
-- links to calendar items, notes, files, ...

- Preferences
-- User preferences in one central place for all tools
-- extensible

- GUI designer

- multimedia designer
-- port of SK8 to CLIM

- Peek
-- browse various envioment data: Processes, Windows, Network, 
   machine data, GC, ...

- Class Browser
-- textual views, graphs, search

- Function Browser
-- browse functions, methods, generic functions, view documentation,
   locate source
-- remove functions

- Package Browser
-- gives overviews over packages, external and internal functionality
-- documentation overviews

- Graphics Editor
-- vector graphics

- Bitmap Editor
-- ala GIMP

- System Tool
-- browse and edit system informations
-- view plans
-- execute plans
-- maintain versions

- Talk
-- IRC, Converse, etc.

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