I compiled the same function under clisp and lispworks. Clisp had no
trouble with it, but LispWorks gave the following error:
Subcharacter #V not defined for dispatch char #/#.
With a google search, I found something that looks relevant, but the
conversation is way over my head.
http://clozure.com/pipermail/openmcl-devel/2004-December/002348.html
Am I making a coding mistake that Clisp tolerates? Is there a known
issue with LispWorks that I need to work around? Any suggestions for
changing the function?
This is the problem function:
(defun gauss-seidel (flux center-factor left-boundary-factor
right-boundary-factor)
#left boundary
(setf (elt flux 0)
(/ (elt flux 1) left-boundary-factor))
#right boundary
(setf (elt flux (- (length flux) 1))
(/ (elt flux (- (length flux) 2)) right-boundary-factor))
#the rest
(do ((i 1 (1+ i)))
((>= i (- (length flux) 1)))
(setf (elt flux i)
(/ (+ (elt flux (1- i)) (elt flux (1+ i)))
center-factor)))
flux)
I have tried evaluating individual statements in LispWorks (the
do-loop, left boundary, right boundary, the rest...) and had no
trouble, but it doesn't like when I throw the whole thing together as a
function.
>I compiled the same function under clisp and lispworks. Clisp had no
>trouble with it, but LispWorks gave the following error:
>Subcharacter #V not defined for dispatch char #/#.
I used # instead of ; for comment lines. The reason Clisp didn't choke
is that I was typing into the REPL by hand and didn't retype the
comments.