Hi, Rob Browning <[EMAIL PROTECTED]> writes:
> [EMAIL PROTECTED] (Ludovic Courtès) writes: > >> While I agree that this practically precludes use of those functions >> by C programmers (as is the case for those SRFIs that are >> implemented in C) > > Actually, if I understand you correctly, this isn't the case. The > SRFIs (which provide C interfaces) are definitely intended for use by > C programmers. The programmers just have to make sure to include the > correct -lguile-srfi-* for the SRFI in question. I don't think this is actually the case: there are currently 4 shared libraries in the `srfi' directory, but none of them is documented in the manual and the C functions they export are not mentioned either (that's what I meant by "practically preclude": it's technically possible to use them but it's not documented). I would expect it to be done on purpose: For instance, the contents of `libguile-srfi-srfi-1' changed noticeably as some functions were rewritten in C and this is not something we want users to be aware of. > Then the startup process should be relatively unaffected, and > ice-9/i18n.scm would just do something like this: > > (define-module (ice-9 i18n) ...) > (scm-init-i18n) Yes, I'm open to that if we consider it a better option than having another shared lib. The issue, IMO, is that this is not very "scalable" either: we still end up adding one function call in `scm_i_init_guile ()' that systematically gets in the way. > This would avoid the need to make it possible to use dynamic-link for > items that are already in libguile. Of course, whether or not the > approach is a good idea is a different question. Right. What I had in mind was to have, say, `(dynamic-link)' (with no arguments) translate to `lt_dlopen (NULL)', so that we could access symbols contained within the executable. Now, I'm not sure this would work in all cases, for instance when the executable is not `guile' itself. Thanks, Ludovic. _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel