RE: Repository of R7RS implementations and tests Ciprian Dorin Craciun (28 Mar 2018 14:48 UTC)
RE: Repository of R7RS implementations and tests craven@xxxxxx (28 Mar 2018 16:19 UTC)
Re: Repository of R7RS implementations and tests Ciprian Dorin Craciun (28 Mar 2018 16:46 UTC)
Re: Repository of R7RS implementations and tests craven@xxxxxx (28 Mar 2018 18:13 UTC)
Re: Repository of R7RS implementations and tests Ciprian Dorin Craciun (28 Mar 2018 19:42 UTC)
Re: Repository of R7RS implementations and tests craven@xxxxxx (28 Mar 2018 20:37 UTC)
Re: Repository of R7RS implementations and tests Ciprian Dorin Craciun (28 Mar 2018 20:46 UTC)
Re: Repository of R7RS implementations and tests John Cowan (28 Mar 2018 23:24 UTC)

Re: Repository of R7RS implementations and tests Ciprian Dorin Craciun 28 Mar 2018 16:45 UTC

On Wed, Mar 28, 2018 at 7:19 PM,  <xxxxxx@gmx.net> wrote:
> There is also https://ecraven.github.io/r7rs-coverage and probably more
> importantly, larceny includes a very extensive set of r7rs tests.

Yes, I know about that, and its the first link on my list.

However, it has two major problems (for the intended purpose):

(A)  (most importantly)  it mainly serves the purpose of benchmarking
a Scheme implementation, not to validate the various builtins
implementation;  (for example at one moment either `ack` or `browse`
crashed my interpreter;)

(B)  like I've mentioned previously in order to run it one needs an
almost "fully compliant" Scheme implementation, including a module
system, ports, and more "features" that perhaps a young Scheme
interpreter doesn't have yet;

For example I have adapted three of your benchmarks to run with an
earlier version of my interpreter:

  https://github.com/cipriancraciun/vonuvoli-scheme/blob/master/examples/benchmark--r7rs-array1.ss--disabled
  https://github.com/cipriancraciun/vonuvoli-scheme/blob/master/examples/benchmark--r7rs-ack.ss--disabled
  https://github.com/cipriancraciun/vonuvoli-scheme/blob/master/examples/benchmark--r7rs-browse.ss--disabled

Regarding Larceny, the second on my list, it fails the second
requirement (B), that of being able to run parts of those tests on
simpler interpreters.

Perhaps the "standard" compliance test cases repository, could contain
files split in categories like `functional-tests`, `benchmarks`,
`corner-cases`, etc., and then having the cases split in files based
on the "complexity" required from an interpreter to execute them.

Ciprian.