[Openmcl-devel] wrong type of value while writing to matrix (?)
Gary Byers
gb at clozure.com
Wed Dec 5 17:57:08 PST 2007
This is the same bug reported in
<http://www.clozure.com/pipermail/bug-openmcl/2007-November/000519.html>
It was fixed in the change described in
<http://trac.clozure.com/openmcl/changeset/7615>
<http://trac.clozure.com/openmcl/wiki/UpdatingFromSource> explains how
to update from CVS (to apply bug fixes and other changes.)
This bug was never entered as a Trac "ticket"; had it been, you might
have been able to find this information more easily.
On Wed, 5 Dec 2007, Taylor, Joshua wrote:
> Hello all,
>
> (If this isn't the appropriate place for this, please let me know. Of
> the options I found at http://trac.clozure.com/openmcl/ , this seemed
> like what I looking for.)
>
> I used OpenMCL a few years ago, and with all the recent activity, I'm
> trying it out again. I started by loading up some code that I'd
> written while using LispWorks. I encountered a problem while reading
> some matrix values from a file. I've distilled down my problem into
> the following code/backtrace that follows. So that you know what
> you're looking at, the input file is from Project Euler, and is
> http://projecteuler.net/project/matrix.txt (but with the commas
> replaced with spaces). I create an 80x80 matrix and read values from
> the file and write them into the matrix. Unless I put an element-type
> for the matrix, I get "Error: value 1664882 is not of the expected
> type (SIMPLE-ARRAY T (* *))." I don't seem to get this with a smaller
> array though. As for version information, I'm on an iBook G4 running
> OS X 10.4.10, and
> Welcome to OpenMCL Version 1.1-pre-070722 (DarwinPPC32)!
> ? (lisp-implementation-type) => "OpenMCL"
> ? (lisp-implementation-version) => "Version 1.1-pre-070722 (DarwinPPC32)"
> ? (type-of (make-array '(80 80))) => (SIMPLE-ARRAY T (80 80))
>
> I hope I'm just missing something silly. Thanks in advance!
>
> ^_^ tayloj at hobbang:~$ cat foo.lisp
> (defun load-matrix ()
> (let ((matrix (make-array '(80 80))))
> (with-open-file (in "~/Desktop/Project Euler/matrix.txt")
> (dotimes (i 80)
> (dotimes (j 80)
> (setf (aref matrix i j) (read in) ))))
> matrix))
>
> (defun load-matrix2 ()
> (let ((matrix (make-array '(80 80) :element-type 'fixnum)))
> (with-open-file (in "~/Desktop/Project Euler/matrix.txt")
> (dotimes (i 80)
> (dotimes (j 80)
> (setf (aref matrix i j) (read in) ))))
> matrix))
>
> ^_^ tayloj at hobbang:~$ openmcl -l foo.lisp
> Welcome to OpenMCL Version 1.1-pre-070722 (DarwinPPC32)!
> ? (load-matrix2) ; with element-type
> #2A((4445 2697 5115 ... 9491 1937 7384 4563 6842 5432 2751 3406 7981))
> ? (load-matrix) ; without element-type
>> Error: value 1664882 is not of the expected type (SIMPLE-ARRAY T (* *)).
>> While executing: LOAD-MATRIX, in process listener(1).
>> Type :POP to abort, :R for a list of available restarts.
>> Type :? for other options.
> 1 > :b :show-frame-contents t
> (F0199B80) : 0 (LOAD-MATRIX) 304
> NIL
>
> MATRIX: #2A((0 0 0 0 0 ...) (0 0 0 0 0 ...) (0 0 0 0 0 ...) (0 0 0 0
> 0 ...) (0 0 0 0 0 ...) ...)
> #:G0: #<BASIC-FILE-CHARACTER-INPUT-STREAM
> ("/Users/tayloj/Desktop/Project Euler/matrix.txt"/4 ISO-8859-1)
> #x855850E>
> #:G1: NIL
> IN: #<BASIC-FILE-CHARACTER-INPUT-STREAM
> ("/Users/tayloj/Desktop/Project Euler/matrix.txt"/4 ISO-8859-1)
> #x855850E>
> I: 0
> J: 0
>
> (F0199BA0) : 2 (CALL-CHECK-REGS 'LOAD-MATRIX [...]) 72
> (CCL::FN &REST CCL::ARGS)
> CCL::FN: LOAD-MATRIX
> CCL::ARGS: NIL
>
> CCL::OLD-REGS: (*PACKAGE* #<SYNONYM-STREAM to *TERMINAL-IO*
> #x852BDA6> (NIL) (#) 0 ...)
>
> (F0199BC0) : 4 (TOPLEVEL-EVAL '(LOAD-MATRIX) [...]) 152
> (CCL::FORM &OPTIONAL *LOADING-FILE-SOURCE-FILE*)
> CCL::FORM: (LOAD-MATRIX)
> *LOADING-FILE-SOURCE-FILE*: NIL
>
> PACKAGE: #<Package "COMMON-LISP-USER">
>
> (F0199BD0) : 5 (READ-LOOP [...]) 888
> (&KEY :INPUT-STREAM :OUTPUT-STREAM :BREAK-LEVEL :PROMPT-FUNCTION)
> INPUT-STREAM: 0
> OUTPUT-STREAM: #<SYNONYM-STREAM to *TERMINAL-IO* #x852BBAE>
> CCL::BREAK-LEVEL: #<BASIC-FILE-CHARACTER-INPUT-STREAM
> ("/Users/tayloj/Desktop/Project Euler/matrix.txt"/4 ISO-8859-1)
> #x855850E>
> CCL::PROMPT-FUNCTION: #<Anonymous Function #x81D0466>
>
> CCL::*BREAK-LEVEL*: 0
> CCL::*LAST-BREAK-LEVEL*: 0
> *LOADING-FILE-SOURCE-FILE*: NIL
> CCL::*IN-READ-LOOP*: NIL
> ***: NIL
> **: NIL
> *: #2A((4445 2697 5115 718 2209 ...) (1096 20 1318 7586 5167 ...)
> (9607 7385 521 6084 1364 ...) (7206 3114 7760 1094 6150 ...) (3620
> 8024 577 9997 7377 ...) ...)
> +++: NIL
> ++: NIL
> +: (LOAD-MATRIX2)
> ///: NIL
> //: NIL
> /: (#2A(# # # # # ...))
> -: (LOAD-MATRIX)
> CCL::EOF-VALUE: #2A((0 0 0 0 0 ...) (0 0 0 0 0 ...) (0 0 0 0 0 ...)
> (0 0 0 0 0 ...) (0 0 0 0 0 ...) ...)
> #:ABORT-BREAK: #<RESTART ABORT-BREAK #x76AC56>
> #:ABORT: #<RESTART ABORT #x76AC2E>
> #:G28539: (#<RESTART ABORT #x76AC2E> #<RESTART ABORT-BREAK #x76AC56>)
> CCL::%RESTARTS%: ((#<# # #x76AC2E> #<# # #x76AC56>) (#<# # #x76AD8E>
> #<# # #x76ADB6>))
> CCL::FORM: (LOAD-MATRIX)
> CCL::PATH: NIL
> CCL::PRINT-RESULT: T
>
> (F0199C10) : 6 (TOPLEVEL-LOOP) 72
> NIL
>
>
>
> (F0199C30) : 7 (FUNCALL #'#<Anonymous Function #x816CCEE>) 68
> NIL
>
> CCL::INIT-FILE: "home:openmcl-init"
>
> (F0199C50) : 9 (FUNCALL #'#<Anonymous Function #x82161AE>) 336
> NIL
>
> CCL::CLOSE-STREAMS: NIL
> CCL::CLEANUP-FUNCTION: #<COMPILED-LEXICAL-CLOSURE #x852BA2E>
> CCL::INITIAL-FUNCTION: #<COMPILED-LEXICAL-CLOSURE #x852BA16>
> OUTPUT-STREAM: #<BASIC-CHARACTER-OUTPUT-STREAM ISO-8859-1 (TTY/1) #x852C94E>
> INPUT-STREAM: #<BASIC-CHARACTER-INPUT-STREAM ISO-8859-1 (TTY/0) #x852CEFE>
> *TERMINAL-IO*: #<ECHOING-TWO-WAY-STREAM input
> #<BASIC-CHARACTER-INPUT-STREAM ISO-8859-1 (TTY/0) #x852CEFE>, output
> #<BASIC-CHARACTER-OUTPUT-STREAM ISO-8859-1 (TTY/1) #x852C94E>
> #x853FDCE>
>
> (F0199C70) : 10 (RUN-PROCESS-INITIAL-FORM #<TTY-LISTENER listener(1)
> [Active] #x852B666> '(#)) 400
> (PROCESS CCL::INITIAL-FORM)
> PROCESS: #<TTY-LISTENER listener(1) [Active] #x852B666>
> CCL::INITIAL-FORM: (#<COMPILED-LEXICAL-CLOSURE #x852B2B6>)
>
> CCL::EXITED: NIL
> #:G28844: (PROCESS-RESET)
> CCL::%HANDLERS%: ((PROCESS-RESET))
> #:ABORT: #<RESTART ABORT #x76ADB6>
> #:ABORT-BREAK: #<RESTART ABORT-BREAK #x76AD8E>
> #:G28845: (#<RESTART ABORT-BREAK #x76AD8E> #<RESTART ABORT #x76ADB6>)
> CCL::%RESTARTS%: ((#<# # #x76AD8E> #<# # #x76ADB6>))
>
> (F0199CB0) : 12 (FUNCALL #'#<Anonymous Function #x8173F66>
> #<TTY-LISTENER listener(1) [Active] #x852B666> '(#)) 152
> (PROCESS CCL::INITIAL-FORM)
> PROCESS: #<TTY-LISTENER listener(1) [Active] #x852B666>
> CCL::INITIAL-FORM: (#<COMPILED-LEXICAL-CLOSURE #x852B2B6>)
>
> *CURRENT-PROCESS*: #<TTY-LISTENER listener(1) [Active] #x852B666>
> CCL::SYMS: (CCL::*FREE-XPS* CCL::*FREE-CIRCULARITY-HASH-TABLES*
> CCL::*FAKE-STACK-FRAMES* CCL::*VINSN-VARPARTS*
> CCL::*VINSN-LABEL-FREELIST* ...)
> VALUES: (NIL NIL NIL #<POOL #x853FFAE> #<POOL #x853FF96> ...)
>
> (F0199CD0) : 13 (FUNCALL #'#<Anonymous Function #x816AAB6>) 172
> NIL
>
> CCL::TCR: 787548
> CCL::THREAD: #<LISP-THREAD listener [tcr @ #x301170] #x852B95E>
> CCL::*CURRENT-LISP-THREAD*: #<LISP-THREAD listener [tcr @ #x301170] #x852B95E>
> CCL::INITIAL-FUNCTION: (#<Anonymous Function #x8173F66>
> #<TTY-LISTENER listener(1) [Active] #x852B666> (#))
>
> 1 > (quit)
> ^_^ tayloj at hobbang:~$
>
> --
> =====================
> Joshua Taylor
> jtaylor at alum.rpi.edu
>
> "A lot of good things went down one time,
> back in the goodle days."
> John Hartford
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel
>
>
More information about the Openmcl-devel
mailing list