[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Scheme-reports] Gauche joins the ranks of the R7RS implementations

Shiro Kawai <shiro.kawai@x> writes:

> It's on my agenda, but still several steps away; currently I'm working
> on inlining record accessors.
> Theoretically, once I've done it, and combined with constant
> propagation, reference to a slot
> of constant immutable record should be calculated at compile time.

Looking forward to this! :)

Are imported bindings (truly) immutable in Gauche?  That is, the binding
is also immutable for the exporting module (a la R6RS), and the
exporting module cannot be reloaded at runtime without also recompiling
and reloading the module that imports bindings from it?  (Sort of
"static linking" of modules.)  Because otherwise the compiler cannot
know for sure what record object will be accessed at run-time by the
importing module, and cannot do the optimization after all.  (Or if it
does anyway, then reloading the exporting module has no effect because
the module that imported it was compiled against and still uses the old
version's exported object...)

Am I being clear?

I mean to write an article some time on the different "linking"
strategies for modules especially with regard to Scheme.  Or maybe there
is such a thing out there already?


Scheme-reports mailing list