[comp.lang.lisp] Developing over CLX

sbc@wucs1.wustl.edu (Steve B Cousins) (10/25/89)

Is it possible/reasonable/a good idea to develop CL appliations over
CLX?  In particular, if I had a Sun running Franz lisp with CLX, and
another workstation running an X server (shouldn't that be client?), could the
remote site be set up to edit and test code, or is CLX designed mainly
as a delivery vehicle for applications?

Also, has anyone used both CLX and Coral/Allegro on the Mac?  How similar
are the windowing environments?  Coral uses Object LISP.  Does/can CLX
use CLOS in a similar way?

Thanks in advance for any info or pointers.

Steve Cousins			sbc@wucs1.wustl.edu
Washington University		314-362-6968
St. Louis, MO

barmar@kulla (Barry Margolin) (10/25/89)

In article <1989Oct24.183645.9930@wucs1.wustl.edu> sbc@wucs1.wustl.edu (Steve B Cousins) writes:
>Is it possible/reasonable/a good idea to develop CL appliations over
>CLX?  In particular, if I had a Sun running Franz lisp with CLX, and
>another workstation running an X server (shouldn't that be client?), could the
>remote site be set up to edit and test code, or is CLX designed mainly
>as a delivery vehicle for applications?

I don't understand.  How would you deliver those applications without
developing them?  Are you asking whether it's reasonable to use CLX all by
itself rather than using a higher level package that is built on top of
CLX?  I'd say that using bare CLX would be pretty tough, but there aren't
many available alternatives.  You'd have to develop all your own routines
for things like menus.  Just as most X programmers in C don't use Xlib all
by itself, Lisp programmers also need toolkits and widget libraries.  Xerox
has developed a high level Lisp interface to the C toolkits, and Lucid,
Symbolics and ILA are working on a Common Lisp Interface Manager (CLIM)
that implements object-oriented I/O routines that they plan to propose as a
standard.

>Does/can CLX use CLOS in a similar way?

CLX doesn't use CLOS; it only needs structures.  There's a package called
CLUE (Common Lisp User Environment), which is a simple, object-oriented
toolkit library that uses CLOS.  It provides some basic window classes,
some stream I/O facilities, and a few other utilities.  It's still pretty
low level (it's a toolkit, but not a widget library).
Barry Margolin, Thinking Machines Corp.

barmar@think.com
{uunet,harvard}!think!barmar

sbc@wucs1.wustl.edu (Steve B Cousins) (10/25/89)

In article <31035@news.Think.COM> barmar@kulla (Barry Margolin) writes:
>In article <1989Oct24.183645.9930@wucs1.wustl.edu> sbc@wucs1.wustl.edu (Steve B Cousins) writes:
>>Is it possible/reasonable/a good idea to develop CL appliations over
>>CLX?  In particular, if I had a Sun running Franz lisp with CLX, and
>
>I don't understand.  How would you deliver those applications without
>developing them?
	...
>
>barmar@think.com
>{uunet,harvard}!think!barmar

I guess my question was a little unclear, although the rest of the response
was helpful to me anyway... When I asked about developing CL applications
_over_ CLX, I meant to mean "over" as in "over the network".  In other
words, if I have a Sun in one room, and I'm sitting at an X server in another
room, am I sitting at a reasonable development environment, or should I
develop my lisp code at the Sun console and write applications that could
only be USED at the X server.

I read your reply as saying that I probably don't want to use CLX alone to
do anything with.  I was hoping to be able to sit at my Mac and run Mac X
connected across the net to a Sun running Franz's product as an alternative
to using Allegro on the Mac when I needed more performance.  I can do that
with Telnet now, but I was hoping for a better development environment.
Is it safe to say that such things are still pretty premature?

Steve Cousins
sbc@wucs1.wustl.edu

barmar@kulla (Barry Margolin) (10/26/89)

In article <1989Oct25.155852.20583@wucs1.wustl.edu> sbc@wucs1.UUCP (Steve B Cousins) writes:
>I read your reply as saying that I probably don't want to use CLX alone to
>do anything with.  I was hoping to be able to sit at my Mac and run Mac X
>connected across the net to a Sun running Franz's product as an alternative
>to using Allegro on the Mac when I needed more performance.  I can do that
>with Telnet now, but I was hoping for a better development environment.
>Is it safe to say that such things are still pretty premature?

Yes, you managed to figure out the answer.  Developing over CLX is like
developing on Unix over Xlib -- they're just low-level subroutine
libraries.

If you have Mac X and a Sun, what you CAN do is run GNU Emacs on the Sun,
having it display on the Mac using X.  You can then run Franz in a
shell-mode buffer inside Emacs.  If you're developing CLX-based
applications, they can then display on the Mac as well.

Barry Margolin, Thinking Machines Corp.

barmar@think.com
{uunet,harvard}!think!barmar

lou@bearcat.rutgers.edu (Lou Steinberg) (10/28/89)

In article <1989Oct25.155852.20583@wucs1.wustl.edu> sbc@wucs1.wustl.edu (Steve B Cousins) writes:

> I guess my question was a little unclear, although the rest of the response
> was helpful to me anyway... When I asked about developing CL applications
> _over_ CLX, I meant to mean "over" as in "over the network".  In other
> words, if I have a Sun in one room, and I'm sitting at an X server in another
> room, am I sitting at a reasonable development environment, or should I
> develop my lisp code at the Sun console and write applications that could
> only be USED at the X server.

If by "Franz" you mean Allegro Common Lisp from Franz Inc (as opposed
to Franz Lisp, the language), then yes, it is just as reasonable to
sit at your MAC as at the Sun console.  All the window-based debugging
tools that I have seen for Allegro Common Lisp (the Sun version) work
over X.  These tools are reasonable, although not up to the level one
would see on a Lisp Machine.

By the way, I would second the recommendation of a previous poster to
run Lisp (of any kind) under Emacs.  In particular, Franz Inc. has a
very nice package for GNU emacs that provides a nice environment for
running lisp under emacs.  You can even run emacs on one machine and
lisp on another, although you lose certain facilities by doing so.
-- 
					Lou Steinberg

uucp:   {pretty much any major site}!rutgers!aramis.rutgers.edu!lou 
arpa:   lou@cs.rutgers.edu

mfi@serc.cis.ufl.edu (Mark Interrante) (10/29/89)

In article <31035@news.Think.COM> barmar@kulla (Barry Margolin) writes:
... Lucid,
>Symbolics and ILA are working on a Common Lisp Interface Manager (CLIM)
>that implements object-oriented I/O routines that they plan to propose as a
>standard.
>
>barmar@think.com
>{uunet,harvard}!think!barmar

What information is available on CLIM and is the programmers interface
stable?

-----------------------------------------------------------------------------
Mark Interrante   		Software Engineering Research Center
mfi@beach.cis.ufl.edu		CIS Department, University of Florida 32611
-----------------------------------------------------------------------------
"Imagine what it would be like if TV actually were good. It would be the end
 of everything we know."  Marvin Minsky

barmar@kulla (Barry Margolin) (10/30/89)

In article <21124@uflorida.cis.ufl.EDU> mfi@serc.cis.ufl.edu (Mark Interrante) writes:
>What information is available on CLIM and is the programmers interface
>stable?

You could try contacting International Lisp Associates in Cambridge, MA (I
don't know their current phone number or address, their office moved early
this year).

The interface should be pretty stable by now.  Symbolics is expected to be
including it in Genera 8.0, which will be in beta test soon (if not
already).
Barry Margolin, Thinking Machines Corp.

barmar@think.com
{uunet,harvard}!think!barmar