Re: [Scheme-reports] Gauche joins the ranks of the R7RS implementations
Taylan Ulrich Bayirli/Kammer 27 Aug 2014 08:12 UTC
John Cowan <cowan@mercury.ccil.org> 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
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports