On Fri, 2009-01-02 at 17:08 +0100, pugs-commits@feather.perl6.nl wrote:
+=head2 Synopsis
+
+ multi sub perl6(
+ Bool :a($autosplit),
+ Bool :c($check-syntax),
+ Bool :$doc,
+ :e($execute),
+ :$execute-lax, #TODO fix illegal -e6 syntax. -6? not legal. -x? hrmm
+ Bool :F($autoloop-split),
+ Bool :h($help),
+ :I(@include),
+ #TODO -M,
+ Bool :n($autoloop-no-print),
+ :O($output-format) = 'exe',
+ :o($output-file) = $*OUT,
+ Bool :p($autoloop-print),
+ :S(@search-path),
+ Bool :T($taint),
+ Bool :v($version),
+ Bool :V($verbose-config),
+ );
+=head2 Synopsis
+
+ multi sub perl6(
+ Bool :a($autosplit),
+ Bool :c($check-syntax),
+ Bool :$doc,
+ :e($execute),
+ :$execute-lax, #TODO fix illegal -e6 syntax. -6? not legal. -x? hrmm
+ Bool :F($autoloop-split),
+ Bool :h($help),
+ :I(@include),
+ #TODO -M,
+ Bool :n($autoloop-no-print),
+ :O($output-format) = 'exe',
+ :o($output-file) = $*OUT,
+ Bool :p($autoloop-print),
+ :S(@search-path),
+ Bool :T($taint),
+ Bool :v($version),
+ Bool :V($verbose-config),
+ );
aligned. Aligning on ':' should make things much easier on the eyes:
multi sub perl6(
Bool :a($autosplit),
Bool :c($check-syntax),
Bool :$doc,
:e($execute),
:$execute-lax,
Bool :F($autoloop-split),
Bool :h($help),
:I(@include),
#TODO -M,
Bool :n($autoloop-no-print),
:O($output-format) = 'exe',
:o($output-file) = $*OUT,
Bool :p($autoloop-print),
:S(@search-path),
Bool :T($taint),
Bool :v($version),
Bool :V($verbose-config),
);
Ah, that's a bit better. Looking at the above, is $execute-lax supposed
to be a boolean, or is it really a generic scalar? It's also not
obvious what a boolean named $doc does -- which probably means either
that it's not supposed to be a boolean, or it needs a somewhat more
descriptive long name (or both).
Also, in Perl 5 taint is tri-valued, because it has a warnings-only
mode. How will that be supported by Perl 6?
Finally, how do the defaults of $output-file and $output-format interact
so that the default behavior remains compile-and-execute? Changing the
default to compile-to-exe seems unperlish to me ....
-'f