On Sep 12, 2009, at 7:03 PM, Abdulaziz Ghuloum wrote:
It doesn't look too hard to get inter-library optimizations working, but I want to give it a little more thought.
It seems like the hardest part is getting constants to be shared properly, or, preserving eq?-ness for values across libraries. For example, if you have (library (foo) (export f) (import (rnrs)) (define (f) '(1 2 3))) (library (bar) (export g) (import (rnrs) (f)) (define (g) (f)) then, from the repl, (eq? (f) (g)) should be #t, but naive inlining of f in g plus separate compilations destroy this property. [not that it's required by the standard, I don't think, but it's a nice property to maintain] Aziz,,,
