- 関数型プログラミング言語Haskell Part29 [転載禁止]©2ch.net
377 :デフォルトの名無しさん[sage]:2015/08/27(木) 17:37:41.46 ID:a/U6YIqa - 反知性とかそういうのじゃなくてな、haskell初学者を惑わせるだけの圏論の話なんて必要無いってだけなんだ。
初心者が聞く「モナドって何?」っていう質問に圏論的な説明はじめるのは迂遠過ぎてhaskell難しいっていう印象しか残せない。 単に「中の値を直接取り出せないようなコンテナ型であっても、その中身を(安全に)操作、合成するための技法」の1つであると言えばいいのに、 それを「何故モナドという名前なのか」という意味に曲解し、そこだけ説明したり訂正したりする奴がいるから、haskellの真髄は圏論であると勘違いする人が出てくる。 圏論じゃなくて型付けラムダ計算あるいはSystemFがhaskellの基礎でしょ。 Control.MonadやControl.Categoryはあくまでも利便性を高めるためにあるもの。無くても不便なりに使える。 >>376 なので、haskellのコアな部分というなら型理論を学べば良い。ライブラリの中には圏論をベースにしたものがあるから、そっちの理論的背景を学びたいなら圏論を学べば良い。 圏論は間違ってもマクレーンの本からはじめない方がええ。最近ならもっといい(例が数学的過ぎない)文書がネット上にもある。 日本語だったら前スレにも出てた↓とか。 http://nineties.github.io/category-seminar/#/
|