関数型プログラミング言語Haskell Part34 (692レス)
上下前次1-新
515: デフォルトの名無しさん [sage] 2024/10/05(土) 00:27:27.96 ID:aeHKoAMv(1/3) AAS
集合と写像の区別がついてないんだから、何を準備しようが時間の無駄
516: デフォルトの名無しさん [sage] 2024/10/05(土) 07:57:53.70 ID:jwoAd9Km(1/2) AAS
ZFでは集合しか無いから。写像だろうが、自然数だろうが何でも集合。全てを集合で実装する世界。
517: デフォルトの名無しさん [] 2024/10/05(土) 08:14:37.65 ID:JByJwyk5(1/4) AAS
圏論は逆で、対象(集合で言う元)を恒等写像と同一視して全てを射(写像)として扱うね。
518: デフォルトの名無しさん [sage] 2024/10/05(土) 08:53:09.61 ID:jwoAd9Km(2/2) AAS
対象Aに対しA=id_Aとする圏の定義は、射のクラスの上での全域的で無い結合的2項演算⚪︎を持つ代数系としての簡潔な定式化。この定義では圏には射しかなくて、対象とは恒等射の別名に過ぎない。
ただ、この圏の実装は入門者には分かり難い。
Aが圏Cの対象であることを古い文献はA in Ob(C)と書くことが多いけど、最近の文献はA in Cと書いてしまう。fが圏Cの射f:A --> Bなことはf in Hom_C(A,B)かf in Mor_C(A,B)。
519(1): デフォルトの名無しさん [sage] 2024/10/05(土) 10:51:32.56 ID:KE+ltgGd(1/2) AAS
普通のλはどの順序で適用しても同じ計算結果になる(Church-Rosserの定理)けど
副作用を伴うλは適用順序が入れ替わると副作用の順序も変わって同じ結果とは言えなくなるから
順序を保証する仕組みとしてモナドが応用されてるはず
IO a >>= (a -> IO b) -> IO b
は(a -> IO b)が(IO a)を受け取れないから
(IO a)からaを取り出せるところまで計算しないと(a -> IO b)を適用できない
仮に
IO a -> (IO a -> IO b) -> IO b
みたいな形だと(IO a)の計算を保留したまま(IO a -> IO b)を適用できる
圏論はよく分からないけど
圏Aに便宜的な時間軸をつけたA_t0, A_t1, A_t2, …を用意して関手
A_t0 → A_t1, A_t1 → A_t2, …
を作るとA_t0, A_t1…は全部AのクローンだからA_t0 → A_t1, …は自己関手になって
その自己関手の集合がなんやかんやでモナドに相当するみたいなイメージ
520: デフォルトの名無しさん [sage] 2024/10/05(土) 11:23:42.68 ID:KE+ltgGd(2/2) AAS
どうでもいいけど計算科学のside effect→副作用は誤訳だと思う
薬学のside effectは「随伴作用」(副作用)だけど計算科学のside effectは「側面作用」って感じ
521(1): デフォルトの名無しさん [sage] 2024/10/05(土) 11:40:17.86 ID:gdCH0E84(1) AAS
圏論のコンコルド効果について。
Haskellのコーティングの質をあげようと、
一生懸命頑張って勉強したのに実はほとんど役に立たない…
「大量の時間と労力を学習したのに悔しい!」
そのことを認めることができず、懸命に圏論のプログラミングでの有用性を力説し、学習布教に努める。
522(1): デフォルトの名無しさん [sage] 2024/10/05(土) 13:16:57.88 ID:AoKf42Y0(1) AAS
>>519
異なる順序でreductionする方法がある場合は、どの順序でreductionしても同じ結果になるだろ?
IO a >>= (a -> IO b) -> IO bなら当たり前だけど(a -> IO b) -> IO bをa -> IO bに先にreduction可能
523: デフォルトの名無しさん [sage] 2024/10/05(土) 13:51:21.32 ID:2BBo/yBe(1/2) AAS
数日程度で成果を出す戦略を採用したにもかかわらず何年も戦争が続く
こういうのは圏論に限定されない現象だ
順序を入れかえたら結果が変わる
数日後の情報が今ここに伝わるならそれは時間軸とは言えないぞ
524: デフォルトの名無しさん [sage] 2024/10/05(土) 14:41:11.81 ID:hOtauQiF(1) AAS
>>522
IO a >>= (a -> IO b) -> IO b
は
(IO a >>= (a -> IO b)) -> IO b
であって
IO a >>= ((a -> IO b) -> IO b)
にはならないよ
(>>=)は演算子
525: デフォルトの名無しさん [sage] 2024/10/05(土) 15:10:26.09 ID:u1hwkRNd(1) AAS
圏論の話題出すなよ
Haskellで何か書くにあたって利益があるわけじゃないんだから
526: デフォルトの名無しさん [sage] 2024/10/05(土) 15:30:46.49 ID:2BBo/yBe(2/2) AAS
利益は道徳よりも軽い
これも、未来予知ができなければ利益を計算できないことに原因がある
527(1): デフォルトの名無しさん [] 2024/10/05(土) 17:25:54.13 ID:JByJwyk5(2/4) AAS
>>521
役に立つなら、もっと色々入ってるかと…。
私はむしろHaskellより圏論そのものに興味の対象が移って、Haskellは圏論の概念を実際に動かしてみるための道具に成り下がってますね^^;
とはいえ、数学の知識不足なので群論やらトポロジーやらあっちこっち読み漁りながらなので、歩みは遅いですが…。
528(1): デフォルトの名無しさん [sage] 2024/10/05(土) 20:22:21.95 ID:J2mQEu2j(1) AAS
>>527
面倒でも一般位相の基本、ホモロジーの初歩…と地道にやるのをおすすめします
529(2): デフォルトの名無しさん [sage] 2024/10/05(土) 20:30:18.78 ID:aeHKoAMv(2/3) AAS
集合と写像の区別もついてないんだから、集合と位相からやらないとだめ
530(2): デフォルトの名無しさん [] 2024/10/05(土) 22:07:16.25 ID:JByJwyk5(3/4) AAS
>>528
ありがとうございます。
手探りだったので、助かります。
重点的に勉強してみます。
(高卒にどこまで理解できるか…)
>>529
一応、区別付いてるつもりなのですが…。
指摘していただければ調べてみます。
531: デフォルトの名無しさん [sage] 2024/10/05(土) 22:16:56.83 ID:aeHKoAMv(3/3) AAS
>>530
あー上で暴れてた人とは別人だったのね
でも、集合と位相は何をやるにしても必要だから頑張ってね
532(1): デフォルトの名無しさん [sage] 2024/10/05(土) 23:30:55.73 ID:bPGp2ASj(1) AAS
>>373373(2): デフォルトの名無しさん [] 2024/09/30(月) 00:30:17.34 ID:Kh4w53R0(1/2) AAS
>>368
高卒の自分でも理解できるんだから、難しいわけではないんだけど。
何度も出てる通り、必ずしもモナドを理解する必要はないし。
そもそも自分がプログラマーの頃だって、12-13時間働いた後も新しいプログラミング言語や数学勉強してたぞ。
(新しい仕事のために学びたくない言語に時間使う事も)
高卒が圏論みたいな大学数学学ぶには専門用語がそもそも分らんから、用語が分かるまで遡った。
(アーベル圏のアーベルが分からないレベルからのスタート)
自分に投資できないと淘汰されるぞ。
=396=530 っぽいから言うと、(数学に関して)「分かった」「理解した」の自己基準が不安しかない
> ほら、分かってみれば「なーんだ。そんなことか」でしょ?
> なるほど、って感じ。
と自分に言い聞かせていても、ポピュラーサイエンス書感覚で読んだってダメ
他人との議論では、逆に「こいつ分かってないな」と思われるだけだからな
533: デフォルトの名無しさん [] 2024/10/05(土) 23:50:06.63 ID:JByJwyk5(4/4) AAS
>>532
独学ですしね^^;
こいつ分かってないなと思われても良いですよ?
それで指摘されたものも新しい知識になるので。
どうも定義を読むだけじゃイメージ湧かないので、ネット上や数学書の複数の例え話が全て真だと仮定して、共通の特徴からイメージを掴むパターンが多いんです。
534: デフォルトの名無しさん [sage] 2024/10/06(日) 01:53:03.98 ID:6zQjUfx4(1/3) AAS
いま正常性バイアスを理解した
全て正常だと仮定する
なるほど
535(1): デフォルトの名無しさん [sage] 2024/10/06(日) 10:54:18.58 ID:jCq2z3ec(1/2) AAS
本来Haskell使う上で必要のない数学の知識をかじらされるのかわいそう
こうやって無駄に間口狭めてなんの意味があるんだか
536: デフォルトの名無しさん [sage] 2024/10/06(日) 11:09:45.81 ID:y6HCCYtz(1) AAS
>>530に関しては同情すんな
>>373前後で煽っておいて炎上勉強法してる
537: デフォルトの名無しさん [sage] 2024/10/06(日) 12:50:07.74 ID:6zQjUfx4(2/3) AAS
>>535
だから、具体例をかじることなく一般圏論でやめておこうって言ってるじゃないか
バランスを考えて妥協するとはそういうことだ
538: デフォルトの名無しさん [sage] 2024/10/06(日) 13:58:19.62 ID:jCq2z3ec(2/2) AAS
まず圏論が必要ないっての
539(1): デフォルトの名無しさん [sage] 2024/10/06(日) 14:19:17.49 ID:6zQjUfx4(3/3) AAS
それは極論だがそれを許容する代わりに反対側の極論も許容してもらう
ダブルヘイターとは違うのだよ
上下前次1-新書関写板覧索設栞歴
あと 153 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.011s