From: <hum...@hp...> - 2002-11-06 18:19:23
|
There seems to be a problem with defgeneric in recent versions of sbcl. The following code gives an error on the sbcl-0.7.9-1 rpm and a the CVS version I checked out today, the error is also listed. The code works on the sbcl 0.7.5 rpm and cmucl 18d. I came across this trying to compile araneida on the 0.7.9 version. $ ./src/runtime/sbcl --core output/sbcl.core This is SBCL 0.7.9.33, an implementation of ANSI Common Lisp. SBCL is derived from the CMU CL system created at Carnegie Mellon University. Besides software and documentation originally created at Carnegie Mellon University, SBCL contains some software originally from the Massachusetts Institute of Technology, Symbolics Incorporated, and Xerox Corporation, and material contributed by volunteers since the release of CMU CL into the public domain. See the CREDITS file in the distribution for more information. SBCL is a free software system, provided as is, with absolutely no warranty. It is mostly in the public domain, but also includes some software copyrighted Massachusetts Institute of Technology, 1986; Symbolics, Inc., 1989, 1990, 1991, 1992; and Xerox Corporation, 1985, 1986, 1987, 1988, 1989, 1990 used under BSD-style licenses allowing copying only under certain conditions. See the COPYING file in the distribution for more information. More information about SBCL is available at <http://sbcl.sourceforge.net/>. * (defclass foo () ()) (defgeneric bar ((f foo) x)) #<STANDARD-CLASS FOO> * debugger invoked on condition of type SB-C:COMPILER-ERROR: Required argument is not a symbol: (F FOO) Within the debugger, you can type HELP for help. At any command prompt (within the debugger or not) you can type (SB-EXT:QUIT) to terminate the SBCL executable. The condition which caused the debugger to be entered is bound to *DEBUG-CONDITION*. You can suppress this message by clearing *DEBUG-BEGINNER-HELP-P*. restarts: 0: [CONTINUE] Replace form with call to ERROR. 1: [ABORT ] Reduce debugger level (leaving debugger, returning to toplevel). 2: [TOPLEVEL] Restart at toplevel READ/EVAL/PRINT loop. (SB-C:COMPILER-ERROR 3 "~A is not a symbol: ~S")[:EXTERNAL] 0] -- Humberto Ortiz Zuazaga Programmer-Archaeologist High Performance Computing facility University of Puerto Rico http://www.hpcf.upr.edu/~humberto/ |