larcenists / larceny

Larceny Scheme implementation
Other
204 stars 33 forks source link

R5RS tests #11

Closed larceny-trac-import closed 9 years ago

larceny-trac-import commented 11 years ago

Reported by: tov on Mon Feb 13 18:40:41 2006 We're still using Jaffer's R4RS tests. Is there an R5RS test suite we could adapt and use?

larceny-trac-import commented 11 years ago

Author: pnkfelix We should at least make sure that we pass these:

http://sisc.sourceforge.net/r5rs_pitfall.php

larceny-trac-import commented 11 years ago

Author: will With respect to http://sisc.sourceforge.net/r5rs_pitfall.php, we've got three bugs.

The first two have to do with our implementation of letrec, which are equivalent (in the R5RS) to internal definitions. Fixing those bugs should wait until we decide what to do about the new R6RS semantics for internal definitions, which depends in part upon community acceptance of the R6RS.

The third bug is a straightforward bug in our macro expander. We should definitely fix it, but it can wait for v0.98.

The general idea of collecting more tests is a good one, but that's a never-ending task. I suggest we close this ticket after we fix (or decide not to fix) the three specific bugs.

larceny-trac-import commented 11 years ago

Author: will Bug 3.2 from http://sisc.sourceforge.net/r5rs_pitfall.php was fixed by changeset:6628.

Bugs 1.1 and 1.3 remain. Both of those bugs involve use of call/cc to capture the continuation for the right hand side of a letrec binding and to perform the binding more than once. The R6RS says that continuation should not be invoked more than once, and Will thinks the R7RS is likely to say that also, so Will is reclassifying this as a minor enhancement and is putting it off until we see what happens with the R7RS.

WillClinger commented 9 years ago

R7RS section 4.2.2 says:

Another restriction is that it is an error to invoke the continuation of an ⟨init⟩ more than once.

We are moving on from R5RS (except as a base platform for R7RS), so we can close this.