guile-user
[Top][All Lists]
Advanced

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

Re: SRFI-13 again [was: Re: string vs list processing]


From: Martin Grabmueller
Subject: Re: SRFI-13 again [was: Re: string vs list processing]
Date: Mon, 23 Apr 2001 17:22:05 +0200 (MET DST)

> From: Marius Vollmer <address@hidden>
> Date: 20 Apr 2001 18:05:01 +0200
> 
> Martin Grabmueller <address@hidden> writes:

[...]

> > Then no changes to the core would be necessary and the modules
> > could get loaded with (use-modules (srfi srfi-13)).
> 
> This is a good plan.  Please proceed at your leisure!

Okay.

> > Which leads me to another problem: I think I'll have to change the
> > name of the modules, now that SRFI-14 is in.  The problem is that
> > SRFI-13 and SRFI-14 are not independent, as the string library
> > uses character sets.  Is there a possibility to make this
> > dependency work with compiled modules?

[...]

> Consequently, the actions of "foo_init" are executed twice, in the
> context of two different modules.  This might work, or it might not.
> For example, when you register a smob twice, you will lose.
> 
> So, initializing a shared library twice should be avoided.

I think I'll just merge my two shared libraries into one (called
libguile-srfi-srfi-13-14.so or something) , and let it get loaded by
both the (srfi srfi-13) and (srfi srfi-14) Scheme modules.  Each of
the Scheme modules will then export either the SRFI-13 or SRFI-14
procedures, and the string procedures will be able to use the (C)
character set datatype.  Of course the C module will make sure that
the init procedure is only executed once.

Only one thing which is not clear to me: Is it difficult to include a
subdirectory into the guile-core module, as far as autoconf/make is
concerned?  I will try to see how guile-readline is built, but maybe
somebody has already found some of the pitfalls, and succeeded to
navigate around them.

Regards,
  'martin



reply via email to

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