New reference implementation taylanbayirli@xxxxxx (29 Aug 2015 17:38 UTC)
Re: New reference implementation Per Bothner (29 Aug 2015 20:23 UTC)
Re: New reference implementation taylanbayirli@xxxxxx (29 Aug 2015 21:38 UTC)
Re: New reference implementation Per Bothner (30 Aug 2015 09:20 UTC)
Re: New reference implementation taylanbayirli@xxxxxx (30 Aug 2015 10:45 UTC)
Re: New reference implementation taylanbayirli@xxxxxx (31 Aug 2015 21:22 UTC)
Re: New reference implementation Per Bothner (31 Aug 2015 22:11 UTC)
Re: New reference implementation taylanbayirli@xxxxxx (01 Sep 2015 08:44 UTC)
Re: New reference implementation Per Bothner (01 Sep 2015 10:44 UTC)
Re: New reference implementation John Cowan (30 Aug 2015 01:24 UTC)
Re: New reference implementation Arthur A. Gleckler (30 Aug 2015 04:35 UTC)
Re: New reference implementation John Cowan (30 Aug 2015 17:10 UTC)
Re: New reference implementation Per Bothner (30 Aug 2015 05:06 UTC)
Re: New reference implementation taylanbayirli@xxxxxx (30 Aug 2015 08:06 UTC)
Re: New reference implementation Per Bothner (30 Aug 2015 08:25 UTC)
Re: New reference implementation taylanbayirli@xxxxxx (30 Aug 2015 08:49 UTC)
Re: New reference implementation Per Bothner (30 Aug 2015 09:33 UTC)
Re: New reference implementation taylanbayirli@xxxxxx (30 Aug 2015 12:35 UTC)
Re: New reference implementation taylanbayirli@xxxxxx (22 Sep 2015 21:27 UTC)
Re: New reference implementation Per Bothner (24 Sep 2015 00:25 UTC)
Re: New reference implementation taylanbayirli@xxxxxx (24 Sep 2015 08:26 UTC)
Re: New reference implementation taylanbayirli@xxxxxx (26 Sep 2015 11:49 UTC)
Re: New reference implementation Per Bothner (28 Sep 2015 17:47 UTC)
Re: New reference implementation taylanbayirli@xxxxxx (28 Sep 2015 19:54 UTC)
Re: New reference implementation Per Bothner (02 Oct 2015 06:07 UTC)
Re: New reference implementation Per Bothner (02 Oct 2015 06:36 UTC)
Re: New reference implementation taylanbayirli@xxxxxx (02 Oct 2015 09:39 UTC)
Re: New reference implementation Per Bothner (06 Oct 2015 21:13 UTC)
Re: New reference implementation taylanbayirli@xxxxxx (07 Oct 2015 09:17 UTC)

Re: New reference implementation taylanbayirli@xxxxxx 31 Aug 2015 21:22 UTC
xxxxxx@gmail.com (Taylan Ulrich "Bayırlı/Kammer") writes:

>> There is a srfi-64 meta-test.  I tried your implementation, and it had
>> 4 unexpected failures.  This could be  a bug in srfi-64-test.scm,
>> but I suggest you take a look at it.
>>
>> You could also try running the Kawa test suite ('make check') replacing
>> gnu/kawa/slib/testing.scm with your version,
>
> I'll look into it.

It found a bug indeed, leading to two test failures.  I was returning
early when a skip predicate matched/failed (on match-any/all), when they
should all be called for possible side-effects.  This would have been
avoided if the original code contained comments warning any possible
future refactorers. ;-)  (Those who refactor without keeping an eye on
the spec, I should add.)

I didn't get any other failures.  They were probably related to some
intermediate changes I was making to the code.

Other than that, I would be thankful if you could lend a hand on the
following exception I'm getting from the "formatst.scm" test, when I put
my SRFI-64 implementation to gnu/kawa/slib/testing.scm:

--- snip from 'make check' output ---
[PASS] srfi-109/($string$ X ($format$ ~w ($splice$ (list x y))) Y)
[PASS] srfi-109/(quote ($string$ X ($format$ ~w ($splice$ (list x y))) ($format$ ~w) Y))
[PASS] srfi-109/($string$ X ($format$ ~w ($splice$ (list x y))) ($format$ ~w) Y)
%%%% Test suite end: srfi-109
# of expected passes      64
../bin/kawa.sh "./formatst.scm"
Exception in thread "main" java.lang.ClassFormatError: Invalid method Code length 76496 in class file formatst
	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.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)
Makefile:590: recipe for target 'check-format' failed
make[1]: *** [check-format] Error 1
make[1]: Leaving directory '/home/taylan/tmp/kawa-2.0/testsuite'
Makefile:460: recipe for target 'check-recursive' failed
make: *** [check-recursive] Error 1
--- end snip ---

Google tells me the "Invalid method Code length" exception is about some
method-size limit of the JVM, but I don't know what in my implementation
might cause that; I certainly don't have any excessively huge lambdas.
Could it be due to the output of some macro?  How can I best debug this?

The exact file I have at gnu/kawa/slib/testing.scm is attached (needed
module boilerplate and some minor tweaks).

Thanks!
Taylan