関数型プログラミング言語Haskell Part27_©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0898デフォルトの名無しさん
2015/03/29(日) 09:31:34.21ID:B+lgx0sX整数の定理を勉強したい人に「整数はzipper構造を使ったチャーチ数の亜種である」と言えることを教えたって無意味。
モナド自体に勉強する価値をもたせたいなら、例えば関数をベクトルとみなすことでフーリエ変換やz変換が上手に説明できる、というくらいには、その抽象化でどうして便利になるのかというメリットを説明できないといけない。
>>896 ある物の挙動を理解させるのに定義を教えず、挙動だけ教えろって?
義務教育なら(頭を対象に慣れさせるためにも)そのアプローチは理に適っているが、
モナドに関して定義->定理->実例という学習プロセスが何故迂遠なのかをどう教える?
如何に遠回りかの説明に骨を砕かないと初学者がマクレーン読み出すぞ。
そもそも「状態を隠蔽する」のに最も寄与しているのは型コンストラクタの隠蔽であって、
問題の根幹は、状態が隠蔽されている型に対し如何にしてアクセスすればいいのか、どのような操作を認めるべきでどのような操作を認めてはいけないのか、という部分にある。
最後に「それをまとめたらモナドと呼べるものになった」とか付け加えたらやっぱりマクレーンを読ませようと誘惑していることになる。
■ このスレッドは過去ログ倉庫に格納されています