関数型プログラミング言語Haskell Part34 (692レス)
1-

569: デフォルトの名無しさん [] 2024/10/28(月) 22:50:50.12 ID:duvMwVsG(2/2) AAS
Haskellスレで言われましても
わざわざカレー屋に来て「ラーメンを食え」って喧伝するようなものでしょ
570: デフォルトの名無しさん [] 2024/10/29(火) 10:29:33.30 ID:2QinlXet(1) AAS
>>567
567(2): デフォルトの名無しさん [sage] 2024/10/28(月) 19:57:49.83 ID:2RuMUG8y(1) AAS
ML族のRustが市民権を得た今haskellやる意味ないよ
その時間をRustに当てなさい
ほんそれ
571: デフォルトの名無しさん [sage] 2024/10/29(火) 11:58:27.10 ID:IrbjK6II(1) AAS
Rustを関数型扱いするやつは
Rustも関数型もまるで理解してない
だから誰も真面目には相手してくれない
572: デフォルトの名無しさん [] 2024/10/29(火) 12:22:05.93 ID:dZcxKFDp(1) AAS
そう。世界がHaskellから孤立していく
世界はもっと危機感もった方が良いよ
573
(1): デフォルトの名無しさん [sage] 2024/10/29(火) 15:30:57.70 ID:+9FvEifI(1/2) AAS
実用プログラムに使った例はあるの?
574: デフォルトの名無しさん [sage] 2024/10/29(火) 16:00:48.67 ID:FJXFYfo2(1) AAS
>>567
MLとは全然ちゃうがな
HM型推論せんやろ
575
(1): デフォルトの名無しさん [] 2024/10/29(火) 22:29:59.15 ID:LPWWq4s4(1) AAS
>>573
自分も詳しくはないけど、クローズドな分野が多いんじゃない?
576: デフォルトの名無しさん [sage] 2024/10/29(火) 23:08:38.64 ID:+9FvEifI(2/2) AAS
>>575
秘密ということ、それじゃわからんと同じことじゃないか
577: デフォルトの名無しさん [] 2024/10/29(火) 23:25:09.95 ID:6SLkDv7J(1) AAS
世界は頭悪すぎてHaskellを使いこなせていない
世界はもっと危機感を持った方が良い
578: デフォルトの名無しさん [sage] 2024/10/30(水) 02:10:51.19 ID:p9nsrTZ/(1) AAS
急に主語が大きくなったぞωωω=2πf
579: デフォルトの名無しさん [sage] 2024/11/02(土) 09:15:14.82 ID:KpOoS8wa(1) AAS
クローズドな部分なら使ったうちには入らないな
580
(2): デフォルトの名無しさん [sage] 2024/11/02(土) 18:11:47.64 ID:3NvQMTDb(1/2) AAS
金融工学で使ってるとこあるかもね
OCamlが定番らしいし
581
(1): デフォルトの名無しさん [] 2024/11/02(土) 19:19:33.26 ID:Mufqfjtq(1) AAS
>>580
やはり実務ではフィンテックですか。

このスレで趣味教養的に
数理の応用実験や
アート作品生成プログラム記述用とかで
使ってる香具師いる?
582
(1): デフォルトの名無しさん [] 2024/11/02(土) 19:33:48.22 ID:pIz290+w(1/3) AAS
>>580
みずほでOCamlしか聞いたことない
結局大規模障害出ちゃったけど
583
(1): デフォルトの名無しさん [sage] 2024/11/02(土) 19:38:33.59 ID:3NvQMTDb(2/2) AAS
>>582
金融商品の設計に使うんだよ
その手の障害とは全く関係ない
584
(1): デフォルトの名無しさん [] 2024/11/02(土) 20:11:17.53 ID:pIz290+w(2/3) AAS
>>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関数の適用で考えた方が分かり易いかも)
585: デフォルトの名無しさん [] 2024/11/02(土) 20:16:43.59 ID:pIz290+w(3/3) AAS
>>583
そうなんだ。
そういうライブラリ頼みっぽい事なら、MathmacticaとかPythonのが良さそうなのにね。
金融商品だったら統計に強いRだってあるし。
なぜわざわざOCamlだったのやら…。
586
(1): デフォルトの名無しさん [sage] 2024/11/03(日) 11:40:35.68 ID:kGU90lSm(1) AAS
>>584
本スレ誘導
2chスレ:tech
587: デフォルトの名無しさん [sage] 2024/11/03(日) 17:33:41.03 ID:4RaSizfZ(1) AAS
その手のはかなり昔からの話だしその頃pythonはそんな一般的ではない
588: デフォルトの名無しさん [] 2024/11/03(日) 18:58:10.27 ID:W/WQS3jI(1) AAS
>>586
え…。
Haskellを何に使ってるか聞かれたから答えたのに、そりゃ無いよ。
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の中身自身がキャッシュするように改良されたのかも。
1-
あと 99 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.017s