Well if I use copy-seq I get this error from sbcl:
unhandled TYPE-ERROR in thread #<SB-THREAD:THREAD "initial thread" RUNNING {10026F2EC1}>: The value #2A((## ## ## ##) (## #\1 #\ ##) (## ## #\ ##) (## #\ #\ ##) (## #\2 ## ##) (## ## ## ##)) is not of type SEQUENCE.
(defun copy-array (array) ; (copy-seq array)) (let ((dims (array-dimensions array))) (adjust-array (make-array dims :displaced-to array) dims)))
Where as this does not.
Here's the code: http://github.com/abramhindle/csc-club-ai http://github.com/abramhindle/csc-club-ai/blob/master/common_lisp/Map.lisp
abram
doug@hcsw.org wrote:
On Sat, Mar 06, 2010 at 07:14:00PM -0500 or thereabouts, Vishvajit Singh wrote:
I put up what I can remember of the March meeting on our website: http://www.lisptoronto.org/past-meetings/2010-03-meeting (I also put up Abram's notes from February.)
- Abram: Common Lisp doesn't have a function to copy an array?
Copy-seq works on arrays because arrays are sequences. Note that there is a special copy-list function which does a deep copy of the list (as opposed to the shallow copy done by copy-seq). There are lots of different notions of copying, just like there are lots of different types of equality.
toronto-lisp mailing list toronto-lisp@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/toronto-lisp