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

Reply via email to