関数型プログラミング言語Haskell Part34 (692レス)
上下前次1-新
589: デフォルトの名無しさん [sage] 2024/11/06(水) 18:53:34.69 ID:s8sk505y(1) AAS
semigroupoidsのAltからFunctor抜いたやつないのかな
catsのSemigroupK相当のやつ
590: デフォルトの名無しさん [sage] 2024/11/07(木) 02:17:24.00 ID:w1FRCcDr(1) AAS
HackageもHaskellWikiもつながらねえ
攻撃でも受けたか
591: デフォルトの名無しさん [] 2024/11/07(木) 06:45:43.72 ID:NVSipRlq(1) AAS
数か月前もHoogle繋がらなかったしね…。
592: デフォルトの名無しさん [] 2024/11/09(土) 18:32:16.19 ID:r4DlAvJp(1/2) AAS
mylist.py TotalSeconds : 6.1246778
1:def mylist(n, m):
2: a = 1
3: outer = []
4: for _ in range(0, n):
5: inner = []
6: for _ in range(0, m):
7: inner.append(a)
8: a += 1
9: outer.append(inner)
10: return outer
11:
12:print(mylist(6000, 8000)[-1][-1])
上と同じ動きのコードを書いたけど、
アルゴリズムとしてはPythonと同じmylist.hsのコードが良いはずなのに、
どっちも最適化するとmylist2.hsのが良好。
(ファイル名の横の秒数は実行時間)
mylist.hs TotalSeconds : 4.107899
1:main = print.last.last $ mylist 6000 8000
2:
3:mylist n m = take n.f $ [1..]
4: where f ns = xs:f ys
5: where (xs, ys) = splitAt m ns
mylist2.hs TotalSeconds : 2.3916408
1:main = print.last.last $ mylist 6000 8000
2:
3:mylist n m = take n.iterate f $ [1..m]
4: where f = map (+m)
593: デフォルトの名無しさん [] 2024/11/09(土) 18:32:43.47 ID:r4DlAvJp(2/2) AAS
mylist2.hsのアルゴリズムは
f = map (+3)とすれば
[1,2,3]
[4,5,6] -- f [1,2,3] = [1 + 3, 2 + 3, 3 + 3] = [4,5,6]
[7,8,9] -- f (f [1,2,3]) = f [1 + 3, 2 + 3, 3 + 3] = [4 + 3, 5 + 3, 6 + 3] = [7,8,9]
と、行数が増えるごとに関数の適用回数が増えるので本来なら遅いはずですが、
考えるに直前の結果をキャッシュする様な最適化が施された模様。(-O3)
(そうすると、mylist.hsのsplitAtの方がボトルネックになる?)
最適化なしでのコンパイルはしてないので、
もしかしたらiterateの中身自身がキャッシュするように改良されたのかも。
594: デフォルトの名無しさん [] 2024/11/10(日) 16:05:22.18 ID:AfmJKCJ3(1) AAS
これ数学的にどういうことなのか
かいつまんで教えてくらまいか
watch?v=dYj0rPQeRkA
595(1): デフォルトの名無しさん [sage] 2024/11/16(土) 10:08:07.70 ID:9CYVpzbn(1) AAS
Category Theory Using Haskell
An Introduction with Moggi and Yoneda
Shuichi Yukita
という書籍が来月出るんですって?
596(1): デフォルトの名無しさん [sage] 2024/11/16(土) 14:32:48.68 ID:Avgm411i(1/2) AAS
>>595
高いな
> Hardcover
> \36,125 Tax included
597: 596 [sage] 2024/11/16(土) 14:36:30.07 ID:Avgm411i(2/2) AAS
円記号がバックスラッシュになっていたので訂正
¥36,125
フォントによるわけだが
598: デフォルトの名無しさん [sage] 2024/11/16(土) 15:13:06.50 ID:ZnREBqGy(1) AAS
買って損するだけの高額本の予感
599: デフォルトの名無しさん [sage] 2024/11/16(土) 15:27:44.60 ID:x85mVkLf(1) AAS
なんだ雪田の本じゃねぇか
プラスアルファはあるかも知れんが
基本雪田の「圏論入門 Haskellで計算する具体例から」と大差無いと思うぞ
600: デフォルトの名無しさん [sage] 2024/11/16(土) 20:50:43.88 ID:ZUJ+jDQV(1/4) AAS
結局Moggiのアイディアがなんなのか書いてなかったから、洋書でも同じでしょ。
601: デフォルトの名無しさん [sage] 2024/11/16(土) 21:01:44.68 ID:UsNa54E4(1) AAS
すでに書かれてるのがwikipediaにあるじゃん
外部リンク:ja.m.wikipedia.org
602: デフォルトの名無しさん [sage] 2024/11/16(土) 21:18:48.47 ID:ZUJ+jDQV(2/4) AAS
wikiのは肝心のvalueとcomputationについてちゃんと書いてない。
computationの訳を「計算された値」とするのは微妙。
603: デフォルトの名無しさん [sage] 2024/11/16(土) 21:28:16.06 ID:ZUJ+jDQV(3/4) AAS
『圏論入門』の方にはvalueもcomputationも書いてなかったと思うから言わずもがな。
604: デフォルトの名無しさん [sage] 2024/11/16(土) 21:43:11.16 ID:HNcchqjT(1) AAS
出たら人柱になって買って読んで下さい
605: デフォルトの名無しさん [sage] 2024/11/16(土) 22:29:43.38 ID:MlIU4R6X(1) AAS
多分加筆してると思うよ
日本の出版社はなぜかページ数制限があることが多いんだけど
海外にそれはないし
606: デフォルトの名無しさん [sage] 2024/11/16(土) 22:41:34.37 ID:ZUJ+jDQV(4/4) AAS
加筆してvalueとcomputationの説き起こしから始めて本当にMoggiのアイディア書くかなぁ?
米田の補題が工学応用できるとかいう主張と衝突する気がするんだけれど。
607: デフォルトの名無しさん [sage] 2024/11/17(日) 08:11:12.88 ID:RK7ri1yG(1) AAS
レポよろ
608: デフォルトの名無しさん [sage] 2024/11/17(日) 09:07:13.97 ID:zx90fdBd(1) AAS
ぷりぷりです
609: デフォルトの名無しさん [sage] 2024/11/17(日) 14:35:29.88 ID:895B27h0(1/2) AAS
4万近く出してわざわざレポだけする奴なんているの?
圏論入門と同じでそれらしいキーワードだけ出して終わりの可能性高いのに。
610: デフォルトの名無しさん [sage] 2024/11/17(日) 19:34:30.56 ID:A63wUj4E(1) AAS
まぁそもそもHaskellで圏論持ち出す必要ないしな
生産性上がらないよ
611(1): デフォルトの名無しさん [sage] 2024/11/17(日) 19:42:07.02 ID:bAlb8WtH(1) AAS
Haskell、コーダー界隈で圏論勉強会が流行していた時期、あれは何だったのか?
612: デフォルトの名無しさん [sage] 2024/11/17(日) 20:00:10.23 ID:895B27h0(2/2) AAS
圏がグラフの拡張みたいな概念だったから、グラフ理論みたいに有用なプログラミングにつかえるアルゴリズムがあるんじゃないかってことでやってたように見えた。
モナドも説明したかったようにみえたけど、結局圏論の勉強を踏まえた説明はでてこなかった。
613: デフォルトの名無しさん [sage] 2024/11/17(日) 21:17:15.64 ID:U7PWp5lE(1) AAS
>>611
俺も行ってたわw
数学クラスターからの圏論マウントを喰らっていくのやめたがw
そういうやつ多いんじゃないか
上下前次1-新書関写板覧索設栞歴
あと 79 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.021s