関数型プログラミング言語Haskell Part34 (667レス)
関数型プログラミング言語Haskell Part34 http://mevius.5ch.net/test/read.cgi/tech/1639713446/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
592: デフォルトの名無しさん [] 2024/11/09(土) 18:32:16.19 ID:r4DlAvJp 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) http://mevius.5ch.net/test/read.cgi/tech/1639713446/592
593: デフォルトの名無しさん [] 2024/11/09(土) 18:32:43.47 ID:r4DlAvJp 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の中身自身がキャッシュするように改良されたのかも。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/593
594: デフォルトの名無しさん [] 2024/11/10(日) 16:05:22.18 ID:AfmJKCJ3 これ数学的にどういうことなのか かいつまんで教えてくらまいか watch?v=dYj0rPQeRkA http://mevius.5ch.net/test/read.cgi/tech/1639713446/594
595: デフォルトの名無しさん [sage] 2024/11/16(土) 10:08:07.70 ID:9CYVpzbn Category Theory Using Haskell An Introduction with Moggi and Yoneda Shuichi Yukita という書籍が来月出るんですって? http://mevius.5ch.net/test/read.cgi/tech/1639713446/595
596: デフォルトの名無しさん [sage] 2024/11/16(土) 14:32:48.68 ID:Avgm411i >>595 高いな > Hardcover > \36,125 Tax included http://mevius.5ch.net/test/read.cgi/tech/1639713446/596
597: 596 [sage] 2024/11/16(土) 14:36:30.07 ID:Avgm411i 円記号がバックスラッシュになっていたので訂正 ¥36,125 フォントによるわけだが http://mevius.5ch.net/test/read.cgi/tech/1639713446/597
598: デフォルトの名無しさん [sage] 2024/11/16(土) 15:13:06.50 ID:ZnREBqGy 買って損するだけの高額本の予感 http://mevius.5ch.net/test/read.cgi/tech/1639713446/598
599: デフォルトの名無しさん [sage] 2024/11/16(土) 15:27:44.60 ID:x85mVkLf なんだ雪田の本じゃねぇか プラスアルファはあるかも知れんが 基本雪田の「圏論入門 Haskellで計算する具体例から」と大差無いと思うぞ http://mevius.5ch.net/test/read.cgi/tech/1639713446/599
600: デフォルトの名無しさん [sage] 2024/11/16(土) 20:50:43.88 ID:ZUJ+jDQV 結局Moggiのアイディアがなんなのか書いてなかったから、洋書でも同じでしょ。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/600
601: デフォルトの名無しさん [sage] 2024/11/16(土) 21:01:44.68 ID:UsNa54E4 すでに書かれてるのがwikipediaにあるじゃん https://ja.m.wikipedia.org/wiki/%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%B9%E3%83%AA%E5%9C%8F http://mevius.5ch.net/test/read.cgi/tech/1639713446/601
602: デフォルトの名無しさん [sage] 2024/11/16(土) 21:18:48.47 ID:ZUJ+jDQV wikiのは肝心のvalueとcomputationについてちゃんと書いてない。 computationの訳を「計算された値」とするのは微妙。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/602
603: デフォルトの名無しさん [sage] 2024/11/16(土) 21:28:16.06 ID:ZUJ+jDQV 『圏論入門』の方にはvalueもcomputationも書いてなかったと思うから言わずもがな。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/603
604: デフォルトの名無しさん [sage] 2024/11/16(土) 21:43:11.16 ID:HNcchqjT 出たら人柱になって買って読んで下さい http://mevius.5ch.net/test/read.cgi/tech/1639713446/604
605: デフォルトの名無しさん [sage] 2024/11/16(土) 22:29:43.38 ID:MlIU4R6X 多分加筆してると思うよ 日本の出版社はなぜかページ数制限があることが多いんだけど 海外にそれはないし http://mevius.5ch.net/test/read.cgi/tech/1639713446/605
606: デフォルトの名無しさん [sage] 2024/11/16(土) 22:41:34.37 ID:ZUJ+jDQV 加筆してvalueとcomputationの説き起こしから始めて本当にMoggiのアイディア書くかなぁ? 米田の補題が工学応用できるとかいう主張と衝突する気がするんだけれど。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/606
607: デフォルトの名無しさん [sage] 2024/11/17(日) 08:11:12.88 ID:RK7ri1yG レポよろ http://mevius.5ch.net/test/read.cgi/tech/1639713446/607
608: デフォルトの名無しさん [sage] 2024/11/17(日) 09:07:13.97 ID:zx90fdBd ぷりぷりです http://mevius.5ch.net/test/read.cgi/tech/1639713446/608
609: デフォルトの名無しさん [sage] 2024/11/17(日) 14:35:29.88 ID:895B27h0 4万近く出してわざわざレポだけする奴なんているの? 圏論入門と同じでそれらしいキーワードだけ出して終わりの可能性高いのに。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/609
610: デフォルトの名無しさん [sage] 2024/11/17(日) 19:34:30.56 ID:A63wUj4E まぁそもそもHaskellで圏論持ち出す必要ないしな 生産性上がらないよ http://mevius.5ch.net/test/read.cgi/tech/1639713446/610
611: デフォルトの名無しさん [sage] 2024/11/17(日) 19:42:07.02 ID:bAlb8WtH Haskell、コーダー界隈で圏論勉強会が流行していた時期、あれは何だったのか? http://mevius.5ch.net/test/read.cgi/tech/1639713446/611
612: デフォルトの名無しさん [sage] 2024/11/17(日) 20:00:10.23 ID:895B27h0 圏がグラフの拡張みたいな概念だったから、グラフ理論みたいに有用なプログラミングにつかえるアルゴリズムがあるんじゃないかってことでやってたように見えた。 モナドも説明したかったようにみえたけど、結局圏論の勉強を踏まえた説明はでてこなかった。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/612
613: デフォルトの名無しさん [sage] 2024/11/17(日) 21:17:15.64 ID:U7PWp5lE >>611 俺も行ってたわw 数学クラスターからの圏論マウントを喰らっていくのやめたがw そういうやつ多いんじゃないか http://mevius.5ch.net/test/read.cgi/tech/1639713446/613
614: デフォルトの名無しさん [sage] 2024/11/20(水) 04:56:53.37 ID:vcDCbnyw プログラムは合成できないといけないって当然のことを、いちいち圏である必要があるとか言い換えるオレ天才だわー http://mevius.5ch.net/test/read.cgi/tech/1639713446/614
615: デフォルトの名無しさん [sage] 2024/11/20(水) 18:55:46.60 ID:QVKMRnqI https://dic.nicovideo.jp/a/%E9%A1%A7%E5%AE%A2%E3%81%8C%E6%9C%AC%E5%BD%93%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%A0%E3%81%A3%E3%81%9F%E3%82%82%E3%81%AE http://mevius.5ch.net/test/read.cgi/tech/1639713446/615
616: デフォルトの名無しさん [sage] 2024/11/21(木) 00:16:43.88 ID:r2/mXbdf 集合論と圏論の抽象度がもし同レベルならたしかに圏である必要はないな 必要ない情報は捨象されるべきだと言われれば何も反論できない だから抽象化マウントは強いんだ http://mevius.5ch.net/test/read.cgi/tech/1639713446/616
617: デフォルトの名無しさん [sage] 2024/11/21(木) 01:45:46.56 ID:bAf4oZLa 抽象化すればプログラムしにくいと思うけど http://mevius.5ch.net/test/read.cgi/tech/1639713446/617
618: デフォルトの名無しさん [sage] 2024/11/21(木) 19:02:52.56 ID:fTdZV0pc プログラムが圏になるためとかいうクソしょうもない理由がモナド導入の理由って本当か? 圏論っていうか圏じゃん。モノイド構造も米田の補題もなにも出てこないんだが http://mevius.5ch.net/test/read.cgi/tech/1639713446/618
619: デフォルトの名無しさん [sage] 2024/11/21(木) 21:57:07.56 ID:r2/mXbdf 型構築子を導入すれば関手もモナドも勝手についてくる 型を必要とするすべての言語で同じことが言える これも抽象化 http://mevius.5ch.net/test/read.cgi/tech/1639713446/619
620: デフォルトの名無しさん [sage] 2024/11/28(木) 10:04:33.91 ID:p2Q1UON9 haskellでスクレイピングがやりたいんだが arch linuxのリポにはscalpelがない 別言語でやったほうがいいかな? http://mevius.5ch.net/test/read.cgi/tech/1639713446/620
621: デフォルトの名無しさん [sage] 2024/12/04(水) 21:11:42.90 ID:D3PBVzJs ディストリで全部パッケージ化してくれてるとは思えん stackかcabal入れて自分で管理するんじゃね? ローカルに1GBくらいのライブラリ入るし重複しないようにしないといかんが もちろんseleniumとか使うにしてもpythonとかrubyのほうが楽やろ http://mevius.5ch.net/test/read.cgi/tech/1639713446/621
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 46 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.017s