Email list hosting service & mailing list manager


library representation (was Re: fundamental design issues) Ray Blaak 04 Dec 2005 23:26 UTC

> When you compile libraryX you generate a compilation result
> (bytecode, assembler, or maybe just a distillation of the
> source).

Radical idea: don't store compilation results in the library. Only store
sources. That is, the collection of sources *is* the library. Using a
library is then "just" the compilation on the fly of what is needed.

Then the whole "out of date" issue just goes away. The whole external
macro representation issue goes away too.

Question: can this done efficiently enough to make the libraries useable
in practice?

The Gnu Ada system has essentially this approach, and it works well
enough, but Ada does have the advantage (for library implementors at
least) that there is a separation of "interfaces" from "implementation"
files so compiling interfaces on the fly is radically cheaper then
compiling entire implementations on the fly.

--
Cheers,
Ray Blaak
xxxxxx@ensemble.com