This is the mail archive of the
kawa@sourceware.org
mailing list for the Kawa project.
Re: Kawa build warnings
- From: Per Bothner <per at bothner dot com>
- To: Yaroslav Kavenchuk <kavenchuk at gmail dot com>
- Cc: kawa at sourceware dot org
- Date: Tue, 15 Jan 2008 00:03:06 -0800
- Subject: Re: Kawa build warnings
- References: <47872368.606@bothner.com> <47873707.8000306@gmail.com>
Yaroslav Kavenchuk wrote:
Per Bothner wrote:
The following two should probably be fixed first.
C:\JVM\kawa\gnu\commonlisp\lisp\PrimOps.scm:121:20: warning - no known
slot 'boolean>' in java.lang.Object
C:\JVM\kawa\gnu\commonlisp\lisp\PrimOps.scm:141:21: warning - no known
slot 'boolean>' in java.lang.Object
:))
kawa\gnu\commonlisp\lisp\PrimOps.scm:121:
(define (arrayp x) :: <clisp:boolean>
kawa\gnu\commonlisp\lisp\PrimOps.scm:141:
(define (stringp x) <clisp:boolean>
May be need insert :: before type?
No - the problem is the the ':' character sprints the type-name
into two tokens - i.e. it's a reader problem.
The easiest fix is to "quote" the colon:
(define (arrayp x) |clisp:boolean|
(instance? x <gnu.lists.SimpleVector>))
I checked that in.
That still causes a problem if you call arrayp
directly from the REPL:
$ bin/kawa --commonlisp
#|kawa:1|# (arrayp 4)
false
However, that's a separate problem with printing.
It works as long as you just don't print the boolean
result directly.
#|kawa:2|# (define x (arrayp 4))
#|kawa:3|# x
()
#|kawa:4|#
I added the printing problem to my to-do list.
--
--Per Bothner
per@bothner.com http://per.bothner.com/