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,,,

Reply via email to