On Fri, 2009-01-02 at 17:08 +0100, pugs-comm...@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),
> +  );

I find this a little difficult to skim, because parallel things are not
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


Reply via email to