David Abrahams <[EMAIL PROTECTED]> writes: >> Once syntactic markers and/or rules are introduced, whether to >> eliminate ambiguities or to improve readability and writablity, the >> question is then what are the advantages of a new and unfamiliar set >> of markers and/or rules? > > You're already making paths unfamiliar by "genericizing" them. It > would be unfair to VMS and whatever other OSes will be supported to > say otherwise just because you are only changing slash direction on > windows paths. > > The advantages are: > > 1. You can use familiar terminology - there should be no need to > throw out the term "absolute" just to meet the expectations of > Unix programmers who expect all paths beginning with '/' to be > absolute. > > 2. The rules for understanding generic path syntax are greatly > simplified and can be understood without platform-specific > knowledge. > > 3. Portable/generic paths can actually be portable/generic, as > advertised. You won't have the problem we have now: no > complete path that works on a Windows machine can also work on > a Unix machine (disregarding paths to remote machines, of > course).
Not to keep harping on this, but I just realized I forgot to mention another naming problem with "complete": many shells support a familiar notion of "path completion" which is what I expected of the complete() function in operations.hpp when I first saw it. I think having an up-front definition of "complete" is helpful, but it doesn't eliminate the cognitive dissonance. The docs should cross-link all special uses of the term "complete" to the definition, since it is such a common word that many people won't guess it has a well-defined technical meaning. That would help too. BTW, I also have trouble with the phrase "uniquely identify a file or directory". Does that mean there is only one complete path that identifies a file? If so, what about links? If not, what does "uniquely" mean? -- Dave Abrahams Boost Consulting www.boost-consulting.com _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost