- 236 名前:デフォルトの名無しさん [04/10/24 01:22:23]
- >>216
あなたの経験からすればそんなに入門は困難じゃない. Ruby 使ったことがあるなら Array#map とか関数型の影響を受けた機能を知ってるハズ (そうとは知らずに使ってたんだろうけど). あと Ruby の Proc はまさに(関数型言語で言う)クロージャの特別な場合. よく使う用例に特化してる分ちょっと弱い. Cの関数ポインタとクロージャの決定的な違い, すなわち「静的スコープ」とか「環境」とかについてゆっくり勉強するといい. 実装を解説してる文書を探すのもといいと思う. 型システムは,あんまり便利で驚くことうけあい. 特にパラメータ型多相(C++のテンプレートと似てる)と OOPで言う「継承によるポリモルフィズム(部分型)」をうまく統合してるのが特徴. Javaとか「なぜこんなに表現力がしょぼい?」って気がしてくる(最近変わりつつあるけど). ただ,ヴァリアント型は構文のせいでよくこんがらがりやすいけどね... (コンストラクタなのか型の名前なのか,あとtypeとdata) Haskellはかなりラディカルな言語なんでCとかとはギャップが大きいけど,面白いことは色々あるよ.
|

|