> > I'm not convinced we need separate loading and importing either, as long > as it doesn't interfere with separate compilation. Right now everyone > always ends up doing (use ...) anyway. Perhaps Felix can show us an > example where only an import (no loading of code) is useful, or otherwise > how I'm missing the point?
Static linking? Having several modules (library units) in a single library (as in libchicken itself)? We had these discussions many times and there is nothing that can be done about it, with the exception of hiding it somehow behind modules, or whatever. > >> That got me thinking: maybe we could implement module versioning? Not >> just put everything into lib/chicken/<API_VERSION> but proper >> module.so.1.2.3 like other shared libraries? And somehow add this to >> imported namespace (##module#1.2.3#procedure or so). In theory this >> should allow to move stuff around, but can open a whole can of worms, >> but still, what do you think? > > I have no thoughts on this right now. It could be a good idea, but > I'm unable to foresee the consequences. No thoughts here, too. But in my experience library versioning turns out to be even more of a mess than without. You always end up in a situation where two versions of the same module are required in the same program, increasing code size and the chance of collisions, in case both modules access limited resources. It's better fix the conflict right away and avoid the duplication. But my experience is limited, and perhaps Oleg means something entirely different. felix _______________________________________________ Chicken-hackers mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/chicken-hackers
