関数型プログラミング言語Haskell Part8
■ このスレッドは過去ログ倉庫に格納されています
0257デフォルトの名無しさん
2007/12/06(木) 17:37:32Arrowはまあ基本的にポイントフリーな感じがするし、普通の関数と分けられていいんじゃない?
・Arrowの構造を作ったりする関数は基本的にArrowだけを返す。
Monadの関数はなんかリストとかに入ってたりして気味が悪い。モナドのリストって、最中十個入りじゃないんだから。
・Arrowの構造を作る関数はキチンと構造を作ってるように見える。
Monadの場合は解読に時間がかかる。なんのためにこんな書き方をしてるんだろうとか……。
・ArrowでStateを自作してみたら比較的分かりやすかった。
Monadのは今見ても訳が分からん。というかMonadの対象が関数って何だよ。
・Monadに慣れ親しんでる人はMonadを扱うのに苦労しないだろうから、
簡単なものなら短い表記が出来るMonadのほうがいいんだろう。
しかし、初心者にいきなり教えるのならArrowのほうが直感的。
ポイントフリースタイルを使いまくってムツカシイことさえしなければ。
・Arrow講座みたいな入門編とかでArrowを書くとき、
関数がそのままアローになるからってやたら省略しないでいただきたい。
アローな部分と普通の関数の部分が綺麗に分かれてるのがいいんだから……
それにarrってやっておけばその部分は一般のArrowでも使えるし。
SF f >>> SF g = SF (f >>> g)とか出来るからそういう書き方が出来ること自体はありがたいが。
・arr.uncurryとかarr.constってよく出てくるけどそういう関数はないのか……
・Arrow関係ないけどデータ構築子と型構築子が同じ名前って混乱するな。時々イラっとくる。
・aとかbとか何を表してんのか直感的じゃねえよ。型変数だったり、引数だったり……
fって名前だから関数かと思いきやArrowだったり。
ネーミング規約みたいなものはないのか……
Arrowが引数で来たときの名前の付け方とかおもいつかねえけど。
・そろそろふつける買おうかな……。
・初心者のくせに身の程をわきまえない長文失礼しました……
■ このスレッドは過去ログ倉庫に格納されています