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, <email@example.com> 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.