"Mikael Djurfeldt" <[EMAIL PROTECTED]> writes: > Isn't the original and only purpose of Guile's provide/require to be > part of support for slib? I think the idea was to tell slib (and > other code) what feature sets are already present in Guile. My guess > is that the original was simply a clone of the corresponding parts of > slib, so that they could simply replace the slib version.
That sounds believable to me. A quick grep shows that it's a bit messier. If provides/require and friends are only internal to guile, and not part of the inerface to the user, and are for a different purpose, it seems easy enough I should note that the 1.8.1 I'm using replaces ice-9/slib.scm: # scmconfig.h will be rebuilt first thing. This hack is here because # gen-scmconfig.c includes string.h (from /usr/include) which in turn # tries to include /usr/include/strings.h but instead the compiler picks # up ./strings.h which tries to include scmconfig.h which doesn't exist # yet. While not a clean fix, this seems to work around the problem. # # # for info on the slib part, see # http://lists.gnu.org/archive/html/guile-user/2006-11/msg00035.html post-patch: ${TOUCH} ${WRKSRC}/libguile/scmconfig.h echo "(define-module (ice-9 slib))" > ${WRKSRC}/ice-9/slib.scm echo "(load-from-path \"slib/guile.init\")" >> ${WRKSRC}/ice-9/slib.scm > With time, however, slib has developed independently of Guile. I > think what needs to be done is to come to an agreement with Aubrey > Jaffer of how the interface to slib should look like and how it should > be maintained. When I last looked at it, slib's Guile interface was > based on heavily outdated assumptions. Preferably, the Guile part of > slib should be minimal, giving larger freedom for development on both > sides. I agree. The above is pretty minimal, except that there's a definition of provide and require. Probably slib should have a procedure that's callable just after init to give it a list of names that the native implementation provides. I see no need for provide native guile to have provide/require. > When doing this, it is important that the result works well with > Guile's module system. Yes, but I think now all the slib symbols end up in (ice-9 slib), and get exported, and that's ok. I think that fixing the requires confusion and slib/module system interaction are orthogonal, and that we might as well do the requires stuff first. _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel