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

341: デフォルトの名無しさん [sage] 2024/08/29(木) 17:40:12.63 ID:aIGVGYPU(1) AAS
就職しろよ
342: デフォルトの名無しさん [] 2024/08/29(木) 20:48:46.38 ID:gtm/5H5m(3/4) AAS
>>339
339(1): デフォルトの名無しさん [sage] 2024/08/29(木) 16:27:15.59 ID:Nq0HdWD9(1) AAS
やだやだ!修飾したくない!
どっちの+か特定して自動的に選択してよう!
独自の(+)を自動で使い分けてもらうにはNum型クラスのインスタンスにする必要があるけど、それでも見分けるには型が違わないといけない。

独自の(+)は、独自の型を受け取りますか?
そうじゃないとPreludeの(+)と判別する術がないけど。
343: デフォルトの名無しさん [] 2024/08/29(木) 20:51:12.20 ID:gtm/5H5m(4/4) AAS
あ、できれば型宣言を見せて貰えるとアドバイスしやすい。
344: デフォルトの名無しさん [] 2024/08/31(土) 21:17:53.38 ID:XbdVGeAf(1) AAS
ワカランドとして .+. と .-. と .*. を定義することにしました。しかし本質的に解決するにはNumクラスのインスタンス宣言するらしいですね。
しかし独自型同士の+と-、Rationalとの*、Rationalとの/はできますが、
独自型同士の*、独自型同士の/は定義不可能です。
従ってNumクラスになることはできませんでした。
結局どうしていいか判らんどからのワカランドで落ち着きました。
345: デフォルトの名無しさん [] 2024/09/03(火) 18:48:39.95 ID:yXFMfbtr(1) AAS
もしかしてData.Mapって遅い?
一日中検索かけてるような処理なら、もうMapを卒業するべきときか・・・
346: デフォルトの名無しさん [] 2024/09/04(水) 00:16:15.77 ID:r/FGXedG(1/3) AAS
Data.Mapというより、リストが遅い。

とりあえずコンパイルの際にghc -O2とかghc -O3とかの最適化掛けてみる。

それでもなお速さを求めるなら、ByteStringとか使うと良い。

もしくは、正格評価版HaskellことIdris 2やRustに乗り換える。
(Idris1と2で互換性が無いらしく、別言語扱いされてる)

