I have a module which loads under CMUCL 18d/x86 Linux, compiles/loads under
CLISP but fails to compile under CMUCL. By #+'ing out code I discovered
that the problem is related to a recursive tail call inside a labels form.
Is this a known problem? Is there a compiler option I can change to
workaround this? I can re-code this particular lambda as a do loop, but I
use tail recursive labels all over the place. Just curious.
Thanks!
Dave
The output is below:
Script started on Sun Oct 13 21:24:08 2002
[?6c% lisp CMU Common Lisp 18d, running on mud.synergy.org
Send questions to [EMAIL PROTECTED] and bug reports to
[EMAIL PROTECTED]
Loaded subsystems:
Python 1.0, target Intel x86
CLOS based on PCL version: September 16 92 PCL (f)
* (compile-file "match")
Python version 1.0, VM version Intel x86 on 13 OCT 02 09:24:18 pm.
Compiling: /home/dave/CyberMage/match.lisp 13 OCT 02 09:22:45 pm
Compiling DEFCONSTANT *MATCH-OBJECTS-HASH-TABLE*:
Byte Compiling Top-Level Form:
Converted MATCH-OBJECTS.
Compiling DEFUN MATCH-OBJECTS:
Type-error in KERNEL::OBJECT-NOT-TYPE-ERROR-HANDLER:
NIL is not of type C::TAIL-SET
Restarts:
0: [ABORT] Return to Top-Level.
Debug (type H for help)
(C::MERGE-TAIL-SETS
#<C::COMBINATION #x4807638D
FUN= #<C::REF #x4807635D LEAF= #<LAMBDA 4809DCF5>>
ARGS= (#<C::REF 48076405> #<C::REF 4807647D>)>
#<LAMBDA #x4809DCF5
NAME= NIL
TYPE= #<BUILT-IN-CLASS FUNCTION (read-only) {2803C6ED}>
WHERE-FROM= :DEFINED
VARS= #'#:FUNCALL-ARG-59>)
Source: Error finding source:
Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer
exists:
target:compiler/locall.lisp.
0] (quit)
Compilation unit aborted.
Compilation aborted after 0:00:04.
% ^D
Script done on Sun Oct 13 21:24:23 2002