関数型プログラミング言語Haskell Part34 (667レス)
関数型プログラミング言語Haskell Part34 http://mevius.5ch.net/test/read.cgi/tech/1639713446/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
584: デフォルトの名無しさん [] 2024/11/02(土) 20:11:17.53 ID:pIz290+w >>581 どっちかというと、教育に興味があって、例えば足し算の足し方が増加と追加って2種類あるんだけど、追加は後から増えるって意味だと教科書に書いてあるけど、その説明がもやもやする。 それで、違いを考えるとこれは 増加の足し算:末尾再帰。その場で簡約出来る 3 + 2 = (3 + 1) + (2- 1) = 4 + 1 = (4 + 1) + (1 -1) = 5 + 0 = 5 追加の足し算:再帰。基底部まで来てから簡約開始。リストの ++ 演算子的な動き。 2 + 3 = 1 + ((2 - 1) + 3) = 1 + (1 + ((1 - 1) + 3)) = 1 + (1 + (0 + 3)) = 1 + (1 + 3) = 1 + 4 = 5 みたいに、足し算作らないと気付かない違いを気付いて教えるのに役立ててる。 (+1/-1の代わりにsucc/pred関数の適用で考えた方が分かり易いかも) http://mevius.5ch.net/test/read.cgi/tech/1639713446/584
585: デフォルトの名無しさん [] 2024/11/02(土) 20:16:43.59 ID:pIz290+w >>583 そうなんだ。 そういうライブラリ頼みっぽい事なら、MathmacticaとかPythonのが良さそうなのにね。 金融商品だったら統計に強いRだってあるし。 なぜわざわざOCamlだったのやら…。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/585
586: デフォルトの名無しさん [sage] 2024/11/03(日) 11:40:35.68 ID:kGU90lSm >>584 本スレ誘導 https://mevius.5ch.net/test/read.cgi/tech/1710585705/ http://mevius.5ch.net/test/read.cgi/tech/1639713446/586
587: デフォルトの名無しさん [sage] 2024/11/03(日) 17:33:41.03 ID:4RaSizfZ その手のはかなり昔からの話だしその頃pythonはそんな一般的ではない http://mevius.5ch.net/test/read.cgi/tech/1639713446/587
588: デフォルトの名無しさん [] 2024/11/03(日) 18:58:10.27 ID:W/WQS3jI >>586 え…。 Haskellを何に使ってるか聞かれたから答えたのに、そりゃ無いよ。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/588
589: デフォルトの名無しさん [sage] 2024/11/06(水) 18:53:34.69 ID:s8sk505y semigroupoidsのAltからFunctor抜いたやつないのかな catsのSemigroupK相当のやつ http://mevius.5ch.net/test/read.cgi/tech/1639713446/589
590: デフォルトの名無しさん [sage] 2024/11/07(木) 02:17:24.00 ID:w1FRCcDr HackageもHaskellWikiもつながらねえ 攻撃でも受けたか http://mevius.5ch.net/test/read.cgi/tech/1639713446/590
591: デフォルトの名無しさん [] 2024/11/07(木) 06:45:43.72 ID:NVSipRlq 数か月前もHoogle繋がらなかったしね…。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/591
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
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 54 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.014s