トップページ > プログラム > 2015年01月29日 > TKGinLzw

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

3 位/163 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000003126



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

書き込みレス一覧

関数型プログラミング言語Haskell Part27_©2ch.net
336 :デフォルトの名無しさん[]:2015/01/29(木) 21:20:00.38 ID:TKGinLzw
初歩的な疑問だがApplicativeについて教えてくれんか。
<*> [f g h] [1 2 3] = [f(1) f(2) f(3) g(1) g(2) g(3) h(1) h(2) h(3)]
になるようだが、なぜ、
<*> [f g h] [1 2 3] = [f(1) g(2) h(3)]
になるように定義されていないの?
関数型プログラミング言語Haskell Part27_©2ch.net
339 :デフォルトの名無しさん[]:2015/01/29(木) 21:38:09.04 ID:TKGinLzw
>>337
> Identity Law : pure id <*> v = v
そう言うなら、なぜこの規則を課すのがよいの?という疑問なのだが
関数型プログラミング言語Haskell Part27_©2ch.net
340 :デフォルトの名無しさん[sage]:2015/01/29(木) 21:43:50.38 ID:TKGinLzw
>>338
結局、そうなってるからそうなってる、と理解しろってこと?
関数型プログラミング言語Haskell Part27_©2ch.net
342 :デフォルトの名無しさん[sage]:2015/01/29(木) 22:06:52.89 ID:TKGinLzw
Identity Law つまり
<*> [id] [1 2 3] = [1 2 3]
は納得したとして、それから
<*> [f g h] [1 2 3] = [f(1) f(2) f(3) g(1) g(2) g(3) h(1) h(2) h(3)]
はどうやって出てくるの?
関数型プログラミング言語Haskell Part27_©2ch.net
348 :デフォルトの名無しさん[sage]:2015/01/29(木) 23:01:34.47 ID:TKGinLzw
みなさん、丁寧に教えてくれてありがとう。
一気には咀嚼できないのでこのへんでちょっと読み返してみます。
あともうひとつ。Function, Functor, Applicative, Monadと来てるが、
これで一揃い出尽くしているの?
関数型プログラミング言語Haskell Part27_©2ch.net
350 :デフォルトの名無しさん[sage]:2015/01/29(木) 23:25:29.46 ID:TKGinLzw
> なぜ、
> <*> [f g h] [1 2 3] = [f(1) g(2) h(3)]
> になるように定義されていないの?
こう定義すると、2つの入力の要素数が等しくないといけないという
窮屈な制約がつくのが致命的ということはないの?


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