guile-devel
[Top][All Lists]
Advanced

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

Re: Heads up: Releasing 1.8.2


From: Greg Troxel
Subject: Re: Heads up: Releasing 1.8.2
Date: Tue, 26 Jun 2007 08:19:20 -0400
User-agent: Gnus/5.110007 (No Gnus v0.7) Emacs/21.4 (berkeley-unix)

"Mikael Djurfeldt" <address@hidden> 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.




reply via email to

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