guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Text collation


From: Ludovic Courtès
Subject: Re: Text collation
Date: Mon, 23 Oct 2006 09:56:20 +0200
User-agent: Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux)

Hi,

Rob Browning <address@hidden> writes:

> address@hidden (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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]