[comp.lang.lisp] Installing and Using CLUE on Sun-4

mdb@zero.arc.ab.ca (Mark Brinsmead) (08/25/90)

   I was wondering whether anybody out there could provide some
advice on installing CLUE on a Sun-4 (sparcstation).  I'm running
Lucid (Sun) Common Lisp 3.0, with the most recent versions of PCL,
CLX, and CLUE.  I've already had to make several hacks to avoid
compilation problems with types (eg., class names are not recognised
as value types unless defined in a *separate* file, compiled, and
loaded).

   I have experienced several errors when running the "just-say-lisp"
example provided with CLUE, such as "the function 14 is undefined" and
some really hideous type mismatches with (setf SVREF). After putting
in hacks to get around these the function runs, but nothing appears
on my screen when the windows (menus) should have been drawn. Before
I give up on this entirely, I would like to know the following:

1)  Has anybody run CLUE under a similar configuration (Lucid 3.0, PCL) ?
    (surely someone must have!)

2)  If the answer to 1) is "yes", can anybody offer advice as to how I
    should have installed this?

I have unfortunately not had the opportunity to devote all the time I should
have to debugging this, so I find myself asking for help instead. CLUE *looks*
worthwhile, but I'm starting to wonder....


-- Mark Brinsmead  (mdb@[128.144.1.3] <-- just in case DNS barfs)

rathke@is.informatik.uni-stuttgart.de (Christian Rathke) (08/26/90)

In article <1990Aug24.174849.15683@arcsun.arc.ab.ca> mdb@zero.arc.ab.ca (Mark Brinsmead) writes:
       
          I was wondering whether anybody out there could provide some
       advice on installing CLUE on a Sun-4 (sparcstation).  I'm running
       Lucid (Sun) Common Lisp 3.0, with the most recent versions of PCL,
       CLX, and CLUE.  I've already had to make several hacks to avoid
       compilation problems with types (eg., class names are not recognised
       as value types unless defined in a *separate* file, compiled, and
       loaded).
       
          I have experienced several errors when running the "just-say-lisp"
       example provided with CLUE, such as "the function 14 is undefined" and
       some really hideous type mismatches with (setf SVREF). After putting
       in hacks to get around these the function runs, but nothing appears
       on my screen when the windows (menus) should have been drawn. Before
       I give up on this entirely, I would like to know the following:
       
       1)  Has anybody run CLUE under a similar configuration (Lucid 3.0, PCL) ?
           (surely someone must have!)
       
Yes.

       2)  If the answer to 1) is "yes", can anybody offer advice as to how I
           should have installed this?

For the first problem (class names are not recognised as value types unless ...)
you need to 

	(pushnew 'compile pcl::*defclass-times*)
	(pushnew 'compile pcl::*defmethod-times*)

in your compile time environment. Check "notes.text" in the pcl-directory.
Remember to do this both for compiling clx and clue.

There is also a problem with respect to packages.  The latest version of clue
(clue-7.20) assumes the package "COMMON-LISP" to be present.  I am not sure
whether this corresponds to Lucid's "LUCID-COMMON-LISP".  In clue/doc/release.7-20
it is recommended to create the "COMMON-LISP" package and export from it the
symbols of the LISP, CLOS (really PCL) and CLCS packages.  For the time being making
"COMMON-LISP" a nickname of the "LISP" package seems to work.  Just add

	(rename-package (find-package 'lisp) "LISP" '("COMMON-LISP"))

to the compile and run time environments.

Now, there is one major source of trouble originating from the fact that there
have been some (?) incompatible changes in the forthcoming ansi standard for
Common Lisp. The function FUNCTIONP of LUCID 3.0 needs to be modified according to
the new definition. Change the occurrences of FUNCTIONP in intrinsics.lisp to also
check for the argument (after-effect) to not be a symbol. I added

	#+LCS3.0 (not (symbolp after-effect))

twice, but there might be more elegant solutions.

       I have unfortunately not had the opportunity to devote all the time I should
       have to debugging this, so I find myself asking for help instead. CLUE *looks*
       worthwhile, but I'm starting to wonder....
       
       
       -- Mark Brinsmead  (mdb@[128.144.1.3] <-- just in case DNS barfs)

Good luck.

	-Christian Rathke

==============================================================================
Christian Rathke                            rathke@informatik.uni-stuttgart.de
Institut fuer Informatik
Universitaet Stuttgart
Forststrasse 86
D - 7000 Stuttgart 1                                  Tel.: (+49 711) 121-1436
==============================================================================