Beman Dawes <[EMAIL PROTECTED]> writes: > At 09:32 AM 8/12/2003, David Abrahams wrote: > > >... > >> 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. > >... > > The generic path syntax was chosen to be a subset of the "Uniform > Resource Identifiers (URI) : Generic Syntax", RFC-2396. Because that > syntax is used in Internet URL's, it has become familiar to millions > of people even if they never used POSIX or Windows.
Interesting choice. > I'm not necessarily adverse to a different syntax. Several times > during development something better was almost within reach, but I > never could quite carry it off. > > If you would like to write up a grammar and rules as a more formal > proposal, we can all take a look and judge how it would perform in the > cases we think are important. I don't think I believe in a path object which always has to be representable portably (or even semi-portably as we have now), so I don't think I'm going to do that. I think I'd like to see native path manipulators with pluggable portability checking and bidirectional portable path format conversion. In a system like that, the existing format may be just fine. However, I would refuse to convert /foo to a portable format on windows, throwing an exception instead. > >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. > > You have conflict with existing practice for one group or another. If > all paths which begin with '/' are complete, that conflicts with the > experience of Windows programmers. If they aren't, that conflicts with > the experience of POSIX programmers. The entanglement with "portable representation" is confusing this discussion I think. Paths don't "begin with '/'". They "have (or do not have) a portable representation which begins with '/'". They also have (or do not have) a native representation which begins with '/'. These are not neccessarily the same thing. People should look to the native representation to meet their platform-specific expectations. > > 2. The rules for understanding generic path syntax are greatly > > simplified and can be understood without platform-specific > > knowledge. > > I'm probably misunderstanding your proposal because it sounds like you > are introducing special rules for the first non-'/' element. A formal > proposal would clarify that. No, I only reluctantly made a suggestion for representing truly non-portable paths, but it is not part of my proposal. Either a path is portable or not and we shouldn't pretend non-portable paths have a portable representation. -- Dave Abrahams Boost Consulting www.boost-consulting.com _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost