Hi

packages and extensions are a pet-peeve of mine. :)

I feel strongly on the subject and I have followed the following conventions in my recent coding (conventions which hinge on a non-standard and unadvertised feature of many implementations: see below).

Most of my packages are now named as

"IT.UNIMIB.DISCO.MA.XXX.YYY.ZZZ"

Then they may have nicknames, which can be

"COMMON-LISP.EXTENSIONS.DATA-AND-CONTROL-FLOW.STUFF" and "CL.EXT.DACF.STUFF" and "STUFF".

The naming scheme I adopted for the "COMMON-LISP.EXTENSIONS.CH" packages is that CH is the name of one of the ANSI chapters.  Of course, one could imagine a "COMMON-LISP.EXTENSIONS.NETWORKING" package and a "COMMON-LISP.EXTENSIONS.MULTIPROCESSING" package for things which do not appear in the ANSI.

I feel this satisfies my inner need for order.

Two notes:

  1. The whole thing is predicated on an implementation raising an error (a PACKAGE-ERROR?) if two packages share nicknames; this is "mostly" the case.
  2. The naming scheme is lengthy and - as it was pointed out in the past - kind of "polluting".

I still do think it is worth exploring... Note also that I am not suggesting a file system mapping for packages.

Having said so, this may be worth a CDR by its own.  Yet, maybe this is not the right venue for such discussion.

Cheers
--
Marco



On Apr 26, 2011, at 14:39 , Nikodemus Siivola wrote:

On 26 April 2011 14:31, Didier Verna <didier@lrde.epita.fr> wrote:

 Yeah. This is something one needs to do in several occasions already
(for instance to get MOP functions from packages named differently
across implementations) and I don't think it's such a big deal.

Unless you use CLOSER-MOP. :)

I think a semi-standard package for extensions like this would be
good, but that's probably just my idealism speaking.

Cheers,

-- Nikodemus

_______________________________________________
cdr-discuss mailing list
cdr-discuss@common-lisp.net
http://common-lisp.net/cgi-bin/mailman/listinfo/cdr-discuss



--
Marco Antoniotti