Luke Palmer skribis 2006-08-31 15:48 (-0600): > > I don't think using a method (even if called "s") is good huffman > > coding. My expectation is that copying substitution will be used much - > > perhaps even more than mutating substitution! > And so a method called "s" is poor huffman coding... why? (I do agree > with your frequency conjecture)
Because of the awkward syntax that goes with a method: two parens, four delimiters, comma[s]?. .s(/bar/, "baz"); # 20 keypresses on a US keyboard While a postfix operator, with the same ".s" feel, could allow .s/bar/baz/; # 12 keypresses on a US keyboard And since it's something used a lot in expressions, you wouldn't use the parenless form of the method call much. We need a quotelike construct for this form of s/// for exactly the same reason we need it for m// and the other s///. Our language deviates too much from being Perl if we had only method forms. $foo.match(/foo/); $foo.subst(/foo/, "bar"); $foo.=subst(/foo/, "bar"); That just isn't Perlish, at all. My suggestion for a s/// postfix op mainly stems from this argument, but I really also believe that ~~ and s/// is a farfetched combination. Perl 5's =~ was a binding operator, and s/// fit right in. But Perl 6's ~~ is a matching operator, and in my opinion should remain pure, and so: not mutate. I'm even a bit inclined to suggest that .m// should return matches, while ~~m// should return a bool. But ignore that for now :) Juerd -- http://convolution.nl/maak_juerd_blij.html http://convolution.nl/make_juerd_happy.html http://convolution.nl/gajigu_juerd_n.html