Re:Data munging in Perl 6 vs. Perl 5
by munificent on Tuesday December 09, 2014 @06:21PM
(#8726536)
> It's different from a typical lambda declaration, but intuitive in its own way.
Isn't it pretty similar to Scala's use of "_"? I think _.value creates a one-parameter lambda in Scala.
Yeah, but it would be neat if it was a word instead, for example "that". "*" is hilarious, though. How do you multiply in Perl if the star is taken? I also like that it's named "whatever star", reminds me of Scala's Pimp my Library feature[0]
An asterisk is only a Whatever if it's in term position:
(* * *)(2, 3)
will happily print 6.I'd like to point out there are magical errors put in to keep Perl6 code relatively sane too:
> .map: ** * * * **
===SORRY!=== Error while compiling <unknown file>
Multiple HyperWhatevers and Whatevers may not be used togetherI didn't find the whatever star funny until this point.
Whatever ;)
Perl has always had something called "context" :)
Although, I actually think a lot of the stuff Perl does is really cool. I wouldn't want to have to maintain a codebase of it, but it never fails to be interesting. Like the whatever star. "*.value" basically saying, "Whatever value is here, gimme the value of it". It's different from a typical lambda declaration, but intuitive in its own way.