関数型プログラミング言語Haskell Part34 (667レス)
上下前次1-新
353: 2024/09/05(木)18:56 ID:k3Tfomjz(1) AAS
>>351
それ面白いと思って書き込んでんの?
354: 2024/09/06(金)09:50 ID:zzPaKLb6(1/2) AAS
ブラウザでリンク画像が 画像リンク[php]:host
みたいになってて最終的に jpg が表示されてるんだけど
画像リンク[php]:host をブラウザで開いても
jpg じゃなくて jpg ファイルのイメージがテキストファイルみたく表示される
こういうのは hoge.php の造りが悪い(たぶんhttpヘッダーが可笑しい)んだろうけど
じゃあなんで元頁では画像が表示されてたのかとか疑問は残る
それはともかく欲しいのは jpg ファイルなので
ブラウザに頼らずダウンローダーを描いた
355: 2024/09/06(金)09:52 ID:zzPaKLb6(2/2) AAS
補足
修正前: jpg ファイルのイメージ
正: jpg ファイルのバイナリデータ
356(1): 2024/09/07(土)19:33 ID:9PXNQc4Q(1/2) AAS
長大な処理となる関数を実行途中にRAM使用量が嵩んでいくとします
中には解放できる部分もある場合について、
このままガベコレせずに進んでいったらいずれOSが『君にはもうRAM貸せないよ』と言ってくるでしょうが、ランタイムシステムは
?その時になってようやく解放できる場所がないか探し出す
?-i 今必要な最低限の確保ができたら即そこに記録して終わり
?-ii 強制的にminorGCを発動して、即そこに記録して終わり
?-iii 強制的にMajorGCを発動して、即そこに記録して終わり
?-iv 強制的にBlockingMajorGCを発動して、即そこに記録して終わり
?-v もはや解放できる場所は見つからないと判断したら例外終了
?何もせず例外終了する
省2
357: 2024/09/07(土)19:35 ID:9PXNQc4Q(2/2) AAS
文字化けしちゃいました。文字化けした?は1、2,3だと思ってください
358: 2024/09/08(日)00:17 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: 2024/09/09(月)11:45 ID:CQiqzRbc(1) AAS
>>356
黙って動いてるフリをする
360: 2024/09/26(木)23:16 ID:eAiUCVhs(1) AAS
この言語まだ息してるのか?
361(1): 2024/09/27(金)00:41 ID:ppX7mFe8(1) AAS
おまいらは圏論はちゃんとマスターしたか?
最近圏論のお勉強流行ってないみたいだが
362: 2024/09/28(土)08:56 ID:boijaUwp(1) AAS
そもそもHaskellに圏論必要ないよ
363(1): 2024/09/28(土)11:20 ID:szplrxFB(1) AAS
背景の理論を理解してないとbrainf*ckと同列のクソパズル言語にしか見えない
364: 2024/09/28(土)11:30 ID:D4fCa7Ze(1) AAS
米田の何ちゃらの辺りで心が折れて終了
365: 2024/09/28(土)11:48 ID:M6f6jLKS(1) AAS
>>363
> brainf*ckと同列のクソパズル言語
話がそれるけどbrainf*ckがパズル言語なのは100%その通りだよ
しかし構文パーサー、インタープリターやトランスレーター、JITエンジンの実践入門として
丁度良いからこれだけ根強い人気なんだぜ
366: 2024/09/28(土)20:40 ID:SDDTPU1M(1) AAS
>>361
流行ってないのか…。
個人的にはHaskellよりも圏論の方に関心が移ってるのに…。
んでも、圏論はHaskellでなくても、全てのプログラミング言語の裏側でも動いてるし、それこそ算数の裏側でも動いてる。
モナドが表に出てきてるからHaskellには圏論が必要って思うかもだけど、モナドって言わないで do形式だけ教えて知れっとしてても良いし、「こういう動きの演算子」としてモナドを紹介するだけでも良い。
受験数学とちゃんと向き合う数学みたいなものだけど、変にモナドを理解しようとすると深みにはまる。
(それはそれで楽しいけど、楽しめる人だけだよね…)
367: 2024/09/29(日)07:33 ID:bBvJfaeS(1/2) AAS
ラムダと束縛変数をマスターしなければdo記法もマスターできないのを
すっかり忘れるぐらいポイントフリーが普及してるでしょ
368(1): 2024/09/29(日)08:45 ID:3/NLN/+f(1) AAS
コーダーが数学の学習に使える時間なんて限られている
時間や基礎知識が足らないので、難解な数学を攻略するのはほぼ不可能
大学生時CSや数学の講義で身に付けておくしかない
369: 2024/09/29(日)09:32 ID:twIz68VA(1) AAS
難解な数学を攻略できるなら
日本ではコーダーにはならないよな
370: 2024/09/29(日)10:15 ID:AteoOTMZ(1) AAS
業界入るのに難解数学不要
プログラミングにも不要
数学分からんのでgoogle入るのは無理だけど
371: 2024/09/29(日)11:01 ID:bBvJfaeS(2/2) AAS
人工的なルールに依存するのがクソパズルだが
自然界でなおかつ野生のマウンティング的なルールにも依存しないことが数学の目的のひとつだね
372(2): 2024/09/29(日)20:36 ID:JU2vTa1F(1) AAS
圏論が全てのプログラミング言語の裏で動いてるとか適当なこと書くなよ
373(2): 2024/09/30(月)00:30 ID:Kh4w53R0(1/2) AAS
>>368
高卒の自分でも理解できるんだから、難しいわけではないんだけど。
何度も出てる通り、必ずしもモナドを理解する必要はないし。
そもそも自分がプログラマーの頃だって、12-13時間働いた後も新しいプログラミング言語や数学勉強してたぞ。
(新しい仕事のために学びたくない言語に時間使う事も)
高卒が圏論みたいな大学数学学ぶには専門用語がそもそも分らんから、用語が分かるまで遡った。
(アーベル圏のアーベルが分からないレベルからのスタート)
自分に投資できないと淘汰されるぞ。
374: 2024/09/30(月)00:59 ID:Kh4w53R0(2/2) AAS
>>372
適当じゃない。
モナドは(主に)逐次処理に現れる構造なので、Haskellのような遅延評価で逐次処理自体を作らないといけない(逐次処理をエミュレートするためのモナド)言語でない限り、意識することすらない。
(だからC言語で言う i = 0; の「;」とか言われる)
375: 2024/09/30(月)03:08 ID:g+sPZSfB(1) AAS
>>372
沈黙させる努力をするよりも(全ての)人の話を聞くのをサボる方が良い
努力は時間がかかる
一瞬で報われるものは努力ではない
376(1): 2024/09/30(月)12:40 ID:+8KmLjt4(1) AAS
圏論の極々一部のモナドを主語をデカくして圏論ガーとか言ってる人は何も分かってないんだなと思うけどね
俺みたいに数学かじってた人からすると
圏論を勉強すると「あ、この概念はこの分野のこれのことか」ってわかるけど
そうじゃない人は何のことを言ってるのかわからんと思う
専門家でも自分の担当外の圏なんて知らないのに
圏論という括りで語ろうとする人はそういうのすら理解してない
377: 2024/09/30(月)13:52 ID:CD9F70e/(1) AAS
やっと普通の人が出てきて安心した
378: 2024/09/30(月)13:59 ID:pkON+G7q(1) AAS
>>376
数学者向けの圏論の教科書の応用、具体例は全て数学。
数学知らない人が読んでも分かるわけがない。
応用、具体例、演習をCSの分野から採った教科書が望まれるが、書くのが難しい上に面白くするのも困難。
大体CSすらちゃんと修めてないエンジニアはやはり読めない。
CS自体ベースに位相、代数、グラフ理論と数学使うし。
379: 2024/09/30(月)14:09 ID:rwCIuc1C(1) AAS
趣味でやる人に良くいるんだよね。
応用各分野に囚われずに、圏論そのものを学習したい、一般圏論を研究したいって人。
これは数学で言うと、集合論と同じく数学基礎論の分野。
380: 2024/09/30(月)19:05 ID:8C0MP56i(1/3) AAS
操作的意味論とか表示的意味論でプログラムを数学の話にして、その数学を圏論で整理するって話
だからアーベル圏とか具体的な圏はあんま出てこない。
やるとすれば
デカルト閉圏:ランベックがλ計算のモデルになると発見して関数型プログラミング的に重要
クライスリ圏:Moggiが計算効果をカプセル化したときの根拠の圏
ローベア理論:代数的効果をちゃんと理解するときは必要らしい。操作的意味論と表示的意味論と同じようにモナドの理論と妥当性が成り立つようだ。
ぐらいじゃね。
381: 2024/09/30(月)21:09 ID:CVtPTYpb(1/2) AAS
じゃあラムダ計算(のモデル)だけを考えよう
タプルや代数的データ型は使わない
それでもモナドの具体例を作れるのを知ってるのが専門バカ
知らないのが一般国民だ
382: 2024/09/30(月)21:29 ID:8C0MP56i(2/3) AAS
一般国民。
λ計算のモデルでモナド作ってなにかいいことあるの?計算効果結局表現できないんじゃ?
拡張してcomputational lambda calculusやるって話?
上下前次1-新書関写板覧索設栞歴
あと 285 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.040s