->演算子

雑誌の立ち読みで、Perl6ではメソッドコールの演算子が"->"から"."に変わることを知った。
Rubyでは、"->"は演算子として使用されていない筈と思ったが、見てみると1.9では使われていた。

a = lambda { |x,y;z| }
b = ->(x,y;z) { }

lambdaの代わりに使うのか。lambdaだけで良いような気がするが、メソッドではなく構文としてサポートすることに何か意味があるんだろうか?
以前、Matzにっきに書いてあったような気がするが、興味がなかったせいか思い出せない。

違いがあるのか調べているうちに死んでしまった。

$ cat lambda.rb
def foo
  lambda
end

foo { }

$ ~/tmp/ruby19/ruby lambda.rb
lambda.rb:2: warning: tried to create Proc object without a block
lambda.rb:2: [BUG] Segmentation fault
ruby 1.9.0 (2006-02-21) [i386-cygwin]

Aborted (core dumped)