guile-user
[Top][All Lists]
Advanced

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

Re: Another load path idea


From: Ludovic Courtès
Subject: Re: Another load path idea
Date: Thu, 12 Jan 2006 10:38:42 +0100
User-agent: Gnus/5.110004 (No Gnus v0.4) Emacs/21.4 (gnu/linux)

Hi,

Neil Jerram <address@hidden> writes:

> The basic idea behind all of the previous proposals was to create some
> kind of config when a package was installed, such that other Guile
> code would be able to find that package automatically.  But what if we
> do things the other way round?  When a package that has dependencies
> on other Guile modules is installed, we do some work at install time
> to locate the dependencies that the package needs, and save the
> results in a config file under the name of the _using_ package.  Then
> when that package is run, it sets up the environment that it needs by
> reading the saved config file.
>
> I have no idea how to do this yet, but is it a good idea in principle?

Yes, but I think that's (almost) a different issue.  I think it solves
the issue of finding the right dependency, not that of finding the right
module.  IOW, it's similar to Libtool's `.la' files (which include
information about a library's dependencies), not to /etc/ld.so.conf .

Speaking of that, the analogy of `ld.so.conf' would be something along
the lines of what you originally proposed[0]: storing the initial value
of `%load-path' somewhere in a file (or bunch of file -- the `init.d'
approach[1]), instead of having it hard-wired.

The `init.d' approach was ruled out because of the increased startup
time[2].  However, the single file approach had been considered
unpractical because it is harder to add/remove directories from there,
and to keep track of which packages exactly relied on it[1].

So, what if we just went ahead with the `init.d' approach, except that
each file would only contain a single Scheme string?  This constraint is
critical to address the startup time concern.

Or what about a single init file (again without any code, only data),
somewhat enhanced to keep track of which package rely on a each
particular load path:

  ((guile-gnome . "/opt/guile-gnome/")
   (guile-chbouib . "/usr/local/share/guile-chbouib")
   ... )

I'm sorry for getting back to this kind of proposal, but I think I'm
getting confused.  Since the discussion spanned over several months,
summarizing the key arguments seems important at this point.

Thanks,
Ludovic.

[0] http://lists.gnu.org/archive/html/guile-user/2005-10/msg00036.html
[1] http://lists.gnu.org/archive/html/guile-user/2005-10/msg00109.html
[2] http://lists.gnu.org/archive/html/guile-user/2005-12/msg00000.html




reply via email to

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