Re: Community service

2012-04-22 Thread Ian Price

Hi andreas,

> I'm sure it's still far from perfect, so please don't rely on it for any
> projects that are critical to you. But it might be useful and convenient
> to some who were already looking for something like it, and are
> familiar with the concepts.
>
> Amongst the things it has to offer are:
> *cgi guile
> *editing/uploading over webdavs
> *mysql
> *the guile-web module
>
> For any questions or comments feel free to mail me directly, or if they
> are of general interest, onlist. But please note it's not a commercial
> project, so please adjust expectations accordingly. It's just something
> I found practical and extended it a little so it might be practical for
> others too.

I'm not entirely sure what I'm going to do with this (yet :), but I
think it's awfully nice of you to provide this for the guile community.

Cheers

-- 
Ian Price

"Programming is like pinball. The reward for doing it well is
the opportunity to do it again" - from "The Wizardy Compiled"



Re: SRFI-64 implementation for Guile 2.0

2012-04-22 Thread Sunjoong Lee
Hi, Ludo’;

A srfi-64-test.scm file is a test suite for the SRFI 64 and you can get it
from http://srfi.schemers.org/srfi-64/srfi-64-test.scm .

51 expected passes and 2 expected failures are normal:
  $ guile -L /home/sunjoong/guile/site --use-srfi=64 srfi-64-test.scm
 Starting test SRFI 64 - Meta-Test Suite  (Writing full log to "SRFI 64
- Meta-Test Suite.log")
  # of expected passes  51
  # of expected failures2

In above example, /home/sunjoong/guile/site directory is where srfi
directory be in residence and srfi directory contains SRFI
64 implementation.
If it display unexpected(!!) failure, something's wrong.

2012/4/22 Ludovic Courtès 

> Hello,
>
> Sunjoong Lee  skribis:
>
> > Your implementation fails srfi-64-test.scm, a test suite for the SRFI 64.
>
> Oh, which ones?  This is essentially the reference implementation, so it
> shouldn’t fail.  But perhaps my copy of srfi-64.scm is older than
> srfi-64-test.scm?
>
>
The reference implementation has a bug at test-error macro and it cause
syntax error like this:
  $ guile -L /home/sunjoong/guile/site --use-srfi=64 srfi-64-test.scm
  ;;; ERROR: Syntax error:
  ;;; /home/sunjoong/guile/test/srfi-64-test.scm:186:4: source expression
failed to match any pattern in form (%test-error #t (vector-ref (quote #(1
2)) 9))
   Starting test SRFI 64 - Meta-Test Suite  (Writing full log to "SRFI
64 - Meta-Test Suite.log")

I've noticed that and sent a patch to Per.
Even after fixing this bug, there are some problems;

First, test-error use %test-error but %test-error sets result-kind to skip.
So, the reference implementation fails the test suite for the SRFI 64
whenever not on kawa or mzscheme.
Though it fails srfi-64-test.scm, you may use test-error macro after fixing
above a bug but...

Second, test-apply uses test-with-runner but test-with-runner defined
after test-apply.
Third, test-group is not exported.

At last, you're using make-stack, a Guile's debugging facility.
I think it makes a problem more complex;

  $ guile -L /home/sunjoong/guile/site --use-srfi=64 srfi-64-test.scm
   Starting test SRFI 64 - Meta-Test Suite  (Writing full log to "SRFI
64 - Meta-Test Suite.log")
  In ice-9/boot-9.scm:
   149: 18 [catch #t # ...]
   157: 17 [#]
  In unknown file:
 ?: 16 [catch-closure]
  In ice-9/boot-9.scm:
63: 15 [call-with-prompt prompt0 ...]
  In ice-9/eval.scm:
   407: 14 [eval # #]
  In ice-9/boot-9.scm:
  2111: 13 [save-module-excursion #]
  3653: 12 [#]
  In unknown file:
 ?: 11 [load-compiled/vm
"/home/sunjoong/.cache/guile/ccache/2.0-LE-4-2.0/home/sunjoong/guile/test/srfi-64-test.scm.go"]
  In /home/sunjoong/guile/test/srfi-64-test.scm:
   147: 10 [#]
  In ice-9/boot-9.scm:
   149: 9 [catch #t ...]
   157: 8 [#]
  In /home/sunjoong/guile/test/srfi-64-test.scm:
90: 7 [triv-runner #]
   150: 6 [#]
  In ice-9/boot-9.scm:
   149: 5 [catch #t ...]
   157: 4 [#]
  In /home/sunjoong/guile/test/srfi-64-test.scm:
   145: 3 [choke]
  In ice-9/boot-9.scm:
   102: 2 [#
out-of-range ...]
  In /home/sunjoong/guile/test/srfi-64-test.scm:
   150: 1 [#
out-of-range ...]
  In unknown file:
 ?: 0 [make-stack #t]
  FAIL 2.1.1. Baseline test; PASS with no optional args
  FAIL 2.1.2. Baseline test; FAIL with no optional args
  FAIL 2.1.3. PASS with a test name and error type
  In ice-9/boot-9.scm:
   149: 18 [catch #t # ...]
   157: 17 [#]
  In unknown file:
 ?: 16 [catch-closure]
  In ice-9/boot-9.scm:
63: 15 [call-with-prompt prompt0 ...]
  In ice-9/eval.scm:
   407: 14 [eval # #]
  In ice-9/boot-9.scm:
  2111: 13 [save-module-excursion #]
  3653: 12 [#]
  In unknown file:
 ?: 11 [load-compiled/vm
"/home/sunjoong/.cache/guile/ccache/2.0-LE-4-2.0/home/sunjoong/guile/test/srfi-64-test.scm.go"]
  In /home/sunjoong/guile/test/srfi-64-test.scm:
   607: 10 [#]
  In ice-9/boot-9.scm:
   149: 9 [catch #t ...]
   157: 8 [#]
  In /home/sunjoong/guile/test/srfi-64-test.scm:
90: 7 [triv-runner #]
   613: 6 [#]
  In ice-9/boot-9.scm:
   149: 5 [catch #t ...]
   157: 4 [#]
  In /home/sunjoong/guile/test/srfi-64-test.scm:
   145: 3 [choke]
  In ice-9/boot-9.scm:
   102: 2 [#
out-of-range ...]
  In /home/sunjoong/guile/test/srfi-64-test.scm:
   613: 1 [#
out-of-range ...]
  In unknown file:
 ?: 0 [make-stack #t]
  # of expected passes  50
  # of expected failures2
  # of unexpected failures  3

In above example, 3 unexpected failures are because of %test-error, I think.
But there are so many backtraces(?).