- 257 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 17:37:32 ]
- ・Monadでポイントフリースタイルをやろうとするとかなりキモくなるよね。
Arrowはまあ基本的にポイントフリーな感じがするし、普通の関数と分けられていいんじゃない? ・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が引数で来たときの名前の付け方とかおもいつかねえけど。 ・そろそろふつける買おうかな……。 ・初心者のくせに身の程をわきまえない長文失礼しました……
|

|