This is the mail archive of the kawa@sources.redhat.com 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: Portable Syntax Case


On Wed, 2004-04-21 at 09:07, Per Bothner wrote:

Hi Per! Thanks for your reply.

> Debuging these errors is tedious, especially when the testcase is
> so complex (to big to get a handle on).  If you could trim psyntax.pp
> to a minimal testcase that still triggers a VerifyError, that would
> make it a bit easier.

Through trial and error I have managed to trim a test case down to
around 200 lines of code. A ";;gap" comment means I have cut out a piece
of code. A ";;keep form" comment just means I tried to cut the form out
but a VerifyError went away.

The test case is attached as psyntax.temp.

It's annoying that Scheme doesn't allow a body with no expressions in
lambdas and lets like Common Lisp does. I had to keep pasting in
expressions just to satisfy the compiler (hence the form (write "Hi
Per!")).

This is the error message psyntax.temp currently generates:

(load "psyntax.temp")
java.lang.VerifyError: (class: atInteractiveLevel, method:
lambda1topIdBoundVarName426 signature:
(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;) Bad type in putfield/putstatic
        at java.lang.Class.getDeclaredFields0(Native Method)
        at java.lang.Class.privateGetDeclaredFields(Class.java:1514)
        at java.lang.Class.getDeclaredField(Class.java:1206)
        at gnu.expr.ModuleExp.evalToClass(ModuleExp.java:116)
        at gnu.expr.ModuleExp.evalModule(ModuleExp.java:169)
        at kawa.Shell.run(Shell.java:233)
        at kawa.standard.load.loadSource(load.java:161)
        at kawa.standard.load.apply(load.java:273)
        at kawa.standard.load.apply2(load.java:199)
        at kawa.standard.load.apply1(load.java:189)
        at gnu.mapping.Procedure1.applyN(Procedure1.java:49)
        at gnu.mapping.Procedure.apply(Procedure.java:115)
        at gnu.mapping.CallContext.runUntilDone(CallContext.java:289)
        at gnu.expr.ModuleExp.evalModule(ModuleExp.java:191)
        at kawa.Shell.run(Shell.java:233)
        at kawa.Shell.run(Shell.java:180)
        at kawa.Shell.run(Shell.java:167)
        at kawa.Shell.run(Shell.java:154)
        at kawa.repl.main(repl.java:650)

Regards,
Adam

Attachment: psyntax.temp
Description: Text document


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