[slime-devel] Re: Slime/SBCL/FreeBSD oddities

Christophe Rhodes csr21 at cam.ac.uk
Fri Dec 5 16:29:20 UTC 2003


Helmut Eller <e9626484 at stud3.tuwien.ac.at> writes:

> Raymond Wiker <Raymond.Wiker at fast.no> writes:
>
>>         Here goes:
>> 
>> (defparameter *truth-table*
>>   (vector 191 191 191 191 191 191 191 191 191 191 191 191 191 191 191 191 
>
> My SBCL 0.8.6.13 goes into an endless loop or something when I enter: 
>
>  (compile nil '(lambda nil (defparameter *truth-table* ...)))
>
> Can someone confirm this?

I think probably "or something", but yes, SBCL's behaviour here seems
supremely suboptimal.

What's actually happening is that it's converting the call to VECTOR
into
  (let ((array (make-array <largenum>)))
    (setf (svref array 0) 191)
    (setf (svref array 1) 191)
    ...
    ... <largenum times>
    ...)
and this is causing the compiler to spend a lot of time optimizing and
reoptimizing the body.  It does eventually finish and give the right
answer, though.

Could this be reported as an sbcl bug, please?

Cheers,

Christophe
-- 
http://www-jcsu.jesus.cam.ac.uk/~csr21/       +44 1223 510 299/+44 7729 383 757
(set-pprint-dispatch 'number (lambda (s o) (declare (special b)) (format s b)))
(defvar b "~&Just another Lisp hacker~%")    (pprint #36rJesusCollegeCambridge)





More information about the slime-devel mailing list