From: Davide Ferrario
Subject: change-class with CLISP
Date: 
Message-ID: <Pine.OSF.3.95.1010322182025.8492C-100000@ipmma19>
I have read in a recent post (2001-01-22 08:21:26 PST) from  Will Deakin
about change-class and pcl.sept92f.clisp.tar.gz. 

I would be grateful to anyone who could help me in the following:

I am trying to compile and use a program, named KENZO, written in Franz
Allegro CL (dowloadable from ftp://fourier.ujf-grenoble.fr/pub/KENZO/ ).

The computer I am working on is a compaq presario (i586) with a suse 6.3  
Linux 2.2.13 distribution (glibc2.1). I had clisp (version CLISP
1999-07-22 (July 1999)) and GCL (Gnu Common Lisp) Version 2.3, but I
cannot let it work  on these (see below).  

So I installed CMU Common Lisp, but even if it seems to work, it hangs on
compilation. 

I am totally new to LISP, so that I am probably asking something very
easy. Anyhow, do you have hints/help?

1. How to make both the "-a" switch and the "PCL.sept92f" co-exist in
CLISP? 

2. What is wrong in the compilation under CMU CL?

Thank you,

Davide 

====================================================================

1. GCL (GNU Common Lisp)  Version(2.3)
Licensed under GNU Library General Public License
Contains Enhancements by W. Schelter

===> 
Even if I load "file-list.lisp" (the file in which the function
LOAD-SFILES is defined),
when I try the command (load-sfiles) I get the  error:

Error: The function LOAD-SFILES is undefined.
Fast links are on: do (si::use-fast-links nil) for debugging
Error signalled by EVAL.
Broken at EVAL.  Type :H for Help.

It is the same error that occurs when I try clisp withour the "-c" switch
(~100% ANSI compatmode).


2. CLISP
  i i i i i i i       ooooo    o        ooooooo   ooooo   ooooo 
  I I I I I I I      8     8   8           8     8     o  8    8
  I  \ `+' /  I      8         8           8     8        8    8
   \  `-+-'  /       8         8           8      ooooo   8oooo
    `-__|__-'        8         8           8           8  8
        |            8     o   8           8     o     8  8
  ------+------       ooooo    8oooooo  ooo8ooo   ooooo   8

Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
Copyright (c) Bruno Haible, Sam Steingold 1999

===> In this case I have to run it with  the command 'clisp -a',
otherwise it cannot perform (load-sfiles).  Moreover, with the 
switch "-a" the first two steps if the test run successfully

(load "file-list.lisp")
(load-sfiles)

but when I try to run

[3]>  (load "test-ken.lisp")
;; Loading file test-ken.lisp ...
The  first test consists in computing \pi_4(S^3)
.
*** - EVAL: the function CHANGE-CLASS is undefined
1. Break [4]> 

I notice that the symbold CHANGE-CLASS is not implemented in CLISP.

I found that it was included in the  PCL version:  September 16 92 PCL (f),
so that I compiled and installed this package.

With the new package installed, it seems again to have the same
problem of the original CLISP (without "-a").

[2]> (load-sfiles)

*** - EVAL: the function LOAD-SFILES is undefined
1. Break [3]>
 

3. CMU CL 
CMU Common Lisp 18c
Loaded subsystems:
    Python 1.0, target Intel x86
    CLOS based on PCL version:  September 16 92 PCL (f)

In this case after tuning the compiler I could eventually perform the
tests, and everything seems working.

Now the problem is in compiling:
after compiling some files, eventually it exits with this error:

[...]
Python version 1.0, VM version Intel x86 on 22 MAR 01 05:29:44 pm.
Compiling: /usr2/CAS/KENZO/cones.lisp 26 APR 99 05:10:33 pm
[...] 
Compiling DEFMETHOD CMPS (HOMOTOPY-EQUIVALENCE HOMOTOPY-EQUIVALENCE): 
Byte Compiling Top-Level Form: 
Compiling Creation Form for #<KERNEL::CLASS-CELL HOMOTOPY-EQUIVALENCE>: 


Error in function COMMON-LISP::ASSERT-ERROR:
   The assertion (EQ C::CHECK :SIMPLE) failed.

Restarts:
  0: [CONTINUE] Retry assertion.
  1: [ABORT   ] Return to Top-Level.

Debug  (type H for help)

(COMMON-LISP::ASSERT-ERROR (EQ C::CHECK :SIMPLE) NIL NIL)
Source: 
; File: target:code/macros.lisp
(RESTART-CASE (ERROR COND) (CONTINUE NIL :REPORT (LAMBDA # #) NIL))


Do you know what does it mean?





-- 
Posted from ipmma19.mate.polimi.it [131.175.23.19] 
via Mailgate.ORG Server - http://www.Mailgate.ORG
From: Pierre R. Mai
Subject: Re: change-class with CLISP
Date: 
Message-ID: <87bsqtgwqe.fsf@orion.bln.pmsf.de>
········@mate.polimi.it (Davide Ferrario) writes:

> So I installed CMU Common Lisp, but even if it seems to work, it hangs on
> compilation. 
>
> [...]
> 
> 2. What is wrong in the compilation under CMU CL?

I've already answered your other post on cmucl-help, see there for the
details.  To summarize:  It seems that indeed there's a compiler bug
(at least on x86) that causes your problems with CMU CL.  Since I'm no
CMU CL compiler guru, we'll have to wait and see what some of them
have to say, but my guess is that it's just some mismatch in an
IR1/IR2 transform somewhere, so that the bug might be quickly fixed.
But that's only my guess, which comes with an LD50 dose of sodium
chloride.

Anyway, thanks for reporting the problem.

Regs, Pierre.

-- 
Pierre R. Mai <····@acm.org>                    http://www.pmsf.de/pmai/
 The most likely way for the world to be destroyed, most experts agree,
 is by accident. That's where we come in; we're computer professionals.
 We cause accidents.                           -- Nathaniel Borenstein