John Cowan <[email protected]> writes: > Gauche <http://practical-scheme.net/gauche> has released its R7RS-small > implementation. This adds it to Chibi, Chicken (not yet complete), > Foment, and Sagittarius. > > [...] > > If anyone else has a working R7RS, let me know.
Guile has an r7rs branch that's pretty far but incomplete. > On the bad news front, the implementation of R7RS for Gambit has been > abandoned, at least for now. (More accurately, the implementer of the > R7RS package has abandoned Gambit.) That's bad news for me, because I was hoping to test my bytestructures library on Gambit-C, hoping it can optimize usages of immutable records. If anyone knows an R7RS implementation that optimizes the access of statically apparent immutable records, please let me know. Example: module A exports an immutable record my-foo that has its field foo-x containing the value x, and module B imports it and the foo-x accessor, and has the expression (foo-x my-foo) somewhere (where the 'foo-x' and 'my-foo' bindings aren't shadowed), then that expression should be optimized to the constant value x during static analysis. (This is possible with R6RS-like module systems where exported bindings are immutable as well as imported ones; or otherwise when the module exporting 'my-foo' has been analyzed prior to determine that it does not in fact mutate the 'my-foo' binding.) I'm a little disappointed that near to no Scheme compilers do such an optimization. It's crucial to the efficiency of my bytestructures proposal, which is procedural and highly dynamic in nature. Taylan _______________________________________________ Scheme-reports mailing list [email protected] http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports
