On 2010-03-30, at 01:42 , Faré wrote:
One site per system looks like it will quickly pollute the host namespace.
It depends on the use-case, as that determines the granularity one needs when re-mapping. While one could arrange the host mapping to each system independently, that would require machinery in addition to the standard logical pathname operators. I tend to work with a host for all libraries and one each for applications.
What about we instead use a single logical host with subdirectories?
#P"COMMON-LISP:SYSTEMS;CL-PPCRE;CL-PPCRE.ASD"
In my case, that works out to
#P"LIBRARY:de;weitz;cl-ppcre;cl-ppcre.asd"
which is easy to accomplish when all sources are in one tree.
The problem I have with this approach with logical pathnames at all is that I don't understand whether or not mixed case and other characters are allowed at all.
I do not recall that the pathname tests revealed any inconsistency among implementations which, in itself, would argue against their wider use.
They clearly aren't portably printable if they're allowed, but I suppose that's an OK limitation. In any case, if logical pathnames with names including mixed cases, dots, dashes and underscores are not allowed at all, or there's at least one supported implementation that will bork, I think it's a non-starter.
dashes are allowed. underscores and dots are not handled consistently as they are not valid word constituents.
the syntax restriction does mean that a project with non-conformant file names could not use such a feature were it to be added, but nothing in the suggestion implied that the argument would be required.
On the other hand, maybe it's time to have make an amendment to the CL standard that will make LOGICAL-PATHNAMEs usable at long last.