Message from discussion
ACL 4.3 For Linux license concerns
From: mike...@mikemac.com (Mike McDonald)
Subject: Re: ACL 4.3 For Linux license concerns
Date: 1999/01/04
Message-ID: <76r8r7$sut$1@spitting-spider.aracnet.com>#1/1
X-Deja-AN: 428749793
References: <m3empn30w1.fsf@solo.david-steuber.com> <763ve8$a01$1@newsource.ihug.co.nz> <m31zll2lfx.fsf@solo.david-steuber.com> <m2iuewo4je.fsf@sophia.axel.nom> <m3yanriaps.fsf@solo.david-steuber.com> <m2vhiuzeb4.fsf@sophia.axel.nom> <3124350472579338@naggum.no> <slrn7927gl.10i.david.lichteblau@lambda.dummy.de>
Content-Type: text/plain; charset=us-ascii
Organization: aracnet.com
Mime-Version: 1.0
Reply-To: mike...@mikemac.com
Newsgroups: comp.lang.lisp
In article <slrn7927gl.10i.david.lichteb...@lambda.dummy.de>,
david.lichteb...@snafu.de (David Lichteblau) writes:
> In article <3124350472579...@naggum.no>, Erik Naggum wrote:
>> then you'd say (compile-system :foo) or (load-system :foo :compile t) or
>> the like, and things are taken care of. (it would have be nice if the
>> top-level loop had had commands like :cs and :ls, but when I take the
>> time to figure out how to make top-level commands, I'll post something.)
>
> Is my understanding right that the Lisp Machines have various kinds of
> listeners for purposes like this? Or is there one which works for
> normal language-oriented queries as well as for OS-level (:ls) things?
The command tables on Symbolics can be hierarchical, ie one command table
can inherit commands from other command tables. So for my app, I can define
just my few new commands and inherit all the other ones from some preexisting
one.
The standard lisp listener has all of those commands in it's default command
table. (If I remember correctly, you can specify the command table to use when
creating a listener.) For instance, the lisp listener has :Show Directory
built in. The nice thing about the LispM implementation, is it has command
completion (using the space key!). So I type in ":sh di " and I get ":Show
Directory :directory <default>?" Since the commands are built upon
presentation types, the reader knows what type the argument is. So I can type
in a directory name, or I can click on an valid pathname displayed anywhere on
the screen. And since Lisp knows the type of everything, when the results are
displayed on the screen, the LispM remembers that info. So after I do the
:Show Directory command, all of the pathnames printed out are mouse sensitive.
The default action (left mouse click) for files is to execute ":Show File"
with that pathname as the arg. For directories, it's too call ":Show
Directory" with the pathname. The middle button is typically bound to
":Describe Object". The right button pops up a menu with several choices of
things you can do to that object. For files, one of the choices is to edit the
file, for instance. For object slots, one of the choices is to modify the
slot. This gives a pretty complete "inspector" for free.
> Someone proposed (in a thread I can't find anymore) that before writing
> high-level libraries like CLIM, this listener functionality should be
> written. Any information about how this should work? A common Lisp
> listener/file system listener/inspector/debugger for all the various
> Common Lisp implementations sounds like a useful and powerful thing to
> have.
>
> David
Actually, I think I proposed just the opposite. You really need CLIM to
write the lisp listener. CLIM provides the framework for PRESENT and ACCEPT,
and command tables upon with a listener would be built. Here's where efforts
are currently at: http://www.mikemac.com/mikemac/McCLIM/index.html (Still got
a ways to go for alpha release!)
Mike McDonald
mike...@mikemac.com