トップページ > プログラム > 2015年06月09日 > Wpjwmkjs

書き込み順位&時間帯一覧

3 位/190 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000001001120005



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
関数型プログラミング言語Haskell Part28 [転載禁止]©2ch.net

書き込みレス一覧

関数型プログラミング言語Haskell Part28 [転載禁止]©2ch.net
478 :デフォルトの名無しさん[]:2015/06/09(火) 15:29:01.79 ID:Wpjwmkjs
毛の壁ネタは専用スレで。
そこからの転載も不要。
関数型プログラミング言語Haskell Part28 [転載禁止]©2ch.net
483 :デフォルトの名無しさん[]:2015/06/09(火) 18:36:24.03 ID:Wpjwmkjs
 
しばしば目にするパターンではあるんだよな。
余再帰を巧く使いこなせるようになりたいとは思う。
関数型プログラミング言語Haskell Part28 [転載禁止]©2ch.net
485 :デフォルトの名無しさん[]:2015/06/09(火) 19:46:28.21 ID:Wpjwmkjs
>>484
ポイントフリー教信者が使うため。

ってのはともかく、mapみたいな高階関数に関数を
渡さなきゃいけないところで、

map (¥x -> f $ g x) xs
map (f . g) xs

を見比べれば意味がわかるのでは。
なにかに関数を連鎖して適用した結果ではなくあくまで
連鎖した関数そのものが欲しい時には ( . ) が便利。
関数型プログラミング言語Haskell Part28 [転載禁止]©2ch.net
487 :デフォルトの名無しさん[]:2015/06/09(火) 20:10:23.23 ID:Wpjwmkjs
実行効率は一緒。

(f . g) を普通に「gしてfする」とか読むのになれると引数の方がじゃまになる。
「¥x -> f $ g $ x +1 」 より 「 f . g . (+1)」の方が、
「1足してgしてfする」と読みやすいし明瞭でしょ。

そのうちmapの引数にいちいちラムダ式書いてられるかって気になるよ。
よく使うものの構文は軽くなくてはいけない、というだけ(美的感覚とは少し違う)。
関数型プログラミング言語Haskell Part28 [転載禁止]©2ch.net
489 :デフォルトの名無しさん[]:2015/06/09(火) 20:21:06.13 ID:Wpjwmkjs
>>488
ポイントフリー教に入信する理由は全然ない(本当にやめてほしい)。
簡単に「〜して…して〜する」みたいに読める時だけ使えば十分。

いちいち名前をつける必要のない(むしろ使い捨てなので名前をつけるべきでない)ような
関数のチェインをラムダ式よりも軽い構文で書ける、というのがまずは利点。

もう少し慣れてくると今度は Control.Lensパッケージが 関数合成演算子( . )を
あたかもオブジェクト指向言語のメソッド呼び出しであるかのように見せる
芸当を見せてくれるけど、それはまだ先の話。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。