関数型プログラミング言語Haskell Part34 (692レス)
上下前次1-新
67: デフォルトの名無しさん [] 2022/02/04(金) 08:30:39.02 ID:iaw7RH3I(1) AAS
完全に荒らしやろあれ
68: デフォルトの名無しさん [sage] 2022/02/08(火) 08:58:59.73 ID:t2yWr+Jt(1) AAS
Haskellって日本人に受けそうで実際一時期話題になったけど
結局下火になっちゃったね
なんでだろう
69: デフォルトの名無しさん [] 2022/02/08(火) 12:34:20.88 ID:iTFetD6R(1) AAS
haskellでしばらく何かを学んだら、元いたところに帰っていくんじゃないかな
70(1): デフォルトの名無しさん [sage] 2022/02/09(水) 10:14:27.54 ID:9eeUOmy1(1) AAS
型とGCが下火になったから
型無しならPython
GC無しならRustに行く
71: デフォルトの名無しさん [sage] 2022/02/09(水) 10:49:56.61 ID:Lp+6eS6t(1) AAS
型下火になることなんてある?
72: デフォルトの名無しさん [sage] 2022/02/09(水) 13:51:00.40 ID:LMpY9ePh(1) AAS
>>70の中では下火になったんだろ
73: デフォルトの名無しさん [sage] 2022/02/09(水) 14:32:04.90 ID:4IAm5Mq6(1) AAS
両方なしならどこへ行けばいい?
74: デフォルトの名無しさん [sage] 2022/02/09(水) 16:30:45.01 ID:tjRbJd/i(1) AAS
両方ないならAPIと言語が無関係なクラウドみたいな感じになりそう
75: デフォルトの名無しさん [sage] 2022/02/09(水) 19:00:25.72 ID:/Rs/AQCx(1) AAS
Cじゃだめなん?
あと、型なしじゃなくて、動的型で良ければ、
Objective-Cがかなり自由度高かった気がする。
76: デフォルトの名無しさん [sage] 2022/02/10(木) 14:08:35.36 ID:Rx8BtNec(1) AAS
単純に難しいからだろ
元の言語仕様はシンプルなのに、ソフトウェア工学的なノウハウに基づいてOOPと同等以上の実装を実現しようとすると、とたんに大量のGHC拡張と難解な型が出てきてわけわからんくなる
77: デフォルトの名無しさん [sage] 2022/02/10(木) 17:05:47.42 ID:0/0SR33O(1) AAS
lensの型とか複雑すぎる
78: デフォルトの名無しさん [sage] 2022/02/11(金) 01:01:15.27 ID:oG7lMZNP(1) AAS
setterの存在自体がマナー違反ということにすればある意味単純なんだよ
マナー違反したせいで複雑すぎるのは自己責任、言語のせいにするなってね
79(1): デフォルトの名無しさん [] 2022/02/12(土) 14:38:21.43 ID:3EVMkjej(1) AAS
岡部健
80: デフォルトの名無しさん [sage] 2022/02/12(土) 14:59:18.26 ID:MmDcA0PA(1) AAS
>>79
こいつに“H“はムリ(爆)
“三擦り半“で昇天するよw
81: デフォルトの名無しさん [sage] 2022/02/13(日) 02:50:13.95 ID:gJE3VDE6(1) AAS
GHC方言とかの知識が豊富な奴ってどちらかといえば反抗的な性格だと思う
それなのに、オリジナルの仕様への忠誠心が高ければ高いほど有能みたいな誤解がある
その上更にいかにも忠誠心なさそうなキャラまで作られてるし
82(2): デフォルトの名無しさん [] 2022/02/14(月) 11:54:21.19 ID:4AqyxcJv(1/4) AAS
最近数値計算の勉強してるんですけど、よく最近高速フーリエ変換を用いた乗算の高速化なんて話が出てきます
サイズの大きい整数の掛け算とかを高速化する手法で桁数n同士の乗算のコストをn log(n)に抑えるのだとか
これGHCのInteger型の乗算には応用されてますかね?
やっぱりそこまで速さに拘りたいならご自分でのスタンス?
GHCのソースが読めるほどのスキルはないのでよくわからない
そもそもGHCのソースってどこに転がってます?
83(1): デフォルトの名無しさん [sage] 2022/02/14(月) 20:10:36.04 ID:TSLH56nb(1) AAS
>>82
ghc haskell ソース でググれば見つかる
84: デフォルトの名無しさん [sage] 2022/02/14(月) 20:56:01.04 ID:uQiQyHca(1) AAS
ソースを1行も読まなくても分かることがいくつかある
IntとIntegerの二刀流ができるなら三刀流もできること
第二第三の型を追加するだけのためにコンパイラをコンパイルするのは無意味過ぎること
85: デフォルトの名無しさん [] 2022/02/14(月) 21:36:02.36 ID:4AqyxcJv(2/4) AAS
>>82
見つからないorz
>>83
ちょっと数値計算の練習したいんですよ
例えば円周率10万桁とか
さすがに10万桁とかだとghcはデフォルトでは対応してくれないのかなと
仮にできるにしても10万桁×10万桁の計算で桁数^2オーダーで計算したのではその一個の掛け算で何年もかかってしまうことになりかねません
ただのarrayやlistなら10万要素位は扱ってくれそうですけど
ただHaskellでその手の大量データを扱うのは色々難しい問題があるらしいと言う話は聞いてたので今までは「そういうのはHaskellは向かない、そういう時はC」とか使い分けてました
しかしやはりHaskellでできないのは面白くないのでHaskellでもそういうでかいデータを扱えるスキルを身につけたいなぁというのもあります
まぁまだFFTでの掛け算プログラム勉強し始めたばっかりなので先は長そうですけど
とりあえず[Double]のFFTと逆FFT作ったとこまではやったんです
でもそこまで作って「アレ?もしかしてこんなの自作しなくてもそもそもHaskellのIntegerが最初からFFTで掛け算してるとかあるかも?GHCの開発者メチャメチャ優秀っぽいし」と思った次第
86: デフォルトの名無しさん [] 2022/02/14(月) 21:36:29.77 ID:4AqyxcJv(3/4) AAS
あら、アンカー一個ずれ
87(1): デフォルトの名無しさん [sage] 2022/02/14(月) 21:54:21.41 ID:BjFXlOcH(1) AAS
GMP使ってるかもしれないし使ってないかもしれないらしい[1]
GMP使ってるならFFTベースのSchonhage-Strassenが働くしGMP使いたいならライブラリ[2]がある
[1]外部リンク:stackoverflow.com
[2]外部リンク:hackage.haskell.org
88: デフォルトの名無しさん [] 2022/02/14(月) 23:13:34.14 ID:4AqyxcJv(4/4) AAS
>>87
おお、thx
なるほどGMPというのを使ってるんですね
--Stack excangeより
GMP appears to use Schonhage-Strassen, but not until you start dealing with numbers with 10s of thousands of decimal digits.
GMPではSchonhage-Strassenを使用しているようですが、小数点以下が何万桁もあるような数字を扱うようになるまでは、このようなことはないようです。
--wikiより
GMPは、どんなオペランドの大きさでも他の多倍長整数ライブラリよりも高速であることを目標としている。このために、以下の点を重視している。
基本算術型としてフルワードを使う。
オペランドの大きさによってそれぞれ異なるアルゴリズムを使う。非常に大きな数に有効なアルゴリズムは、小さい数では遅いことが多い。
----
要するに自分でわざわざSchonhage-Strassenのアルゴリズム実装しなくてもそもそもintegerで実装済みという事ですね
そうじゃないかと思ったw
そりゃそうでしょうねぇ、こんな優秀なソフトが数値計算理論の最新の成果取り入れてないわけがないw
10万桁とかIntegerで扱えるのかな?
実はData.FixedにあるFixed aで100桁くらいは余裕というのは確認済みなんです
週末にでも桁数増やして実験してみます
ありがとうございました
89(1): デフォルトの名無しさん [sage] 2022/02/15(火) 00:40:37.96 ID:2crEr/EW(1) AAS
Haskellの多倍長計算、昔は大変だったけど今はよくなった、みたいな記事が10年前くらいに書かれてた
外部リンク[html]:tanakh.jp
90: デフォルトの名無しさん [] 2022/02/15(火) 19:39:32.71 ID:ujR6VeHM(1) AAS
>>89
おお、先人がいたww
いや〜Haskellって速さ求めるならあんまりいい選択肢ではなさそうですけどやっぱり挑戦してみたくなりますね
その人のページのリンク先がすごく参考になりました
ようやくChudnovskyの公式とかいうのがなんで最速なのかわかりました
収束速度そのものはどう考えてもAGMの方が早いのになんでChudnovskyの方が早いんだと
Binary Splittingという技使ってまとめて計算していく方法があるんですね
ちょっと感動しました
まぁともかくInteger型の計算で10億桁くらいまで実用的な?速度で計算できるもんなんですね
ボチボチやってみます
91(1): デフォルトの名無しさん [sage] 2022/03/28(月) 00:29:30.89 ID:dN2icdd7(1) AAS
Haskell昔は日本でも人気あったのにどうしてこうなった
上下前次1-新書関写板覧索設栞歴
あと 601 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.020s