Haskellで速さを求めるとバッドノウハウが増えて本末転倒になる。
(そこまで苦労するなら素直に速い言語覚えた方が楽。それでも9.10.1はC#並みにはなった?かな?)
347
(1): デフォルトの名無しさん [] 2024/09/04(水) 15:29:34.52 ID:ZA+d8/X/(1) AAS
リストが遅い、しかし多くのデータ構造の構築はリストから(fromList)。
つまりコンストラクション回数をいかに減らすか、一度コンストラクトした物を使いまわすか、ということですか
348
(1): デフォルトの名無しさん [sage] 2024/09/04(水) 16:12:14.21 ID:LSV34QaC(1) AAS
lisp系言語はリストの操作が速いのに…
349: デフォルトの名無しさん [] 2024/09/04(水) 22:00:37.92 ID:r/FGXedG(2/3) AAS
>>347
そういう事。
そして、そういう事を考えさせる時点でどうなの?ってのもある。

文法好きだし、普段使いで困らないけど、速さ求めるなら他の言語使うよねって。
350: デフォルトの名無しさん [] 2024/09/04(水) 22:22:04.95 ID:r/FGXedG(3/3) AAS
>>348
遅延評価だからってのも地味に大きい。

自分はプログラミング言語「数学」の(未完全な)実装として見てるので、遅延評価じゃないと困るが。
351
(1): デフォルトの名無しさん [sage] 2024/09/05(木) 00:27:39.10 ID:mpd8c2G1(1) AAS
普段使いって何してんの
エロ画像収集とか?
352: デフォルトの名無しさん [] 2024/09/05(木) 04:50:37.33 ID:l0HQxOqp(1) AAS
PythonやPerlの代わりにテキスト処理に使ってる。
353: デフォルトの名無しさん [sage] 2024/09/05(木) 18:56:54.85 ID:k3Tfomjz(1) AAS
>>351
それ面白いと思って書き込んでんの?
354: デフォルトの名無しさん [sage] 2024/09/06(金) 09:50:34.80 ID:zzPaKLb6(1/2) AAS
ブラウザでリンク画像が 画像リンク

みたいになってて最終的に jpg が表示されてるんだけど
画像リンク
をブラウザで開いても
jpg じゃなくて jpg ファイルのイメージがテキストファイルみたく表示される
こういうのは hoge.php の造りが悪い(たぶんhttpヘッダーが可笑しい)んだろうけど
じゃあなんで元頁では画像が表示されてたのかとか疑問は残る
それはともかく欲しいのは jpg ファイルなので
ブラウザに頼らずダウンローダーを描いた
355: デフォルトの名無しさん [] 2024/09/06(金) 09:52:13.17 ID:zzPaKLb6(2/2) AAS
補足
修正前: jpg ファイルのイメージ
正: jpg ファイルのバイナリデータ
356
(1): デフォルトの名無しさん [] 2024/09/07(土) 19:33:25.03 ID:9PXNQc4Q(1/2) AAS
長大な処理となる関数を実行途中にRAM使用量が嵩んでいくとします
中には解放できる部分もある場合について、
このままガベコレせずに進んでいったらいずれOSが『君にはもうRAM貸せないよ』と言ってくるでしょうが、ランタイムシステムは
?その時になってようやく解放できる場所がないか探し出す
  ?-i 今必要な最低限の確保ができたら即そこに記録して終わり
  ?-ii 強制的にminorGCを発動して、即そこに記録して終わり
  ?-iii 強制的にMajorGCを発動して、即そこに記録して終わり
  ?-iv 強制的にBlockingMajorGCを発動して、即そこに記録して終わり
  ?-v もはや解放できる場所は見つからないと判断したら例外終了
?何もせず例外終了する
?その他

どれですか?
357: デフォルトの名無しさん [] 2024/09/07(土) 19:35:13.52 ID:9PXNQc4Q(2/2) AAS
文字化けしちゃいました。文字化けした?は1、2,3だと思ってください
358: デフォルトの名無しさん [] 2024/09/08(日) 00:17:59.58 ID:m7MeNrY2(1) AAS
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化できますか?
359: デフォルトの名無しさん [sage] 2024/09/09(月) 11:45:42.71 ID:CQiqzRbc(1) AAS
>>356
黙って動いてるフリをする
360: デフォルトの名無しさん [sage] 2024/09/26(木) 23:16:42.97 ID:eAiUCVhs(1) AAS
この言語まだ息してるのか?
361
(1): デフォルトの名無しさん [sage] 2024/09/27(金) 00:41:23.43 ID:ppX7mFe8(1) AAS
おまいらは圏論はちゃんとマスターしたか?
最近圏論のお勉強流行ってないみたいだが
362: デフォルトの名無しさん [sage] 2024/09/28(土) 08:56:06.97 ID:boijaUwp(1) AAS
そもそもHaskellに圏論必要ないよ
363
(1): デフォルトの名無しさん [sage] 2024/09/28(土) 11:20:55.86 ID:szplrxFB(1) AAS
背景の理論を理解してないとbrainf*ckと同列のクソパズル言語にしか見えない
364: デフォルトの名無しさん [sage] 2024/09/28(土) 11:30:45.96 ID:D4fCa7Ze(1) AAS
米田の何ちゃらの辺りで心が折れて終了
365: デフォルトの名無しさん [sage] 2024/09/28(土) 11:48:20.49 ID:M6f6jLKS(1) AAS
>>363
> brainf*ckと同列のクソパズル言語

話がそれるけどbrainf*ckがパズル言語なのは100%その通りだよ

しかし構文パーサー、インタープリターやトランスレーター、JITエンジンの実践入門として
丁度良いからこれだけ根強い人気なんだぜ
1-
あと 327 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.027s