関数型プログラミング言語Haskell Part34 (667レス)
関数型プログラミング言語Haskell Part34 http://mevius.5ch.net/test/read.cgi/tech/1639713446/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
345: デフォルトの名無しさん [] 2024/09/03(火) 18:48:39.95 ID:yXFMfbtr もしかしてData.Mapって遅い? 一日中検索かけてるような処理なら、もうMapを卒業するべきときか・・・ http://mevius.5ch.net/test/read.cgi/tech/1639713446/345
346: デフォルトの名無しさん [] 2024/09/04(水) 00:16:15.77 ID:r/FGXedG Data.Mapというより、リストが遅い。 とりあえずコンパイルの際にghc -O2とかghc -O3とかの最適化掛けてみる。 それでもなお速さを求めるなら、ByteStringとか使うと良い。 もしくは、正格評価版HaskellことIdris 2やRustに乗り換える。 (Idris1と2で互換性が無いらしく、別言語扱いされてる) Haskellで速さを求めるとバッドノウハウが増えて本末転倒になる。 (そこまで苦労するなら素直に速い言語覚えた方が楽。それでも9.10.1はC#並みにはなった?かな?) http://mevius.5ch.net/test/read.cgi/tech/1639713446/346
347: デフォルトの名無しさん [] 2024/09/04(水) 15:29:34.52 ID:ZA+d8/X/ リストが遅い、しかし多くのデータ構造の構築はリストから(fromList)。 つまりコンストラクション回数をいかに減らすか、一度コンストラクトした物を使いまわすか、ということですか http://mevius.5ch.net/test/read.cgi/tech/1639713446/347
348: デフォルトの名無しさん [sage] 2024/09/04(水) 16:12:14.21 ID:LSV34QaC lisp系言語はリストの操作が速いのに… http://mevius.5ch.net/test/read.cgi/tech/1639713446/348
349: デフォルトの名無しさん [] 2024/09/04(水) 22:00:37.92 ID:r/FGXedG >>347 そういう事。 そして、そういう事を考えさせる時点でどうなの?ってのもある。 文法好きだし、普段使いで困らないけど、速さ求めるなら他の言語使うよねって。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/349
350: デフォルトの名無しさん [] 2024/09/04(水) 22:22:04.95 ID:r/FGXedG >>348 遅延評価だからってのも地味に大きい。 自分はプログラミング言語「数学」の(未完全な)実装として見てるので、遅延評価じゃないと困るが。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/350
351: デフォルトの名無しさん [sage] 2024/09/05(木) 00:27:39.10 ID:mpd8c2G1 普段使いって何してんの エロ画像収集とか? http://mevius.5ch.net/test/read.cgi/tech/1639713446/351
352: デフォルトの名無しさん [] 2024/09/05(木) 04:50:37.33 ID:l0HQxOqp PythonやPerlの代わりにテキスト処理に使ってる。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/352
353: デフォルトの名無しさん [sage] 2024/09/05(木) 18:56:54.85 ID:k3Tfomjz >>351 それ面白いと思って書き込んでんの? http://mevius.5ch.net/test/read.cgi/tech/1639713446/353
354: デフォルトの名無しさん [sage] 2024/09/06(金) 09:50:34.80 ID:zzPaKLb6 ブラウザでリンク画像が http://host/hoge.php?hage=fuga.jpg みたいになってて最終的に jpg が表示されてるんだけど http://host/hoge.php?hage=fuga.jpg をブラウザで開いても jpg じゃなくて jpg ファイルのイメージがテキストファイルみたく表示される こういうのは hoge.php の造りが悪い(たぶんhttpヘッダーが可笑しい)んだろうけど じゃあなんで元頁では画像が表示されてたのかとか疑問は残る それはともかく欲しいのは jpg ファイルなので ブラウザに頼らずダウンローダーを描いた http://mevius.5ch.net/test/read.cgi/tech/1639713446/354
355: デフォルトの名無しさん [] 2024/09/06(金) 09:52:13.17 ID:zzPaKLb6 補足 修正前: jpg ファイルのイメージ 正: jpg ファイルのバイナリデータ http://mevius.5ch.net/test/read.cgi/tech/1639713446/355
356: デフォルトの名無しさん [] 2024/09/07(土) 19:33:25.03 ID:9PXNQc4Q 長大な処理となる関数を実行途中にRAM使用量が嵩んでいくとします 中には解放できる部分もある場合について、 このままガベコレせずに進んでいったらいずれOSが『君にはもうRAM貸せないよ』と言ってくるでしょうが、ランタイムシステムは ?その時になってようやく解放できる場所がないか探し出す ?-i 今必要な最低限の確保ができたら即そこに記録して終わり ?-ii 強制的にminorGCを発動して、即そこに記録して終わり ?-iii 強制的にMajorGCを発動して、即そこに記録して終わり ?-iv 強制的にBlockingMajorGCを発動して、即そこに記録して終わり ?-v もはや解放できる場所は見つからないと判断したら例外終了 ?何もせず例外終了する ?その他 どれですか? http://mevius.5ch.net/test/read.cgi/tech/1639713446/356
357: デフォルトの名無しさん [] 2024/09/07(土) 19:35:13.52 ID:9PXNQc4Q 文字化けしちゃいました。文字化けした?は1、2,3だと思ってください http://mevius.5ch.net/test/read.cgi/tech/1639713446/357
358: デフォルトの名無しさん [] 2024/09/08(日) 00:17:59.58 ID:m7MeNrY2 loop s なんちゃらかんちゃら = do let final_score = long_thunk_score + s s' = sをなんちゃらかんちゃら modify' $ Data.Map.Strict.insert key final_score unsafePerformIO ( evaluate $ rnf final_score ) `seq` loop s' なんちゃらかんちゃら このStateモナドは、final_scoreは状態Mapへ挿入される時はWHNFでしょうが、直後の行で完全に評価されています この事はマップに挿入されたfinal_scoreへ影響を与えますか? つまりマップへ挿入済みのサンクとしての値を後からUnsafePerformIOとevaluateとrnfを組み合わせて狙ったタイミングでRNF化できますか? http://mevius.5ch.net/test/read.cgi/tech/1639713446/358
359: デフォルトの名無しさん [sage] 2024/09/09(月) 11:45:42.71 ID:CQiqzRbc >>356 黙って動いてるフリをする http://mevius.5ch.net/test/read.cgi/tech/1639713446/359
360: デフォルトの名無しさん [sage] 2024/09/26(木) 23:16:42.97 ID:eAiUCVhs この言語まだ息してるのか? http://mevius.5ch.net/test/read.cgi/tech/1639713446/360
361: デフォルトの名無しさん [sage] 2024/09/27(金) 00:41:23.43 ID:ppX7mFe8 おまいらは圏論はちゃんとマスターしたか? 最近圏論のお勉強流行ってないみたいだが http://mevius.5ch.net/test/read.cgi/tech/1639713446/361
362: デフォルトの名無しさん [sage] 2024/09/28(土) 08:56:06.97 ID:boijaUwp そもそもHaskellに圏論必要ないよ http://mevius.5ch.net/test/read.cgi/tech/1639713446/362
363: デフォルトの名無しさん [sage] 2024/09/28(土) 11:20:55.86 ID:szplrxFB 背景の理論を理解してないとbrainf*ckと同列のクソパズル言語にしか見えない http://mevius.5ch.net/test/read.cgi/tech/1639713446/363
364: デフォルトの名無しさん [sage] 2024/09/28(土) 11:30:45.96 ID:D4fCa7Ze 米田の何ちゃらの辺りで心が折れて終了 http://mevius.5ch.net/test/read.cgi/tech/1639713446/364
365: デフォルトの名無しさん [sage] 2024/09/28(土) 11:48:20.49 ID:M6f6jLKS >>363 > brainf*ckと同列のクソパズル言語 話がそれるけどbrainf*ckがパズル言語なのは100%その通りだよ しかし構文パーサー、インタープリターやトランスレーター、JITエンジンの実践入門として 丁度良いからこれだけ根強い人気なんだぜ http://mevius.5ch.net/test/read.cgi/tech/1639713446/365
366: デフォルトの名無しさん [] 2024/09/28(土) 20:40:40.54 ID:SDDTPU1M >>361 流行ってないのか…。 個人的にはHaskellよりも圏論の方に関心が移ってるのに…。 んでも、圏論はHaskellでなくても、全てのプログラミング言語の裏側でも動いてるし、それこそ算数の裏側でも動いてる。 モナドが表に出てきてるからHaskellには圏論が必要って思うかもだけど、モナドって言わないで do形式だけ教えて知れっとしてても良いし、「こういう動きの演算子」としてモナドを紹介するだけでも良い。 受験数学とちゃんと向き合う数学みたいなものだけど、変にモナドを理解しようとすると深みにはまる。 (それはそれで楽しいけど、楽しめる人だけだよね…) http://mevius.5ch.net/test/read.cgi/tech/1639713446/366
367: デフォルトの名無しさん [sage] 2024/09/29(日) 07:33:19.55 ID:bBvJfaeS ラムダと束縛変数をマスターしなければdo記法もマスターできないのを すっかり忘れるぐらいポイントフリーが普及してるでしょ http://mevius.5ch.net/test/read.cgi/tech/1639713446/367
368: デフォルトの名無しさん [sage] 2024/09/29(日) 08:45:10.72 ID:3/NLN/+f コーダーが数学の学習に使える時間なんて限られている 時間や基礎知識が足らないので、難解な数学を攻略するのはほぼ不可能 大学生時CSや数学の講義で身に付けておくしかない http://mevius.5ch.net/test/read.cgi/tech/1639713446/368
369: デフォルトの名無しさん [sage] 2024/09/29(日) 09:32:49.44 ID:twIz68VA 難解な数学を攻略できるなら 日本ではコーダーにはならないよな http://mevius.5ch.net/test/read.cgi/tech/1639713446/369
370: デフォルトの名無しさん [sage] 2024/09/29(日) 10:15:01.09 ID:AteoOTMZ 業界入るのに難解数学不要 プログラミングにも不要 数学分からんのでgoogle入るのは無理だけど http://mevius.5ch.net/test/read.cgi/tech/1639713446/370
371: デフォルトの名無しさん [sage] 2024/09/29(日) 11:01:25.51 ID:bBvJfaeS 人工的なルールに依存するのがクソパズルだが 自然界でなおかつ野生のマウンティング的なルールにも依存しないことが数学の目的のひとつだね http://mevius.5ch.net/test/read.cgi/tech/1639713446/371
372: デフォルトの名無しさん [sage] 2024/09/29(日) 20:36:16.00 ID:JU2vTa1F 圏論が全てのプログラミング言語の裏で動いてるとか適当なこと書くなよ http://mevius.5ch.net/test/read.cgi/tech/1639713446/372
373: デフォルトの名無しさん [] 2024/09/30(月) 00:30:17.34 ID:Kh4w53R0 >>368 高卒の自分でも理解できるんだから、難しいわけではないんだけど。 何度も出てる通り、必ずしもモナドを理解する必要はないし。 そもそも自分がプログラマーの頃だって、12-13時間働いた後も新しいプログラミング言語や数学勉強してたぞ。 (新しい仕事のために学びたくない言語に時間使う事も) 高卒が圏論みたいな大学数学学ぶには専門用語がそもそも分らんから、用語が分かるまで遡った。 (アーベル圏のアーベルが分からないレベルからのスタート) 自分に投資できないと淘汰されるぞ。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/373
374: デフォルトの名無しさん [] 2024/09/30(月) 00:59:39.85 ID:Kh4w53R0 >>372 適当じゃない。 モナドは(主に)逐次処理に現れる構造なので、Haskellのような遅延評価で逐次処理自体を作らないといけない(逐次処理をエミュレートするためのモナド)言語でない限り、意識することすらない。 (だからC言語で言う i = 0; の「;」とか言われる) http://mevius.5ch.net/test/read.cgi/tech/1639713446/374
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 293 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.018s