にょろーん
http://d.hatena.ne.jp/camlspotter/20091027
誤解をされた気がする。
別にさようならはまあそれなりにどうでもいいと思う。どうでもいいと思う理由はこの辺参照 http://0xcc.net/pub/shibuyapm4/0003.html
ただ本当にどうでもいいと思うわけではない。後述。
実際あれ試しても何が悪いのかな?ほげほげーって言う子は、そもそも関数型どうこうの前にプログラミング言語と付き合うこと自体あまり幸せにはなれない可能性が高いとボクも思う。試せばわかるけれど明らかに何かがまずい遅さになるし…
しかし初学者向け(と思ってたけど今みたら初心者~中級者向けとある)と断った上でそういうことを書いちゃうのははっきりいって無闇に敷居をあげてしまうだけだし、それは誰相手に何を書きたいのかまるでわからんなーというのがあった。
で、ボクにとって本当に重要だったのはその部分で、基本的に camlspotter さんは誰対象に書いてるのか割とわからないことを初心者向けとかで書いてるので、これはためにならないなあ…という話なのだった。
内容的には第一回とか面白かったのだけれどあれどう考えても初心者向けとはいえないところがあって、まあそれは割と良い意味だったのでもっとやれと思ってたら、第二回のリストの話は内容薄めな上に前述のとおりの調子なので「ためにならねー」が「ためにならん…」になったのだった。プラスなためにならないがマイナスなためにならないになってしまった。
プラスポイントを上げるためには :: が OCaml では特殊なコンストラクタ扱いである点とかに触れるとプラスなためにならねー感が増してよかったと思う。どうでもいい。
で、ボクが二番目に言いたいのは、関数型言語や再帰とか何も特別なことではなくって、ただそれを取り巻く文化が偶然これまで特殊だったというだけで、いい加減そういうのを難しいとか悟りとか言っちゃう悪習は捨てようよっていうことなのだった。まあこれは二番目。これが後述の部分。
あと今回お互いにとって不幸だったのは例にある dame_rev が遅い理由は割と本当に難しかったというところかなあ。少なくともボクにとっては難しかった。遅いのはどうせ allocation だろう、と適当に思ってたら、実際には allocation よる GC の方がすごく遅くて、にょろろーんって感じだった。あと @ が N なことを見落としていた。