2009/9/27 Robert Goldman rpgoldman@sift.info:
Tobias C. Rittweiler wrote:
"Pascal J. Bourguignon" writes:
Since it is an environment variable designed to set the ASDF central registry paths, why not call it ASDF_CENTRAL_REGISTRY_PATH ? Or ASDF_SYSTEMS_PATH ? Cannot ASDF be used to compile C programs?
It has been suggested that such an environment variable should be shared among system definition facilities (du jour, that's asdf and xcvb) and should hence be named generally.
How about LISP_SYSTEMS_PATH then? COMMON_LISP_PATH seems to me to suggest a path to the lisp environment....
XCVB doesn't have systems, it has builds - though I suppose they could be renamed under community pressure. Nevertheless, Python has PYTHONPATH, it doesn't confuse anyone, and non-pythonistas don't have to know if Python has systems, builds, modules, libraries, widgets or foobars.
PATH as the postfix for colon-separated (under Unix, semi-colon under DOS/Windows) list of directories where to look for stuff is a well-established tradition. PATH, LD_LIBRARY_PATH, MANPATH, PYTHONPATH, CDPATH FPATH MAILPATH MODULE_PATH (for zsh), etc.
I think the questions are whether to 1- (syntax) make it always colon-separated, or have it semi-colon separated in non-cygwin Windows. 2- (semantics) whether and how to specify recursion for search in the PATH.
The important point to discuss is 2 - especially if the path is to be shared between ASDF and XCVB, since (a) ASDF doesn't currently recurse on entries of its *central-registry*, whereas (b) XCVB does recurse on entries of its *xcvb-path*, and eagerly searches for entries, avoiding VCS caches (old svn and darcs) and detecting and discarding any conflicts (and this recursing is essential to the design of XCVB).
You can see how XCVB does it there: http://common-lisp.net/gitweb?p=projects/xcvb/xcvb.git;a=blob;f=search-path....
Of course, (i) ASDF has a requirement of backwards compatibility, and (ii) recursing in a way both efficient and portable might be tricky, (iii) ASDF can't afford to pull external libraries for recursing, (iv) in practice, recursing one level of directories might be enough for ASDF (or not). And so the choice is not as easy as might seem.
As for other suggestions, James Anderson was probably right to request that bad paths included in the PATH should be discarded from the registry, though (IGNORE-ERRORS (TRUENAME x)) rather than (PROBE-FILE x) since a directory is not a file and CL will PROBE-FILE will bork.
[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] Big Business has to *sell* the Vietnam War to you. Big Government can just draft your ass and ship you overseas under threat of imprisonment and/or death. Now, which one is better again? -- rho@netdoor.com