関数型プログラミング言語Haskell Part34 (688レス)
関数型プログラミング言語Haskell Part34 http://mevius.5ch.net/test/read.cgi/tech/1639713446/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
67: デフォルトの名無しさん [] 2022/02/04(金) 08:30:39.02 ID:iaw7RH3I 完全に荒らしやろあれ http://mevius.5ch.net/test/read.cgi/tech/1639713446/67
68: デフォルトの名無しさん [sage] 2022/02/08(火) 08:58:59.73 ID:t2yWr+Jt Haskellって日本人に受けそうで実際一時期話題になったけど 結局下火になっちゃったね なんでだろう http://mevius.5ch.net/test/read.cgi/tech/1639713446/68
69: デフォルトの名無しさん [] 2022/02/08(火) 12:34:20.88 ID:iTFetD6R haskellでしばらく何かを学んだら、元いたところに帰っていくんじゃないかな http://mevius.5ch.net/test/read.cgi/tech/1639713446/69
70: デフォルトの名無しさん [sage] 2022/02/09(水) 10:14:27.54 ID:9eeUOmy1 型とGCが下火になったから 型無しならPython GC無しならRustに行く http://mevius.5ch.net/test/read.cgi/tech/1639713446/70
71: デフォルトの名無しさん [sage] 2022/02/09(水) 10:49:56.61 ID:Lp+6eS6t 型下火になることなんてある? http://mevius.5ch.net/test/read.cgi/tech/1639713446/71
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
102: デフォルトの名無しさん [sage] 2022/05/28(土) 00:21:10.26 ID:1xwNIN3l Cのライブラリに丸投げする効率化を考えれば デバッグの効率化にはこだわらない方が丸投げしやすい http://mevius.5ch.net/test/read.cgi/tech/1639713446/102
103: デフォルトの名無しさん [sage] 2022/07/18(月) 03:26:49.61 ID:zDzunRmU なんでここまで人気なくなったんだろうな http://mevius.5ch.net/test/read.cgi/tech/1639713446/103
104: デフォルトの名無しさん [sage] 2022/07/18(月) 14:14:58.82 ID:IRYfc5Qz 声の大きい人たちが使わなくなっただけでは http://mevius.5ch.net/test/read.cgi/tech/1639713446/104
105: デフォルトの名無しさん [sage] 2022/07/19(火) 17:39:52.93 ID:6V/PH7AR 個人が言語を自作できるレベルになってる説 団体は必須ではない http://mevius.5ch.net/test/read.cgi/tech/1639713446/105
106: デフォルトの名無しさん [sage] 2022/08/07(日) 20:06:46.56 ID:My+goEll ハマりました 次のコード通らん理由が分からん import Data.Ratio [[ a,b],[c,d]] *** [[ p,q],[r,s]] = [ [ a*p+b*r, a*q+b*s], [c*p+d*r],[c*q+d*s]] i [[ a,b],[c,d]] = [[d,-b],[-c,a]] a :: [[Rational ]] b:: [[Rational ]] a = [[1%1,99],[0,100]] b = [[100,0],[-99,1]] main = do mapM_ print $ [ a, b , i a , i b] print $ (( i b ) *** ( i a ) ) *** b 実行時エラーで prog: prog.hs:4:1-79: Non-exhaustive patterns in function になる 一項目のprintの出力 [[1 % 1,99 % 1],[0 % 1,100 % 1]] [[100 % 1,0 % 1],[(-99) % 1,1 % 1]] [[100 % 1,(-99) % 1],[0 % 1,1 % 1]] [[1 % 1,0 % 1],[99 % 1,100 % 1]] を見てもどう見てもパターンマッチしてるのに? 何故? http://mevius.5ch.net/test/read.cgi/tech/1639713446/106
107: デフォルトの名無しさん [sage] 2022/08/08(月) 19:26:19.73 ID:NwZYLTPj >>106 リストの長さがマッチしてない 長さが2でないリストをどこで作ったのかはソースを読めば分かる ***は長さが3のリストを返す http://mevius.5ch.net/test/read.cgi/tech/1639713446/107
108: デフォルトの名無しさん [sage] 2022/08/09(火) 10:46:53.89 ID:VUIfOlq+ >>107 あ、ホントだ コピペミスかなんかか thx http://mevius.5ch.net/test/read.cgi/tech/1639713446/108
109: デフォルトの名無しさん [sage] 2022/08/11(木) 18:04:41.32 ID:9dSVJvSP おまいらこのクソ暑い夏をどうにかするCOOLなコードをHaskellで簡潔に書けんのか? http://mevius.5ch.net/test/read.cgi/tech/1639713446/109
110: デフォルトの名無しさん [sage] 2022/08/25(木) 11:20:55.19 ID:97f0Pf6Z ttps://hackage.haskell.org/package/mtl-2.3/docs/src/Control.Monad.Writer.Class.html#tell listen ~(w, a) = (w, (a, w)) この~はどういう文法なの? http://mevius.5ch.net/test/read.cgi/tech/1639713446/110
111: デフォルトの名無しさん [sage] 2022/08/25(木) 21:14:39.81 ID:+PRPT5FW https://www.sampou.org/haskell/tutorial-j/patterns.html#tut-lazy-patterns http://mevius.5ch.net/test/read.cgi/tech/1639713446/111
112: デフォルトの名無しさん [sage] 2022/08/25(木) 21:15:08.79 ID:3SQ1xNiu stack でwxHaskell インストールしようとしたんだが、 > stack install wxHaskell とすると Unknown package: wxhaskell とでてインストールできない。 StackだとwxHaskellインストールできないの?んなわけないと思うんだが。 公式見てもstackの場合の方法が書いてない。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/112
113: デフォルトの名無しさん [sage] 2022/08/29(月) 23:25:47.74 ID:mJ1Da6QY stackage に入っていないからじゃないかな? 最近アップデートされていないし 並行処理も問題ありそうだし… stack と GUI で検索したらこんな記事があった https://www.stackbuilders.com/blog/gui-application/ http://mevius.5ch.net/test/read.cgi/tech/1639713446/113
114: デフォルトの名無しさん [sage] 2022/08/30(火) 19:30:33.33 ID:XzDfLd3k みんな中央集権クラウドに騙されてる http://mevius.5ch.net/test/read.cgi/tech/1639713446/114
115: デフォルトの名無しさん [sage] 2022/09/10(土) 21:18:15.99 ID:Jyomj+F3 ボトルネックは事実上バグと変わらないから 結局パフォーマンスを考えると Haskellはバグが混入しやすい言語と言える しかも入出力は正しいから解決がクッソ厄介で実用性はない http://mevius.5ch.net/test/read.cgi/tech/1639713446/115
116: デフォルトの名無しさん [sage] 2022/09/10(土) 23:20:56.83 ID:6vG8VA3K ロマン思考言語_ http://mevius.5ch.net/test/read.cgi/tech/1639713446/116
117: デフォルトの名無しさん [sage] 2022/09/11(日) 00:14:39.94 ID:HO9VQuZG まあ合ってるな http://mevius.5ch.net/test/read.cgi/tech/1639713446/117
118: デフォルトの名無しさん [sage] 2022/09/20(火) 01:04:13.74 ID:zJWv8hkC ghci --show-options | wc -l Output: 1200 http://mevius.5ch.net/test/read.cgi/tech/1639713446/118
119: デフォルトの名無しさん [sage] 2022/09/24(土) 01:20:51.22 ID:v6+/ywPo 書き込んでいた専門家たちが書き込みをやめたので下火になっている感が出ているわけですね。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/119
120: デフォルトの名無しさん [sage] 2022/09/24(土) 02:26:09.94 ID:vtJ0GRzX イヤ、でも実際した火なんじゃない? やっぱりHaskellで“性能”と“可読性”の両立を図るのはかなり難しい やっぱり言語の生い立ちというか、性格というか、性能面、特に速度面の性能面はどうしても優先順位が低い、しかし実務上はもちろんそこは最重要factorだからそこがでないとした火になるのもやむを得ないかと http://mevius.5ch.net/test/read.cgi/tech/1639713446/120
121: デフォルトの名無しさん [sage] 2022/09/24(土) 03:13:03.66 ID:v6+/ywPo 仕組みはわからんが計画的だろ。 言い換えると、騒ぐ奴らがうざいから騒がなくなるまで下火なんだろう。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/121
122: デフォルトの名無しさん [sage] 2022/09/24(土) 03:21:31.25 ID:cIbikbIQ てか元々世界のメジャーな言語に躍り出ようというつもりなんかHaskellコミュニティにはないのかもね Haskellコミュニティなんて学者の集合体でしょ? 実務になんか元々興味ないんじゃない? http://mevius.5ch.net/test/read.cgi/tech/1639713446/122
123: デフォルトの名無しさん [sage] 2022/09/24(土) 17:34:21.27 ID:v6+/ywPo StackでGUIプログラミングしたいのですが、stackでインストールできるライブラリで おすすめのものはありますか。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/123
124: デフォルトの名無しさん [] 2022/09/27(火) 18:16:48.82 ID:2m9lsdvh haskellで作ったチェスゲームありますか コマとボードはきれいなグラフィックで マウスでコマを動かすチェス http://mevius.5ch.net/test/read.cgi/tech/1639713446/124
125: デフォルトの名無しさん [] 2022/09/27(火) 19:10:55.70 ID:rbvXlCo3 来年のRustがこの状態。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/125
126: デフォルトの名無しさん [sage] 2022/09/27(火) 19:55:55.43 ID:CVmtKHy4 Haskellに飛びつく層は Rustには飛びつかんよね Rustには面白みが無い http://mevius.5ch.net/test/read.cgi/tech/1639713446/126
127: デフォルトの名無しさん [sage] 2022/09/27(火) 20:30:27.34 ID:Ctbd02WQ とにもかくにももう少しHaskellは速度性能を出すための方法の標準化について詰めてほしい Haskell2010の文章のメモ化の部分の詰めがダメすぎる 実情のGHCとかで提供されてるものと差がありすぎて意味がわからん GHCでの研究成果をもっと標準仕様に取り入れてほしい 何をどうやったら確実にドレコレはメモ化されるかハッキリ文書化してほしい http://mevius.5ch.net/test/read.cgi/tech/1639713446/127
128: デフォルトの名無しさん [sage] 2022/09/28(水) 02:23:18.14 ID:4krAnsc6 整理する気がないからな どんどんカオスになって行く http://mevius.5ch.net/test/read.cgi/tech/1639713446/128
129: デフォルトの名無しさん [sage] 2022/09/29(木) 03:37:20.42 ID:IPtlf3/T いまだにGHCというとGuarded Horn Clausesの方のGHCを先に思い出す http://mevius.5ch.net/test/read.cgi/tech/1639713446/129
130: デフォルトの名無しさん [sage] 2022/10/01(土) 19:53:52.72 ID:7gwAD0df 1番実用的な関数型言語やその影響が強い言語って何になるの? http://mevius.5ch.net/test/read.cgi/tech/1639713446/130
131: デフォルトの名無しさん [sage] 2022/10/01(土) 20:00:27.14 ID:IQLzQmPp Cじゃね http://mevius.5ch.net/test/read.cgi/tech/1639713446/131
132: デフォルトの名無しさん [sage] 2022/10/01(土) 22:58:35.36 ID:76wmMtDf 標準規格を一番忠実に実装した奴が優勝みたいな考え方は全然数学的ではない http://mevius.5ch.net/test/read.cgi/tech/1639713446/132
133: デフォルトの名無しさん [sage] 2022/10/03(月) 18:02:59.08 ID:LGdcguEE lisp系やocamlとか。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/133
134: デフォルトの名無しさん [sage] 2022/10/04(火) 08:48:04.42 ID:S20URLlI ルールがない状態からルールが守られている状態へ誘導するか 何もしてないのに持続するルールを拾い集めるかの違い http://mevius.5ch.net/test/read.cgi/tech/1639713446/134
135: デフォルトの名無しさん [] 2022/10/07(金) 20:15:05.17 ID:xpYSJYo6 F#では。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/135
136: デフォルトの名無しさん [] 2022/10/07(金) 20:28:34.11 ID:lAeL408c Erlang http://mevius.5ch.net/test/read.cgi/tech/1639713446/136
137: デフォルトの名無しさん [sage] 2022/10/14(金) 22:28:23.68 ID:GVf4qcGD ラムダや <- や case で束縛される変数の値は二回以上計算されない seqは計算のタイミングを変える効果しかない 難しいのは = で定義される名前だが = の右辺で頑張ってseqを使っても報われない http://mevius.5ch.net/test/read.cgi/tech/1639713446/137
138: デフォルトの名無しさん [sage] 2022/10/14(金) 23:54:06.57 ID:91YiMGAd でもhaskell 2010 reportには評価順を変える方法はseqしか規定されていない GHQなどの実際の処理系でそれ以外のタイミングでメモ化されたりするのはあくまで処理系の独自仕様でしかない ある処理系でメモ化されて早かったプログラムが別の処理系で同じ速度で処理してくれる保証などどこにもない http://mevius.5ch.net/test/read.cgi/tech/1639713446/138
139: デフォルトの名無しさん [sage] 2022/10/15(土) 08:05:01.19 ID:/BlEbfcm >>138 もしかして、個人の感想のようなものを悪と思ってるのかね そして客観的事実 (ようするに絶対正しい事実) と称するものが正義だと 個人の感想を排除するべきという思想はどこにも規定されてないでしょ http://mevius.5ch.net/test/read.cgi/tech/1639713446/139
140: デフォルトの名無しさん [sage] 2022/10/15(土) 09:49:59.76 ID:fUoifk8c メモ化に関しては俺も>>138と同じような感想持ってるな http://mevius.5ch.net/test/read.cgi/tech/1639713446/140
141: デフォルトの名無しさん [sage] 2022/10/15(土) 10:11:19.74 ID:/BlEbfcm ある人の感想が別の人の感想と同じになる保証はどこにもない 保証がなくても特に問題ないと判明したならそれでいい http://mevius.5ch.net/test/read.cgi/tech/1639713446/141
142: デフォルトの名無しさん [sage] 2022/10/15(土) 10:19:45.48 ID:+yYiQ+MP 一番嫌なのはネットに転がってるすごいスッキリしたプログラムがあって「おお、すげぇ」と思っても結局それはGHCのメモ化の恩恵でしかなくHaskell本来のそれではないので別の処理系では通用しないものであったりする事 事実上GHCが標準なのでGHCで早ければ「早いプログラムが書けない事はない」のではあるけど、じゃあGHCはどんな時は気をきかせてメモ化してくれるのか、どんな時はその事を利用して早い、しかし短い、わかりやすいプログラムを書けるのかはHaskell 2010 reportではなくGHCの方の仕様書を読むか、実験してみるかしかない、しかし前者はそもそもGHCの仕様書そのものどこにあるかわからないんだけど見つけてもおそらくメモ化の理論は相当に難しい論文レベルの話、さりとて実験で詰めていくのはデバッグと同じレベルのかなり苦痛な作業で、しかも完成したものは大概速さのために可読性をかなり犠牲にしないといけないものになる、当然可搬性も落ちてる GHCがやってくれてる事全てでなくてもいいけどネットによく転がってるフィボナッチ数列とか素数生成とかのGHCの良きに計らってくれる機能を利用したスッキリした、けど早いプログラムくらいまでは標準化して全ての処理系で動くようにしてほしいけどね http://mevius.5ch.net/test/read.cgi/tech/1639713446/142
143: デフォルトの名無しさん [sage] 2022/10/15(土) 11:46:05.26 ID:fUoifk8c まあ実際のところメモ化を考え出したら Lispと同じように可読性を犠牲にした速度重視のコードしか生まれないので・・ メモ化は考えないのが筋だけどそうすると実用性は皆無であってつまり http://mevius.5ch.net/test/read.cgi/tech/1639713446/143
144: デフォルトの名無しさん [sage] 2022/10/15(土) 15:59:55.52 ID:/BlEbfcm LispとHaskellの違いで重要なのは モジュールの定義をインタラクティブにやらないこと ghci起動時に全てのモジュールが定義され最後に mainや他の式を評価・実行するところだけがインタラクティブ そもそもmodule Main whereとかいうのは式ではない 式ではないから評価順序という考え方がそこでは通用しない http://mevius.5ch.net/test/read.cgi/tech/1639713446/144
145: デフォルトの名無しさん [sage] 2022/11/03(木) 00:12:52.63 ID:A4mGU1Ql GHCがデファクトだしこだわりがなければ他のコンパイラを使うこともないでしょ とはいえ関数型言語って速度を重視するタスクには向かないでしょ 速さを求めるのが間違い http://mevius.5ch.net/test/read.cgi/tech/1639713446/145
146: デフォルトの名無しさん [sage] 2022/11/03(木) 01:14:31.73 ID:+2fbLBnA Symbolicsが失敗した事例を思い出す あれも理想を追求したはいいけど何をやってもひたすら遅く 他社はそれより早く安い機材を次々と繰り出していた 当然惨敗は必然だった http://mevius.5ch.net/test/read.cgi/tech/1639713446/146
147: デフォルトの名無しさん [sage] 2022/11/03(木) 06:02:33.84 ID:A4mGU1Ql 静的な型付けによる頑健性だとrustがあるしなぁ http://mevius.5ch.net/test/read.cgi/tech/1639713446/147
148: デフォルトの名無しさん [sage] 2022/11/03(木) 11:53:42.15 ID:k32TY8HF 結局のところHaskellの言語策定をしてるコミュニティは学者さんのコミュニティで実用的な性能を向上させる事にそもそも興味ないから実務面での有用性を期待するのは無理やね http://mevius.5ch.net/test/read.cgi/tech/1639713446/148
149: デフォルトの名無しさん [sage] 2022/11/04(金) 01:33:00.25 ID:ggdePY4U まあそうだろうな http://mevius.5ch.net/test/read.cgi/tech/1639713446/149
150: デフォルトの名無しさん [sage] 2022/11/05(土) 10:09:23.49 ID:nyx0vuE5 >>142 の指摘って他の言語のGCにもそのまま当てはまると思う。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/150
151: デフォルトの名無しさん [] 2022/11/06(日) 14:53:18.67 ID:p6fV7yyc Haskellで開発している会社ってどこがあるの? 検索するとHERPやTuruCapitalしか出てこない… http://mevius.5ch.net/test/read.cgi/tech/1639713446/151
152: デフォルトの名無しさん [] 2022/11/06(日) 16:00:47.05 ID:8Hp8Ymz2 GHC9.4.3 リリース http://mevius.5ch.net/test/read.cgi/tech/1639713446/152
153: デフォルトの名無しさん [sage] 2022/11/06(日) 16:35:55.22 ID:MgGeIf3l Haskell wikiに載ってるやつ見るに、部分的にHaskellを使うって感じかなぁ http://mevius.5ch.net/test/read.cgi/tech/1639713446/153
154: デフォルトの名無しさん [sage] 2022/11/06(日) 18:08:25.72 ID:SOHxH3HV >>151 一時期富士通が募集してたことがあったような もうないからやめたのだろうけど http://mevius.5ch.net/test/read.cgi/tech/1639713446/154
155: デフォルトの名無しさん [] 2022/11/06(日) 19:47:21.37 ID:p6fV7yyc あと朝日ネットの募集要項はHaskellがありました 朝日ネットに応募してみようかなぁ。 HERPはリファレンスチェックが面倒…(上司とかと会話したくない) http://mevius.5ch.net/test/read.cgi/tech/1639713446/155
156: デフォルトの名無しさん [sage] 2022/11/07(月) 00:00:47.60 ID:35GjxAYG facebookも使ってた気がする。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/156
157: デフォルトの名無しさん [] 2022/11/07(月) 00:41:59.56 ID:aVSF4vDw Haskellの求人、あまり見つからないんですが、言語として微妙な感じなんでしょうか…? HaskellでできることはPython、Java、Go、Scalaでできる、みたいな… あえてHaskellを使う意味がない、みたいな… http://mevius.5ch.net/test/read.cgi/tech/1639713446/157
158: デフォルトの名無しさん [sage] 2022/11/07(月) 11:14:09.19 ID:uMWKgAVp オーバーヘッドを気にせず頑健性を取りたいとき うーん、具体例が出てこない http://mevius.5ch.net/test/read.cgi/tech/1639713446/158
159: デフォルトの名無しさん [sage] 2022/11/07(月) 12:17:58.82 ID:y2qdzeiV >>157 > Haskellの求人、あまり見つからないんですが、言語として微妙な感じなんでしょうか…? > HaskellでできることはPython、Java、Go、Scalaでできる、みたいな… > あえてHaskellを使う意味がない、みたいな… かきか http://mevius.5ch.net/test/read.cgi/tech/1639713446/159
160: デフォルトの名無しさん [sage] 2022/11/07(月) 12:18:26.38 ID:y2qdzeiV 誤操作スマソ http://mevius.5ch.net/test/read.cgi/tech/1639713446/160
161: デフォルトの名無しさん [sage] 2022/11/08(火) 09:36:33.50 ID:VjMrXhSs 消費者目線ではGHCはフリーソフトだからコストが高いとは言えない コストという物差しが万能ではない具体例がいま出た http://mevius.5ch.net/test/read.cgi/tech/1639713446/161
162: デフォルトの名無しさん [sage] 2022/11/09(水) 01:51:03.18 ID:3Bh922De まあ学者さんたちのお遊びだからね・・ http://mevius.5ch.net/test/read.cgi/tech/1639713446/162
163: デフォルトの名無しさん [sage] 2022/11/09(水) 10:38:48.12 ID:wL144bz5 どういう結果になるのか契約とか誓約しないのがオープンソース お遊びにしかならないという保証もしてない http://mevius.5ch.net/test/read.cgi/tech/1639713446/163
164: デフォルトの名無しさん [sage] 2022/12/02(金) 14:29:56.51 ID:fOU9+Fqp Haskellまだイキテル? http://mevius.5ch.net/test/read.cgi/tech/1639713446/164
165: デフォルトの名無しさん [sage] 2022/12/03(土) 12:50:06.92 ID:HJhX36nM 無生物であることは保証する 何も実験してないのに保証することを数学的と言えないこともない http://mevius.5ch.net/test/read.cgi/tech/1639713446/165
166: デフォルトの名無しさん [] 2022/12/12(月) 16:34:32.76 ID:Yq3RU8vo Unreal Verse https://simon.peytonjones.org/assets/pdfs/haskell-exchange-22.pdf サイモンさんが関わってるからHaskellの弟分なのかな? unreal engineに採用なら関数型プログラミングでは 一番使われることになるんだろうか http://mevius.5ch.net/test/read.cgi/tech/1639713446/166
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 522 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.025s