develooper Front page | perl.perl6.language | Postings from May 2010

Re: Command-line args (weekly contribution to P6)

Thread Next
From:
Moritz Lenz
Date:
May 26, 2010 00:53
Subject:
Re: Command-line args (weekly contribution to P6)
Message ID:
4BFCD361.9020904@faui2k3.org
Hi David,

thanks for your contribution. I'll review it thoroughly in the next few 
days.

Am 24.05.2010 21:14, schrieb David Green:

> Also the line that sets the "but False" variations is commented out for now,
> because "but" isn't working.

That's a reason why the challenge included only the simple cases in the 
first case :-)

>  The tests might need fixing too, since I'm not sure whether eqv (as used by is_deeply) would cover that, or whether it would take a separate test in bool context.

probably the latter.

> Instead of a %boolean-names hash, I used an array to hold those parameter names, as well as @arrays to hold the array-parameters.  Or it would be pretty easy to change to a hash that maps the parameter names onto their types, or something like that.

After playing with the first submission, the hash of types is what I 
found most useful.

See 
http://github.com/moritz/process-cmd-args/blob/master/process-cmd-args.p6#L256 
for some code that actually generates it by introspecting the signature 
of sub MAIN.

> I also added a %shorts param that maps short arg-names onto their full names.

The spec doesn't elaborate on how the short args are specified in the 
signature of MAIN. I see two possible approaches (that don't contradict):

1) one renames them in the signature, so it would like

sub MAIN(:name(:$n))

then $n has two names, 'name' and 'n', and we could consider all 
one-letter parameter names as short names

2) Iterate over all named parameters and build unambiguous prefixes. If 
any of them is just one letter short, we consider it a short name.


Anz opinions from p6l about it?

> I have a few questions about the spec that are worth clarifying on p6l,
> but despite some slow going, I'm pleased to find that some aspects of
> P6 have already settled nicely in my brain.

Great to hear that.
Is there anything (except better error reporting) that Rakudo could do 
to further ease the learning?

We're always looking for feedback from new hackers.

Cheers,
Moritz

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About