This is the mail archive of the
kawa@sourceware.org
mailing list for the Kawa project.
Re: Package initialisation in CL boot
On 12 July 2012 20:14, Charles Turner <chturne@gmail.com> wrote:
> So you'd check if the symbol is of the CLASS namespace, and then pull
> the local name out of it and do a type lookup? Rather than my current
> approach of backtracking from an error condition and trying something
> new. I like this idea.
It seems to work nicely. I have case folding working as it should (OK,
there may be bugs). We have two options for syntax when specifiying
class names, either class::|name| or <name>. Some sample behavior:
#|kawa:1|# java.lang.String
<unknown>: warning - no declaration seen for {COMMON-LISP-USER}:JAVA.LANG.STRING
unbound location {COMMON-LISP-USER}:JAVA.LANG.STRING
#|kawa:2|# class::|java.lang.String|
class java.lang.String
#|kawa:3|# <java.lang.String>
class java.lang.String
#|kawa:4|# 'kawa
{COMMON-LISP-USER}:KAWA
I found that the simplest way to have the input folded correctly is to
place this in CommonLisp:
@Override
public LispReader getLexer(InPort inp, SourceMessages messages)
{
LispReader r = new LispReader(inp, messages);
r.setReadCase('U'); // this is new, set the read case to UP
return r;
}
I'll try and reorganise the primitive code now (finally!), and fix the
output format for CL.
Kind regards,
Charlie.