Ok, this is basically a bunch of "me too!"s.
On Tue, 15 May 2001, Nathan Wiger wrote:
> Awesome. Simple, Perlish, easy to read, etc. Also, I see you took the
> suggestion of:
>
> Access through... Perl 5 Perl 6
> ================= ====== ======
> Array slice @foo[@ns] @foo[@ns]
> Hash slice @foo{@ks} %foo{@ks}
>
> Which is kewl since it makes a good amount of sense IMO.
Here's the first one.
> $*ARGS is chomped;
> I wonder if that wouldn't be better phrased as:
> autochomp $*ARGS; # $ARGS.autochomp
>
> [...] I don't think actions should be declared using "is",
> necessarily. [...] In particular, it puts the action in the passive
> voice[...]
> It seems actions should be active functions, so:
>
> autoflush $STDERR; # $STDERR.autoflush
> $var = read $ARGS;
> print $STDOUT "Hello, World!\n";
Here's the second one.
> :
> : $ARGS prompts("Search? "); # Perl 6
> : while (<$ARGS>) {
>
> I'd think I'd rather see that as:
> prompt $ARGS "Search? "; # $ARGS.prompt("Search? ")
> Without the extra new ambiguity. Thoughts?
Hmmm...the '$ARGS prompts("Foo?")' version actually works better
for me. I think that, in line with what you said above, 'prompt $ARGS
"Foo?"' should be interpreted as an action...that is, something that
should be done _right_now_. But I don't want the prompt to be printed
right now...I want it to be printed just before I do a read on the
filehandle. In this case, I really am setting a property, not setting a
property.
I'm not sure what the appropriate way to disambiguate the two is,
or if there even needs to be a specific mechanism (can perl be smart
enough to DWIM on this?). Definitely something to think about.
Dave