This is the mail archive of the
kawa@sourceware.org
mailing list for the Kawa project.
Re: Absent Code attribute in r7rs library
- From: Per Bothner <per at bothner dot com>
- To: kawa at sourceware dot org
- Date: Thu, 27 Nov 2014 00:30:45 -0800
- Subject: Re: Absent Code attribute in r7rs library
- Authentication-results: sourceware.org; auth=none
- References: <54767B54 dot 7090903 at hungry dot com>
On 11/26/2014 05:16 PM, Seth Alves wrote:
srfi-42 is a rich source of horror.
$ ./kawa-absent-code.scm
Exception in thread "main" java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file foo
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.lang.ClassLoader.defineClass(ClassLoader.java:643)
at gnu.bytecode.ArrayClassLoader.loadClass(ArrayClassLoader.java:125)
at gnu.expr.ModuleExp.evalToClass(ModuleExp.java:135)
at gnu.expr.ModuleExp.evalToClass(ModuleExp.java:157)
at gnu.expr.ModuleExp.evalModule1(ModuleExp.java:259)
at kawa.Shell.compileSource(Shell.java:560)
at kawa.Shell.runFile(Shell.java:528)
at kawa.Shell.runFileOrClass(Shell.java:447)
at kawa.repl.main(repl.java:881)
This time, it *does* need to be inside an r7rs library for there to be a problem. Again, let me know if more trimming would help.
This appears to be because of the colon in the name ec-:vector-filter.
This confuses Kawa in terms of whether ec-:vector-filter needs to be
be accessible to a generated macro.
Still looking into the matter.
A work-around is likely to be to use the --r7rs command-line option.
This disables the Kawa special handing of colon (and at-sign).
--
--Per Bothner
per@bothner.com http://per.bothner.com/