This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: naming modules



> > (chaos ...)
> >     Safety valve, like Usenet's `alt'.  Guile and the Guile modules
> >     group will never complain about anything anyone puts here.
> > 
> 
> That sounds good to me. Do you think these should still be registered
> or should we just not worry at all about collisions in (chaos ...)?

I think the idea is that we'd register them, but not try to exercise
any control over what people call things.  The purpose here is to
distinguish two roles of the registry: mananging conflicts, and
providing an organized namespace.  Chaos is for people who want
conflict resolution, but don't want to participate in the organized
namespace.

Stuff that we don't register at all can (and will) be named anything
the authors please.

> The reason I suggested `lib' is because `slib' and `scsh' are, in my
> opinion, fundamentally different sorts of name components than `posix'
> or `net' or `www'. I mean, if tsort did not come as part of slib, we'd
> probably expect it to be under (sort tsort), not (slib tsort), since
> the feature it provides falls in the general category of sorting, not
> slib. Slib just happens to be what it comes with.
> 
> This is why I suggested the (lib ...) and (app ...) categories in the
> first place - to segrate things that ought to be named by package name
> (for lack of better options) from things that are named by logicaal
> category.

Okay, I agree `slib' and `scsh' are different kinds of things from
`net' and `www'.  But `lib' doesn't reflect that distinction very
well, to me.  `extern', because we're borrowing hierarchy from an
external source?  `annex', because we're adding a bunch of
pre-existing stuff to guile?


> Another concern is, what do we do about things that would fall in more
> than one category with about equal claims? For instance, (net smtp)
> makes sense for a low-level SMTP module, but should low-level ftp and
> http be in (net ...) or (www ...)? Arguments could be made for
> both. Of course, www could be placed under net as a whole, but I am
> not sure that makes sense, for instance (www cgi) would have at best a
> tangential relationship to networking. This point is not raised so
> people will argue it out now, but more to suggest that we need to
> figure out a process or policy for dealing with similar issues when
> they come up.

Well, the process is this: authors submit a new module (or an idea for
a module) to modules@guile.org, and if the name isn't okay, we try to
extend the current hierarchy to accomodate it, or refine the published
rules to place it cleanly.  The people on modules should maintain and
publish the guidelines they're using, so people can guess right the
first time.

Sample rules (not sure about this):

If there's one outstanding use that something is put to, then
categorize it by that use.  If use isn't clear, then categorize by
function.

So (www http), (www html), (www cgi) --- all things primarily
	associated with the WWW.
This also suggests (mail smtp), (mail rfc822), (mail sendmail),
        (mail mime)

But (net ftp) --- FTP is used somewhat by the web, but also directly.