On 2009-09-09, at 17:54 , Robert Goldman wrote:
james anderson wrote:
[...]
- Logical pathnames are defined in ANSI CL to use case-flattened
pathnames. That means they are an extremely poor fit for modern case-sensitive file systems. Some number of existing ASDF systems would break because their directory structures contain case-sensitive pathnames. From the Hyperspec grammar for logical pathname namestrings (section 19.3.1):
"word---one or more uppercase letters, digits, and hyphens."
As long as SBCL hews to the letter of the ANSI spec for logical pathnames, I regard logical pathnames as useless in portable code. I now use them only in code that, for one reason or another, will only run in ACL. [Note that this is /not/ meant as a criticism of the SBCL policy.]
is it perhaps time to deal with this as a community, rather that each asserting that they know better?
Probably, but I don't think we should wait to get the function that A-B-L provides until we have fixed logical pathnames. At the expense of being flip, that's like saying "we'll wait until the Messiah comes." Especially given how many years the community has been saying "what comes after the ANSI standard?"
there are now at least two re-implementations of (at least some aspects of) logical pathnames: a-b-l and fare's. in each case, because of the belief, that the language offered no alternative. i suggest that it is not only flip, but short-sighted, to exaggerate any impediments so as to render the problem unassailable.
has anyone ever tried to specify a form of logical pathname which would suffice for their use cases. are the only real issues the case- folding and the word constituents? i ask, as i've found that, exactly by observing those limitations, recent runtime implementations are sufficiently consistent to portably define logical hosts for use with asdf.