On Tue, Oct 23, 2012 at 8:01 PM, Mark H Weaver <m...@netris.org> wrote: > Anyway, here's another idea: after requiring a new slib package, iterate > over the entire list of top-level bindings in the slib module and export > everything. > > What do you think?
I think it sounds like the best idea so far. I'll try to go with this. > One more thing: ideally, any logic that peeks into Guile internals or is > likely to change between Guile versions should be in slib.scm, and > anything that's likely to change between slib versions should be in > guile.init. > > Does that make sense? Three problems come to my mind: 1. guile.init is really mostly a kind of interface, meaning that changes in both Guile and slib can affect the same pieces of code. 2. guile.init is supposed to work with a series of Guile versions. If I now try to do a larger reorganization, I will likely break compatibility with some older Guile versions, especially if I start moving things back to ice-9/slib.scm. 3. I don't really have time currently to do a full reorganization. Otherwise I concur with what you say. Problem 2 could be solved by asking Aubrey Jaffer (or who is currently maintaining slib) to include a new version of the file, guile2.init, in addition to guile.init... I'll think about your suggestions and try to come up with new patches. Best regards, Mikael D.