-
Notifications
You must be signed in to change notification settings - Fork 32
CurrentStatus
The former contents of this page have been transferred to the User Manual.
Matthew Flatt (an implementor of Racket) has produced an excellent R6RS test program, which identified about 20 previously unknown bugs in v0.962. As of v0.97b1 (25 August 2008), Larceny passed about 99.98% of that program's tests (all but two). By that flawed but fairly objective measure, Larceny v0.97b1 was the second most R6RS-conformant system available (after Ypsilon) during the last third of 2008, even though full R6RS-conformance is not one of our goals.
Larceny v0.98 passes all but one of those tests (99.99%). Under some circumstances, Larceny's compiler will perform optimizations that allow a letrec*
to execute without error even though an unoptimized version of the code would violate the letrec*
restriction; that's why Larceny fails the one test.
(On Windows, Larceny fails several more tests because the no-truncate
option is not yet implemented for Windows.)
We intended to contribute some test programs of our own, including tests for
- Unicode case conversions, folding and normalization
- conversions between numbers and strings
get-datum
That would still be worthwhile, but we now focus on R7RS and SRFI testing.
With Matthew Flatt's permission, we used Racket's R6RS test suite as a starting point for our R7RS test suite. Larceny v0.98 passed all but one of those tests (the new ellipsis feature of syntax-rules
), but had several other conformance bugs that weren't tested.
Larceny v0.99 passes all tests of the slightly strengthened R7RS test suite, but still doesn't allow cond-expand
in arbitrary expression contexts.