This is the mail archive of the kawa@sourceware.org mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]