Pythonでの関数プログラミングを流し読み。Xoltar使うと関数型言語っぽくかけるらしい。
- http://www-06.ibm.com/jp/developerworks/linux/010615/j_l-prog.html
- http://www-06.ibm.com/jp/developerworks/linux/010706/j_l-prog2.html
- http://www-06.ibm.com/jp/developerworks/linux/010921/j_l-prog3.html
ふつうのhaskell読んだあとなので、ここらへんの関数プログラミングの話題も楽しい。
第2回はクロージャとbindingの話でclosure()とやるとクロージャができ、Lispチックな書き方もできるらしい。第3回はカリー化の話で、これまたcurry()とかやるだけでいいっぽい。また、最後のほうの関数合成の話も面白かった。
ちなみにperlにもSub::Curryってのがあって、こんな感じで書ける。
sub foo { join "_", @_} my $f = curry(\&foo, 1, 2); my $f2 = curry($f, 3, 4); print $f2->(5);
で、実行すると
$ perl curry.pl 1_2_3_4_5
サブルーチンのリファレンスを指定すればいいだけのお手軽っぽいので、今度何かに使ってみよう。
あと、any()とかall()はQuantum::Superpositionsが使えるかな。