関数型プログラミング言語Haskell Part34 (667レス)
関数型プログラミング言語Haskell Part34 http://mevius.5ch.net/test/read.cgi/tech/1639713446/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
72: デフォルトの名無しさん [sage] 2022/02/09(水) 13:51:00.40 ID:LMpY9ePh >>70の中では下火になったんだろ http://mevius.5ch.net/test/read.cgi/tech/1639713446/72
73: デフォルトの名無しさん [sage] 2022/02/09(水) 14:32:04.90 ID:4IAm5Mq6 両方なしならどこへ行けばいい? http://mevius.5ch.net/test/read.cgi/tech/1639713446/73
74: デフォルトの名無しさん [sage] 2022/02/09(水) 16:30:45.01 ID:tjRbJd/i 両方ないならAPIと言語が無関係なクラウドみたいな感じになりそう http://mevius.5ch.net/test/read.cgi/tech/1639713446/74
75: デフォルトの名無しさん [sage] 2022/02/09(水) 19:00:25.72 ID:/Rs/AQCx Cじゃだめなん? あと、型なしじゃなくて、動的型で良ければ、 Objective-Cがかなり自由度高かった気がする。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/75
76: デフォルトの名無しさん [sage] 2022/02/10(木) 14:08:35.36 ID:Rx8BtNec 単純に難しいからだろ 元の言語仕様はシンプルなのに、ソフトウェア工学的なノウハウに基づいてOOPと同等以上の実装を実現しようとすると、とたんに大量のGHC拡張と難解な型が出てきてわけわからんくなる http://mevius.5ch.net/test/read.cgi/tech/1639713446/76
77: デフォルトの名無しさん [sage] 2022/02/10(木) 17:05:47.42 ID:0/0SR33O lensの型とか複雑すぎる http://mevius.5ch.net/test/read.cgi/tech/1639713446/77
78: デフォルトの名無しさん [sage] 2022/02/11(金) 01:01:15.27 ID:oG7lMZNP setterの存在自体がマナー違反ということにすればある意味単純なんだよ マナー違反したせいで複雑すぎるのは自己責任、言語のせいにするなってね http://mevius.5ch.net/test/read.cgi/tech/1639713446/78
79: デフォルトの名無しさん [] 2022/02/12(土) 14:38:21.43 ID:3EVMkjej 岡部健 http://mevius.5ch.net/test/read.cgi/tech/1639713446/79
80: デフォルトの名無しさん [sage] 2022/02/12(土) 14:59:18.26 ID:MmDcA0PA >>79 こいつに“H“はムリ(爆) “三擦り半“で昇天するよw http://mevius.5ch.net/test/read.cgi/tech/1639713446/80
81: デフォルトの名無しさん [sage] 2022/02/13(日) 02:50:13.95 ID:gJE3VDE6 GHC方言とかの知識が豊富な奴ってどちらかといえば反抗的な性格だと思う それなのに、オリジナルの仕様への忠誠心が高ければ高いほど有能みたいな誤解がある その上更にいかにも忠誠心なさそうなキャラまで作られてるし http://mevius.5ch.net/test/read.cgi/tech/1639713446/81
82: デフォルトの名無しさん [] 2022/02/14(月) 11:54:21.19 ID:4AqyxcJv 最近数値計算の勉強してるんですけど、よく最近高速フーリエ変換を用いた乗算の高速化なんて話が出てきます サイズの大きい整数の掛け算とかを高速化する手法で桁数n同士の乗算のコストをn log(n)に抑えるのだとか これGHCのInteger型の乗算には応用されてますかね? やっぱりそこまで速さに拘りたいならご自分でのスタンス? GHCのソースが読めるほどのスキルはないのでよくわからない そもそもGHCのソースってどこに転がってます? http://mevius.5ch.net/test/read.cgi/tech/1639713446/82
83: デフォルトの名無しさん [sage] 2022/02/14(月) 20:10:36.04 ID:TSLH56nb >>82 ghc haskell ソース でググれば見つかる http://mevius.5ch.net/test/read.cgi/tech/1639713446/83
84: デフォルトの名無しさん [sage] 2022/02/14(月) 20:56:01.04 ID:uQiQyHca ソースを1行も読まなくても分かることがいくつかある IntとIntegerの二刀流ができるなら三刀流もできること 第二第三の型を追加するだけのためにコンパイラをコンパイルするのは無意味過ぎること http://mevius.5ch.net/test/read.cgi/tech/1639713446/84
85: デフォルトの名無しさん [] 2022/02/14(月) 21:36:02.36 ID:4AqyxcJv >>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の開発者メチャメチャ優秀っぽいし」と思った次第 http://mevius.5ch.net/test/read.cgi/tech/1639713446/85
86: デフォルトの名無しさん [] 2022/02/14(月) 21:36:29.77 ID:4AqyxcJv あら、アンカー一個ずれ http://mevius.5ch.net/test/read.cgi/tech/1639713446/86
87: デフォルトの名無しさん [sage] 2022/02/14(月) 21:54:21.41 ID:BjFXlOcH GMP使ってるかもしれないし使ってないかもしれないらしい[1] GMP使ってるならFFTベースのSchonhage-Strassenが働くしGMP使いたいならライブラリ[2]がある [1]https://stackoverflow.com/questions/57688078/what-is-the-algorithm-used-in-integer-multiplication [2]https://hackage.haskell.org/package/integer-gmp http://mevius.5ch.net/test/read.cgi/tech/1639713446/87
88: デフォルトの名無しさん [] 2022/02/14(月) 23:13:34.14 ID:4AqyxcJv >>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桁くらいは余裕というのは確認済みなんです 週末にでも桁数増やして実験してみます ありがとうございました http://mevius.5ch.net/test/read.cgi/tech/1639713446/88
89: デフォルトの名無しさん [sage] 2022/02/15(火) 00:40:37.96 ID:2crEr/EW Haskellの多倍長計算、昔は大変だったけど今はよくなった、みたいな記事が10年前くらいに書かれてた http://tanakh.jp/posts/2012-03-08-pi.html http://mevius.5ch.net/test/read.cgi/tech/1639713446/89
90: デフォルトの名無しさん [] 2022/02/15(火) 19:39:32.71 ID:ujR6VeHM >>89 おお、先人がいたww いや〜Haskellって速さ求めるならあんまりいい選択肢ではなさそうですけどやっぱり挑戦してみたくなりますね その人のページのリンク先がすごく参考になりました ようやくChudnovskyの公式とかいうのがなんで最速なのかわかりました 収束速度そのものはどう考えてもAGMの方が早いのになんでChudnovskyの方が早いんだと Binary Splittingという技使ってまとめて計算していく方法があるんですね ちょっと感動しました まぁともかくInteger型の計算で10億桁くらいまで実用的な?速度で計算できるもんなんですね ボチボチやってみます http://mevius.5ch.net/test/read.cgi/tech/1639713446/90
91: デフォルトの名無しさん [sage] 2022/03/28(月) 00:29:30.89 ID:dN2icdd7 Haskell昔は日本でも人気あったのにどうしてこうなった http://mevius.5ch.net/test/read.cgi/tech/1639713446/91
92: デフォルトの名無しさん [sage] 2022/03/28(月) 00:37:16.39 ID:NMG6YJEi 人気ないって事? そりゃそうでしょ? お世辞にも使いやすいとは言えない http://mevius.5ch.net/test/read.cgi/tech/1639713446/92
93: デフォルトの名無しさん [sage] 2022/03/28(月) 17:03:01.17 ID:o+cr0I/L >>92 使いにくいと感じるところを教えてください http://mevius.5ch.net/test/read.cgi/tech/1639713446/93
94: デフォルトの名無しさん [sage] 2022/03/28(月) 18:04:03.42 ID:kSkV8rOb 文字列操作のパッケージを作っている。 1文字づつ評価して処理するのは出来るけど ループで実現しようとすると、上手くいかない。 [Char]型とString型で混ぜて作ったせいか ボトムアップ方式で作るのが間違えなのか。 まだまだ初心者の愚痴。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/94
95: デフォルトの名無しさん [sage] 2022/04/07(木) 21:21:24.28 ID:v9cHeTKb Stringは[Char]の別名だが http://mevius.5ch.net/test/read.cgi/tech/1639713446/95
96: デフォルトの名無しさん [sage] 2022/04/08(金) 04:13:38.57 ID:ZfK1p/yR Haskell-jp slackってどうなの? http://mevius.5ch.net/test/read.cgi/tech/1639713446/96
97: デフォルトの名無しさん [sage] 2022/04/08(金) 13:18:29.82 ID:7u/c8YSR とりあえず入ってみたら? http://mevius.5ch.net/test/read.cgi/tech/1639713446/97
98: デフォルトの名無しさん [sage] 2022/05/25(水) 23:07:08.21 ID:HGLTMsh1 >>91 純粋関数型といいつつ実際にはそうではないし 結局はモナドも使わなきゃ実用的なものは作れない よく例題に上がるようなシンプルな書き方すると遅いし Lispでも同じようにあった問題で綺麗な書き方よりも早い書き方が重視される そうこうしているうちにどんどん人は離れていったよ 理念が現実に負けたのだと思う・・ http://mevius.5ch.net/test/read.cgi/tech/1639713446/98
99: デフォルトの名無しさん [sage] 2022/05/25(水) 23:31:09.11 ID:HGLTMsh1 あとそうだ なによりもデバッグがあまりに困難すぎるし デバッグのために型制約とか何バカやってんだろな・・って思うことしばしば 作業環境が悪いのがまるで改善されないから嫌になる http://mevius.5ch.net/test/read.cgi/tech/1639713446/99
100: デフォルトの名無しさん [sage] 2022/05/27(金) 23:36:10.66 ID:IybSybG6 型はコンパイル時にしか存在しない モナドクラスもコンパイル時にしか使わない 実行時に使われているのはモナドのインスタンスのみ そのインスタンスは任意の言語で再発明できる どの言語でデバッグしても困難は同じ 結局は再発明をやらなきゃ実用的な知識が身につかない http://mevius.5ch.net/test/read.cgi/tech/1639713446/100
101: デフォルトの名無しさん [sage] 2022/05/27(金) 23:58:56.33 ID:IeVDSTdQ 今だにprintfデバッグに頼ってるなんてHaskellくらいのものかもね・・ http://mevius.5ch.net/test/read.cgi/tech/1639713446/101
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 566 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.014s