On 2009-Aug-18, at 1:24 am, pugs-comm...@feather.perl6.nl wrote:
+=head3 Default constraints
+
+The default p{} only allows "/" as separator and does not allow
path elements to contain
+characters that won't work on modern Windows and Unix like \ / ? %
* : | " > <,
+etc. The reason for this is that portable paths are the default. If
+platform/filesystem specific behavior is really needed it should be
shown in
+the code by applying different sets of constraints (see below).
I dunno, doesn't "portability" in the 21st century mean compatibility
with the web rather than with DOS??
I'd be inclined to default to whatever works with the user's own OS/
FS. Of course, if you don't like any default setting in P6, all you
need to do is slap "use something-else" into your ~/Policy.pm file, so
it's not a big deal. Nevertheless, there's more to respecting other
systems than simply doing without punctuation. For example, a
suitable pathname on Unix might be:
~/.foorc
Whereas on a Mac, it might be more polite to use:
~/Library/Application Support/Foo/Startup Settings
which is certainly beyond the scope of p{}-quoting.
-David