[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Please drop the ^main^ thing
From: Derick Eddington <derick.eddington@xxxxxxxxx>
Subject: Re: Please drop the ^main^ thing
Date: Fri, 25 Sep 2009 14:02:40 -0700
> > Just as a data point, I don't have desire to organize a library
> > under a single directory. I don't mind the library tarball
> > expands into acme/foo.sls, acme/foo/helper1.sls, acme/foo/helper2.sls...
>
> How do you feel about "littering" the top of a search path directory
> with acme.sls, etc., for single-symbol-named libraries? (I'm asking
> just to know your opinion.) (I think there will be enough
> single-symbol-named libraries that it will happen without support for an
> implicit file name.)
I don't mind unless there are several thousand files in
a same directory. Do you think we'll reach there? If we put
per-implementation precompiled files (e.g. fasl or dso) in
the same location of *.sls, maybe. But such
implementation-specific files doesn't need to follow srfi-103,
and probably should be encouraged to put files under subdirectory.
I just looked into /usr/share/emacs/*/lisp. Mine had less than
300 (but I only installed *.elc). Heavy emacs customizers
may have a lot more. It still seems manageable. Interestingly,
xemacs uses one-directory-per-package policy. But if I remember
correctly it adds every such directory to the search path (I no
longer use xemacs so I'm not sure).
> While I do like automated management for library collections, and I look
> forward to having more automated management, I also think it's important
> to support collections which can simply be manually dropped into a
> search path and be immediately ready and which can be effectively
> manually managed, and that it's important to not marginalize this by
> saying everyone should use automated management. (I know you weren't
> saying that and were just giving your personal opinion, which I
> appreciate.)
I'm not sure how much you mean by "automated management".
Is untar + make install considered that automated?
However, if many people like "just-untar-in-search-path",
then I support everything-under-subdirectory in a different
reason. Many libraries need accompanied files such as
README and COPYING. If we eventually agree a common
format of meta information (e.g. XEmacs' _pkg.el), such
file may also needed. If the library consists of a single
source file, acme/foo.sls, then it's ambiguous how the
library author include those auxiliary files. So it'll
be reasonable that (acme foo) library always create
acme/foo/ subdirectory and put everything under that.
I still think the name ^main^ stands out too much, though.
I think it acceptable to reserve a special name for this main file
and to have a special conflict resolution rule for it
(e.g. foo/main.sls for main file, and (foo main) maps to foo/main/main.sls)
After all, R6RS library syntax itself has an extra rule
for libraries whose first component is one of a specific set of
words. We don't need to pretend "no reserved words" in this srfi.
--shiro