関数型プログラミング言語Haskell Part34 (691レス)
関数型プログラミング言語Haskell Part34 http://mevius.5ch.net/test/read.cgi/tech/1639713446/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
478: デフォルトの名無しさん [sage] 2024/10/04(金) 20:58:08.93 ID:WSIC8Xt5 >>476 型付きラムダ計算の時点で数学的に表現されてるだろ… 意味不明すぎる http://mevius.5ch.net/test/read.cgi/tech/1639713446/478
479: デフォルトの名無しさん [sage] 2024/10/04(金) 21:00:48.64 ID:qBjLuAvO メインの入力とメインの出力は数学にもある 主じゃないやつを副作用といってる http://mevius.5ch.net/test/read.cgi/tech/1639713446/479
480: デフォルトの名無しさん [] 2024/10/04(金) 21:11:30.04 ID:tixO3LDq >>478 なるほどそう考えていたのか。全部λ計算でアセンブルすりゃ数学的に還元できるだろうってわけね。 でもそうだとすると文字列を表示するハードウェアの部分はどう還元するの? >>479 よくわかんない。具体的に言うとどういうのある? http://mevius.5ch.net/test/read.cgi/tech/1639713446/480
481: デフォルトの名無しさん [] 2024/10/04(金) 21:11:31.21 ID:tixO3LDq >>478 なるほどそう考えていたのか。全部λ計算でアセンブルすりゃ数学的に還元できるだろうってわけね。 でもそうだとすると文字列を表示するハードウェアの部分はどう還元するの? >>479 よくわかんない。具体的に言うとどういうのある? http://mevius.5ch.net/test/read.cgi/tech/1639713446/481
482: デフォルトの名無しさん [sage] 2024/10/04(金) 21:18:24.66 ID:WSIC8Xt5 >>480 アセンブルって何? 後半も何言ってるのかちゃんと分かるように書いて http://mevius.5ch.net/test/read.cgi/tech/1639713446/482
483: デフォルトの名無しさん [sage] 2024/10/04(金) 21:25:06.50 ID:WSIC8Xt5 そうだよ、こんなとこじゃなくてzennとかに煽った感じのタイトルつけて炎上する記事書いてコメントもらって来いよ http://mevius.5ch.net/test/read.cgi/tech/1639713446/483
484: デフォルトの名無しさん [] 2024/10/04(金) 21:28:05.10 ID:tixO3LDq λ計算を機械語とかアセンブラと見立てて、λ計算ですべて数学世界を組み立てれば、 入出力がある数学的関数も定義できるだろうから、あえて数学的正当性なんて与えようとする 理由がわからない、ということだろうと思った。 プログラムの部分は全てλ計算で組み立てれば完全に同じものが作れると思っているということ だけれども、じゃあ文字列をディスプレイに表示するというプログラムの構成要素である ディスプレイはハードウェア部分だけれども、それはλ計算で組み立てるという範疇にはいるんですか? 入らないなら、なにか数学的概念を持ち出してきてそれに対応付けるということをしないといけないんじゃ ないですか? という趣旨のことを書いた。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/484
485: デフォルトの名無しさん [] 2024/10/04(金) 21:33:15.17 ID:tixO3LDq これ読んだらわかるけどMoggi論文の読書感想文。いまさらの。 匿名以外でいまさら突っ込んでくるわけないじゃん。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/485
486: デフォルトの名無しさん [] 2024/10/04(金) 21:33:16.29 ID:tixO3LDq これ読んだらわかるけどMoggi論文の読書感想文。いまさらの。 匿名以外でいまさら突っ込んでくるわけないじゃん。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/486
487: デフォルトの名無しさん [sage] 2024/10/04(金) 21:34:24.07 ID:qBjLuAvO 関数の「型」を見ろ 入力が何で出力が何かが宣言されている http://mevius.5ch.net/test/read.cgi/tech/1639713446/487
488: デフォルトの名無しさん [] 2024/10/04(金) 21:39:26.17 ID:tixO3LDq >>484 ディスプレイに表示するまでの概念はよく考えたら既存の例でもなかったわ。 焦って変なこといったスマン。 ちょっと説明を考える。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/488
489: デフォルトの名無しさん [sage] 2024/10/04(金) 21:39:59.29 ID:WSIC8Xt5 >>484 意味不明すぎる ラムダ計算は数学的に正当化されてるだろ 例えば合流性があるとか数学的に証明されてる これのどこに非数学的要素があるんだって言ってるんだよ すでに数学的な説明がされてるものに対して、数学的に正当化されてないとか言うのやめろよ http://mevius.5ch.net/test/read.cgi/tech/1639713446/489
490: デフォルトの名無しさん [] 2024/10/04(金) 21:48:55.49 ID:tixO3LDq λ計算が数学的に正当化されてないというような話はしてなくて、 現実のプログラムをλ計算に反映させようと思っても入出力とか非決定計算の部分は表現しきれない そのλ計算からはみ出す部分をどう正当化させようかという話。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/490
491: デフォルトの名無しさん [sage] 2024/10/04(金) 21:52:13.21 ID:WSIC8Xt5 >>490 じゃあHaskellは純粋にただの型付きラムダ計算なんだから、数学的に正当化されてない部分などない おしまい http://mevius.5ch.net/test/read.cgi/tech/1639713446/491
492: デフォルトの名無しさん [] 2024/10/04(金) 22:03:12.33 ID:tixO3LDq >>491 うーん。例えば、数学は集合論上で展開されているから、集合論があればその上で展開される 解析学とか、線形代数学とかいらない、みたいな論法じゃない? この現象は、解析学でモデル化できるけれども、解析学は集合論上で展開できるから、 そんなモデル化はいらなくていちいち集合論の言葉で書けばいいじゃん的な。 みんなそこに興味あるわけじゃないと思いますよ。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/492
493: デフォルトの名無しさん [] 2024/10/04(金) 22:08:30.14 ID:vLDssEdm >>484 横からというか >460 書いた者だけど、あなたの疑問は解釈1の「アクションを受け取ってアクションを返す関数」だとざっくりし過ぎて納得いかないって感じでしょうか? でしたら、解釈2では納得出来ませんでしょうか? 解釈2は、モナドの効能の一つに追加して「数学の世界にアウトソーシングという概念を持ち込む」というものです。 モナドの例えとして、床下配線というのがありますが、MaybeやListの様な通常のモナドも、>>=の中に関数適用部分を押し込んで、表から見えないようにしています。 (これも、見ようによってはアウトソーシングです。同じ数学の世界なので、隣の席に頼んだ感じですが) IOモナドは、>>=の中すら見えない状態で関数適用しているわけですが、 >460 でも書いたとおり、「数学の外(ハードウェア)」で関数適用されていると考えるわけです。 IOモナドの>>= は、外の世界と遣り取りする受付窓口というわけですね。 (実際、バッファの様な振る舞いをします) main = do x <- return 0 _________x <- return (x + 1) _________print x http://mevius.5ch.net/test/read.cgi/tech/1639713446/493
494: デフォルトの名無しさん [sage] 2024/10/04(金) 22:14:36.08 ID:WSIC8Xt5 >>492 ラムダ計算も集合論上で展開されてるだろ だから、Haskellも集合論の言葉で書かれてるじゃん そんな誰もが分かってるけど、いちいち書いても何の得もないことを話したかったの? http://mevius.5ch.net/test/read.cgi/tech/1639713446/494
495: デフォルトの名無しさん [] 2024/10/04(金) 22:16:42.74 ID:vLDssEdm この場合、IOモナドを使って変数xを書き換えているのではなく、シャドーイングによって同じxという名前の変数を新しく作って、古い x に +1 した値を束縛しています。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/495
496: デフォルトの名無しさん [] 2024/10/04(金) 22:21:54.69 ID:tixO3LDq >>493 ごめんなさい。全然違う。入出力を題材にしているのはあくまで例で別に疑問はないです(実装をちゃんと知っているわけではないですが)。 モナドを導入する動機はMoggi論文読んだ読書感想文なので途中まで書いてますが、圏をなすかどうかです。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/496
497: デフォルトの名無しさん [] 2024/10/04(金) 22:27:08.92 ID:vLDssEdm 無理やりハードウェアも数学と言い張るなら、ハードウェアもチューリングマシンという計算モデルなので数学が元と言えなくはない? そういうこじつけは置いておいても、IOモナドをアウトソーシングと考えると、じゃあ外の世界はめちゃくちゃか?と考えて、そうではないと気付く。 ハードウェアも一定の秩序がある。 数学だけが全てではないのかもしれない。 何かしらの秩序というか、法則性を持った世界(数学、数学以外含む)どうしのやり取りにモナドが橋渡しとして働いているのでは?とか、考えたりする。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/497
498: デフォルトの名無しさん [] 2024/10/04(金) 22:28:17.05 ID:tixO3LDq >>494 モナドの原論文(Moggiの論文)の読書感想文を入出力の計算効果を題材に解説してみているんだって。 ブログに書いても今更突っ込むなんて恥ずかしいことができる人はいるわけないので、ここに書いている。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/498
499: デフォルトの名無しさん [sage] 2024/10/04(金) 22:32:08.56 ID:WSIC8Xt5 >>498 その人はHaskellは数学的に正当化されてないけしからんって言ってたの? http://mevius.5ch.net/test/read.cgi/tech/1639713446/499
500: デフォルトの名無しさん [sage] 2024/10/04(金) 22:34:04.82 ID:WSIC8Xt5 最低限、論文に書いてある正しいこととお前の妄想がはっきり区別できるように感想文を書けよ http://mevius.5ch.net/test/read.cgi/tech/1639713446/500
501: デフォルトの名無しさん [] 2024/10/04(金) 22:44:05.60 ID:tixO3LDq >>499 はっきりそうは言ってない。 プログラムをλ項に対応させて単純化させると、valueからvalueへの全域関数となるけれど、 そう考えると、非停止性とか非決定性、副作用といった現実のプログラムにある特徴が失われる(だからそれを何とかしようと読める)。 >>500 そんなことできるほど力量ないです。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/501
502: デフォルトの名無しさん [] 2024/10/04(金) 22:46:51.98 ID:vLDssEdm >>496 少なくともコマンド系のプログラムは圏をなしますね。 Haskellで作ると実感しますが、Haskellに限らず、 (ユーザーから見て)プログラムそのものが関数になります。 Linuxでコマンドをパイプライン処理するのは関数(射の)合成に相当しますし。 id相当のプログラムは作れますし。 ・・・と考えると圏をなすと思うのですが。 (GUIプログラムもボタン単位とかで関数と言えますが、合成は…押した順序?) 例えば {(x,2x+1) | x ∈ R} と 2x+1のグラフは同型だと直感的に分かりますが、その関数(射)は数式で表せません。 圏論では、可換図を受け取って可換図を返すとか出てきますので、{(x,2x+1) | x ∈ R} と 2x+1のグラフを結ぶ関数(射)が人間って言うのも有かな?とか、考えます。 (圏論では同型と分かれば(証明できれば)よくて、射の中身には言及しない) http://mevius.5ch.net/test/read.cgi/tech/1639713446/502
503: デフォルトの名無しさん [sage] 2024/10/04(金) 22:50:56.01 ID:WSIC8Xt5 >>501 なんでラムダ項に対応させると全域関数になるわけ?ラムダ計算は停止しない計算も表現できるモデルでしょ 言ってることが意味不明なんだよ http://mevius.5ch.net/test/read.cgi/tech/1639713446/503
504: デフォルトの名無しさん [] 2024/10/04(金) 22:52:29.23 ID:tixO3LDq ただの圏じゃなくてクライスリ圏じゃないといけない(Moggiのアイディア1から)。 そして、クライスリ圏を定義するためにはクライスリ・トリプル(モナド)がいる http://mevius.5ch.net/test/read.cgi/tech/1639713446/504
505: デフォルトの名無しさん [] 2024/10/04(金) 22:52:30.15 ID:tixO3LDq ただの圏じゃなくてクライスリ圏じゃないといけない(Moggiのアイディア1から)。 そして、クライスリ圏を定義するためにはクライスリ・トリプル(モナド)がいる http://mevius.5ch.net/test/read.cgi/tech/1639713446/505
506: デフォルトの名無しさん [sage] 2024/10/04(金) 22:54:07.35 ID:WSIC8Xt5 そもそもラムダ項は関数ではないし、集合ではあるということはできるけど、それは自然数1は集合であるみたいな話でそれに意義なんてないよ http://mevius.5ch.net/test/read.cgi/tech/1639713446/506
507: デフォルトの名無しさん [] 2024/10/04(金) 23:02:32.42 ID:vLDssEdm >>504 >398 じゃ答えにならない? http://mevius.5ch.net/test/read.cgi/tech/1639713446/507
508: デフォルトの名無しさん [sage] 2024/10/04(金) 23:02:43.19 ID:6lZW+X9H 流石にこれじゃ関数型界隈の人達にボコボコにされて終わるね やめといた方がいい http://mevius.5ch.net/test/read.cgi/tech/1639713446/508
509: デフォルトの名無しさん [] 2024/10/04(金) 23:04:12.66 ID:tixO3LDq βη簡約するとλ項が別の簡約されたλ項になる。この対応関係を数学的関数とみなせると言ってると解釈してる。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/509
510: デフォルトの名無しさん [sage] 2024/10/04(金) 23:12:30.87 ID:WSIC8Xt5 >>509 みなせるって何? ようするにラムダ項は関数じゃないってことでしょ当たり前だけど http://mevius.5ch.net/test/read.cgi/tech/1639713446/510
511: デフォルトの名無しさん [] 2024/10/04(金) 23:14:09.18 ID:tixO3LDq 全域関数となる理由はわからん。全域関数=数学的関数ということを言いたいんだろうと思ってたけどそこから詰めてなかった。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/511
512: デフォルトの名無しさん [sage] 2024/10/04(金) 23:22:52.03 ID:WSIC8Xt5 >>511 お前が言い出したんだろ http://mevius.5ch.net/test/read.cgi/tech/1639713446/512
513: デフォルトの名無しさん [sage] 2024/10/04(金) 23:30:08.11 ID:6lZW+X9H これがワードサラダか http://mevius.5ch.net/test/read.cgi/tech/1639713446/513
514: デフォルトの名無しさん [] 2024/10/04(金) 23:41:03.02 ID:tixO3LDq すまんね。準備不足だったわ。詰めるところわかったし、 詰めるところ詰めることができたらひっそりどっかに書くことにするわ。 いろいろコメント参考になったわ。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/514
515: デフォルトの名無しさん [sage] 2024/10/05(土) 00:27:27.96 ID:aeHKoAMv 集合と写像の区別がついてないんだから、何を準備しようが時間の無駄 http://mevius.5ch.net/test/read.cgi/tech/1639713446/515
516: デフォルトの名無しさん [sage] 2024/10/05(土) 07:57:53.70 ID:jwoAd9Km ZFでは集合しか無いから。写像だろうが、自然数だろうが何でも集合。全てを集合で実装する世界。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/516
517: デフォルトの名無しさん [] 2024/10/05(土) 08:14:37.65 ID:JByJwyk5 圏論は逆で、対象(集合で言う元)を恒等写像と同一視して全てを射(写像)として扱うね。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/517
518: デフォルトの名無しさん [sage] 2024/10/05(土) 08:53:09.61 ID:jwoAd9Km 対象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)。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/518
519: デフォルトの名無しさん [sage] 2024/10/05(土) 10:51:32.56 ID:KE+ltgGd 普通のλはどの順序で適用しても同じ計算結果になる(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, …は自己関手になって その自己関手の集合がなんやかんやでモナドに相当するみたいなイメージ http://mevius.5ch.net/test/read.cgi/tech/1639713446/519
520: デフォルトの名無しさん [sage] 2024/10/05(土) 11:23:42.68 ID:KE+ltgGd どうでもいいけど計算科学のside effect→副作用は誤訳だと思う 薬学のside effectは「随伴作用」(副作用)だけど計算科学のside effectは「側面作用」って感じ http://mevius.5ch.net/test/read.cgi/tech/1639713446/520
521: デフォルトの名無しさん [sage] 2024/10/05(土) 11:40:17.86 ID:gdCH0E84 圏論のコンコルド効果について。 Haskellのコーティングの質をあげようと、 一生懸命頑張って勉強したのに実はほとんど役に立たない… 「大量の時間と労力を学習したのに悔しい!」 そのことを認めることができず、懸命に圏論のプログラミングでの有用性を力説し、学習布教に努める。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/521
522: デフォルトの名無しさん [sage] 2024/10/05(土) 13:16:57.88 ID:AoKf42Y0 >>519 異なる順序でreductionする方法がある場合は、どの順序でreductionしても同じ結果になるだろ? IO a >>= (a -> IO b) -> IO bなら当たり前だけど(a -> IO b) -> IO bをa -> IO bに先にreduction可能 http://mevius.5ch.net/test/read.cgi/tech/1639713446/522
523: デフォルトの名無しさん [sage] 2024/10/05(土) 13:51:21.32 ID:2BBo/yBe 数日程度で成果を出す戦略を採用したにもかかわらず何年も戦争が続く こういうのは圏論に限定されない現象だ 順序を入れかえたら結果が変わる 数日後の情報が今ここに伝わるならそれは時間軸とは言えないぞ http://mevius.5ch.net/test/read.cgi/tech/1639713446/523
524: デフォルトの名無しさん [sage] 2024/10/05(土) 14:41:11.81 ID:hOtauQiF >>522 IO a >>= (a -> IO b) -> IO b は (IO a >>= (a -> IO b)) -> IO b であって IO a >>= ((a -> IO b) -> IO b) にはならないよ (>>=)は演算子 http://mevius.5ch.net/test/read.cgi/tech/1639713446/524
525: デフォルトの名無しさん [sage] 2024/10/05(土) 15:10:26.09 ID:u1hwkRNd 圏論の話題出すなよ Haskellで何か書くにあたって利益があるわけじゃないんだから http://mevius.5ch.net/test/read.cgi/tech/1639713446/525
526: デフォルトの名無しさん [sage] 2024/10/05(土) 15:30:46.49 ID:2BBo/yBe 利益は道徳よりも軽い これも、未来予知ができなければ利益を計算できないことに原因がある http://mevius.5ch.net/test/read.cgi/tech/1639713446/526
527: デフォルトの名無しさん [] 2024/10/05(土) 17:25:54.13 ID:JByJwyk5 >>521 役に立つなら、もっと色々入ってるかと…。 私はむしろHaskellより圏論そのものに興味の対象が移って、Haskellは圏論の概念を実際に動かしてみるための道具に成り下がってますね^^; とはいえ、数学の知識不足なので群論やらトポロジーやらあっちこっち読み漁りながらなので、歩みは遅いですが…。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/527
528: デフォルトの名無しさん [sage] 2024/10/05(土) 20:22:21.95 ID:J2mQEu2j >>527 面倒でも一般位相の基本、ホモロジーの初歩…と地道にやるのをおすすめします http://mevius.5ch.net/test/read.cgi/tech/1639713446/528
529: デフォルトの名無しさん [sage] 2024/10/05(土) 20:30:18.78 ID:aeHKoAMv 集合と写像の区別もついてないんだから、集合と位相からやらないとだめ http://mevius.5ch.net/test/read.cgi/tech/1639713446/529
530: デフォルトの名無しさん [] 2024/10/05(土) 22:07:16.25 ID:JByJwyk5 >>528 ありがとうございます。 手探りだったので、助かります。 重点的に勉強してみます。 (高卒にどこまで理解できるか…) >>529 一応、区別付いてるつもりなのですが…。 指摘していただければ調べてみます。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/530
531: デフォルトの名無しさん [sage] 2024/10/05(土) 22:16:56.83 ID:aeHKoAMv >>530 あー上で暴れてた人とは別人だったのね でも、集合と位相は何をやるにしても必要だから頑張ってね http://mevius.5ch.net/test/read.cgi/tech/1639713446/531
532: デフォルトの名無しさん [sage] 2024/10/05(土) 23:30:55.73 ID:bPGp2ASj >>373=396=530 っぽいから言うと、(数学に関して)「分かった」「理解した」の自己基準が不安しかない > ほら、分かってみれば「なーんだ。そんなことか」でしょ? > なるほど、って感じ。 と自分に言い聞かせていても、ポピュラーサイエンス書感覚で読んだってダメ 他人との議論では、逆に「こいつ分かってないな」と思われるだけだからな http://mevius.5ch.net/test/read.cgi/tech/1639713446/532
533: デフォルトの名無しさん [] 2024/10/05(土) 23:50:06.63 ID:JByJwyk5 >>532 独学ですしね^^; こいつ分かってないなと思われても良いですよ? それで指摘されたものも新しい知識になるので。 どうも定義を読むだけじゃイメージ湧かないので、ネット上や数学書の複数の例え話が全て真だと仮定して、共通の特徴からイメージを掴むパターンが多いんです。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/533
534: デフォルトの名無しさん [sage] 2024/10/06(日) 01:53:03.98 ID:6zQjUfx4 いま正常性バイアスを理解した 全て正常だと仮定する なるほど http://mevius.5ch.net/test/read.cgi/tech/1639713446/534
535: デフォルトの名無しさん [sage] 2024/10/06(日) 10:54:18.58 ID:jCq2z3ec 本来Haskell使う上で必要のない数学の知識をかじらされるのかわいそう こうやって無駄に間口狭めてなんの意味があるんだか http://mevius.5ch.net/test/read.cgi/tech/1639713446/535
536: デフォルトの名無しさん [sage] 2024/10/06(日) 11:09:45.81 ID:y6HCCYtz >>530に関しては同情すんな >>373前後で煽っておいて炎上勉強法してる http://mevius.5ch.net/test/read.cgi/tech/1639713446/536
537: デフォルトの名無しさん [sage] 2024/10/06(日) 12:50:07.74 ID:6zQjUfx4 >>535 だから、具体例をかじることなく一般圏論でやめておこうって言ってるじゃないか バランスを考えて妥協するとはそういうことだ http://mevius.5ch.net/test/read.cgi/tech/1639713446/537
538: デフォルトの名無しさん [sage] 2024/10/06(日) 13:58:19.62 ID:jCq2z3ec まず圏論が必要ないっての http://mevius.5ch.net/test/read.cgi/tech/1639713446/538
539: デフォルトの名無しさん [sage] 2024/10/06(日) 14:19:17.49 ID:6zQjUfx4 それは極論だがそれを許容する代わりに反対側の極論も許容してもらう ダブルヘイターとは違うのだよ http://mevius.5ch.net/test/read.cgi/tech/1639713446/539
540: デフォルトの名無しさん [sage] 2024/10/07(月) 16:51:22.87 ID:89HfDe1C >>539 君頭悪いなら無理に書き込まないほうがいいよ http://mevius.5ch.net/test/read.cgi/tech/1639713446/540
541: デフォルトの名無しさん [sage] 2024/10/08(火) 16:34:43.77 ID:uOPPJ/Hn 圏論好きはHaskellよりCPLで幸せになれる http://mevius.5ch.net/test/read.cgi/tech/1639713446/541
542: デフォルトの名無しさん [] 2024/10/08(火) 19:19:24.66 ID:fXGz3G0z >>529 集合と写像って違うんですか?写像って集合ではなかったですか? http://mevius.5ch.net/test/read.cgi/tech/1639713446/542
543: デフォルトの名無しさん [] 2024/10/08(火) 19:24:10.23 ID:u3fJk7wa >>541 CPLとは?kwsk http://mevius.5ch.net/test/read.cgi/tech/1639713446/543
544: デフォルトの名無しさん [sage] 2024/10/08(火) 19:35:49.07 ID:i8KKt4Pq >>542 反対向きは成り立たないよ 彼はラムダ項みたいなただの集合も関数だとか言ってたんだよ http://mevius.5ch.net/test/read.cgi/tech/1639713446/544
545: デフォルトの名無しさん [] 2024/10/08(火) 20:00:43.25 ID:fXGz3G0z >>544 なるほど。勉強になります。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/545
546: デフォルトの名無しさん [sage] 2024/10/08(火) 20:58:36.65 ID:uOPPJ/Hn >>543 CPL (圏論プログラミング言語) https://ja.m.wikipedia.org/wiki/CPL_(%E5%9C%8F%E8%AB%96%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E) http://mevius.5ch.net/test/read.cgi/tech/1639713446/546
547: デフォルトの名無しさん [sage] 2024/10/08(火) 21:59:10.54 ID:fIGAPb3c CPL使ったことは一度もないが 関手圏よりもっとややこしい圏で、モナドより凡庸なものを定義するんでしょ http://mevius.5ch.net/test/read.cgi/tech/1639713446/547
548: デフォルトの名無しさん [sage] 2024/10/08(火) 23:08:48.38 ID:Fz/Eetv9 こんなんだけど >通常では,自然数などのデータ型は,効率のためにシステムに組込んであるが,CPLでは定義しなければならない. >また,定義したとしても,機械本来の足し算,かけ算を使用できず,独自に定義しなければならない. http://mevius.5ch.net/test/read.cgi/tech/1639713446/548
549: デフォルトの名無しさん [] 2024/10/09(水) 00:11:45.00 ID:NBQjGpZO O'CAMLのCAMLはCategorical Abstract Machine Languageの略ということを忘れてはかわいそう。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/549
550: デフォルトの名無しさん [] 2024/10/09(水) 20:31:07.90 ID:UpCIlB6y >>546 Thenks!! http://mevius.5ch.net/test/read.cgi/tech/1639713446/550
551: デフォルトの名無しさん [sage] 2024/10/12(土) 20:07:00.42 ID:fyUcodga 初心者はStack、ガチムチはCabalで開発するんですか? http://mevius.5ch.net/test/read.cgi/tech/1639713446/551
552: デフォルトの名無しさん [sage] 2024/10/15(火) 05:30:10.38 ID:CzVFQLgH みんなStackだよ Cabalの依存関係解決はましになったとはいえプロジェクト構成の記述はStackのほうがよくできてるし http://mevius.5ch.net/test/read.cgi/tech/1639713446/552
553: デフォルトの名無しさん [] 2024/10/15(火) 22:34:15.38 ID:2I09ehic 詳しい情報サンクス CabalやめてStackに帰ります GHCup tuiで選べるCabalやHLSやStackも全部recommendedに落とします http://mevius.5ch.net/test/read.cgi/tech/1639713446/553
554: デフォルトの名無しさん [sage] 2024/10/16(水) 05:04:51.74 ID:PvdZsye3 ああCabal辞めてStackに移行したらビルドし直しただけでTLSのハンドシェイクがTwitchでは大丈夫なのにツイキャスで失敗する謎の不具合が治りました やっぱStackすわ http://mevius.5ch.net/test/read.cgi/tech/1639713446/554
555: デフォルトの名無しさん [sage] 2024/10/18(金) 18:33:56.50 ID:358zSdqs 別に不具合あったわけじゃないならよくね みんなとか言い出したらそもそもみんなhaskellなんか使ってないが http://mevius.5ch.net/test/read.cgi/tech/1639713446/555
556: デフォルトの名無しさん [] 2024/10/25(金) 23:46:50.40 ID:jl3K3ThU Haskellを学んだみたいと思うんだけど、「すごいHaskell たのしく学ぼう」って書籍は今でも有用? Haskellの良書として挙げることは多いと思うけど、出版から10年以上経ってるのが気になった その間で言語に大きな変更があったとか、「今のHaskellだったらこう書くよね」みたいな注意が必要な点などあれば知りたい あるいは最近の書籍でよりおすすめというものでも http://mevius.5ch.net/test/read.cgi/tech/1639713446/556
557: 警備員[Lv.3][新芽] [sage] 2024/10/25(金) 23:58:48.00 ID:ss1i659U ちょっと古い情報だけど、 僕が「すごいH」を購入したのが2016.12だけど、数年後には章立ての変更まではなかったかもしれないけど、コードの記述など結構アップデートされてたような いずれにしても、一冊でHaskellを、ってのはアレで、何冊かは読まないとと僕の場合 http://mevius.5ch.net/test/read.cgi/tech/1639713446/557
558: デフォルトの名無しさん [sage] 2024/10/26(土) 01:14:59.65 ID:jaMDzNJq >>556 ラムダノートのプログラミングHaskell第2版 これを読めばモナドの使い方がわかる http://mevius.5ch.net/test/read.cgi/tech/1639713446/558
559: デフォルトの名無しさん [] 2024/10/26(土) 13:33:26.33 ID:qze4GRwI モナドはCのポインタより概念が難しいのどうにかならんの 別のはないんですか http://mevius.5ch.net/test/read.cgi/tech/1639713446/559
560: デフォルトの名無しさん [sage] 2024/10/26(土) 14:33:50.42 ID:jaMDzNJq ない 別に理論的な部分はすっ飛ばしていいよ 純粋関数型言語で手続き型言語のようなシーケンスをどうやったら書けるか?みたいなパズルを解く方法と思ってればいい 全てはdo記法にため http://mevius.5ch.net/test/read.cgi/tech/1639713446/560
561: デフォルトの名無しさん [] 2024/10/26(土) 18:20:45.25 ID:QG40CL6R >>559 だったらCleanはどうでせう? モナドの代わりに線形何たらっての使ってる。 副作用関数を使い捨て関数と捉える概念らしいけど…。 変数は引数のない関数と捉えられるので、入力関数も外部で代入する変数と捉えられる。 んで、 return 0 >>= \x -> return (x + 1) >>= \x -> return (x + 1) = 2 は return 0 >>= (\x -> return (x + 1) >>= (\x -> return (x + 1))) と解釈されて、(\x -> ...) 部分が1個のラムダ式(関数)の上に階層構造なので、同名の変数 x はシャドーイングで古い値は隠される。 (そして隠されたら他から参照されなくなるのでGCでメモリを解放される) IOモナドな入力関数も引数が無いので、値を外部で代入する変数と捉え、シャドーイングで古い値は隠されると考えると、線形何たらの使い捨て副作用関数と同じことしてる。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/561
562: デフォルトの名無しさん [] 2024/10/28(月) 07:23:18.71 ID:duvMwVsG >>557 >>558 ありがとう まずはラムダノートのプログラミングHaskellを買いました すごいH本はもう一冊読もうと思って時に買います http://mevius.5ch.net/test/read.cgi/tech/1639713446/562
563: デフォルトの名無しさん [sage] 2024/10/28(月) 11:18:21.59 ID:ABlPDVd9 すごいエロい本か http://mevius.5ch.net/test/read.cgi/tech/1639713446/563
564: デフォルトの名無しさん [sage] 2024/10/28(月) 16:01:27.57 ID:3PX2guVI >>563 それ面白いと思ってレスしてんの? http://mevius.5ch.net/test/read.cgi/tech/1639713446/564
565: デフォルトの名無しさん [sage] 2024/10/28(月) 17:13:55.02 ID:B1OBTGXf 10年前のtwitterでは鉄板ジョークでしたよ すごいH http://mevius.5ch.net/test/read.cgi/tech/1639713446/565
566: デフォルトの名無しさん [sage] 2024/10/28(月) 19:07:28.37 ID:aKxYxFxQ haskell知らない人はエロ本だと思うし 隠れた卑猥な意味が無ければ 隠語としての価値も無い http://mevius.5ch.net/test/read.cgi/tech/1639713446/566
567: デフォルトの名無しさん [sage] 2024/10/28(月) 19:57:49.83 ID:2RuMUG8y ML族のRustが市民権を得た今haskellやる意味ないよ その時間をRustに当てなさい http://mevius.5ch.net/test/read.cgi/tech/1639713446/567
568: デフォルトの名無しさん [sage] 2024/10/28(月) 21:28:05.60 ID:B1OBTGXf 平均的HaskellerはRustもやった上でLinearTypes拡張がどうなるか様子見しつつ両方使ってるのでは? https://zenn.dev/konn/articles/2023-10-01-linear-haskell-in-2023 http://mevius.5ch.net/test/read.cgi/tech/1639713446/568
569: デフォルトの名無しさん [] 2024/10/28(月) 22:50:50.12 ID:duvMwVsG Haskellスレで言われましても わざわざカレー屋に来て「ラーメンを食え」って喧伝するようなものでしょ http://mevius.5ch.net/test/read.cgi/tech/1639713446/569
570: デフォルトの名無しさん [] 2024/10/29(火) 10:29:33.30 ID:2QinlXet >>567 ほんそれ http://mevius.5ch.net/test/read.cgi/tech/1639713446/570
571: デフォルトの名無しさん [sage] 2024/10/29(火) 11:58:27.10 ID:IrbjK6II Rustを関数型扱いするやつは Rustも関数型もまるで理解してない だから誰も真面目には相手してくれない http://mevius.5ch.net/test/read.cgi/tech/1639713446/571
572: デフォルトの名無しさん [] 2024/10/29(火) 12:22:05.93 ID:dZcxKFDp そう。世界がHaskellから孤立していく 世界はもっと危機感もった方が良いよ http://mevius.5ch.net/test/read.cgi/tech/1639713446/572
573: デフォルトの名無しさん [sage] 2024/10/29(火) 15:30:57.70 ID:+9FvEifI 実用プログラムに使った例はあるの? http://mevius.5ch.net/test/read.cgi/tech/1639713446/573
574: デフォルトの名無しさん [sage] 2024/10/29(火) 16:00:48.67 ID:FJXFYfo2 >>567 MLとは全然ちゃうがな HM型推論せんやろ http://mevius.5ch.net/test/read.cgi/tech/1639713446/574
575: デフォルトの名無しさん [] 2024/10/29(火) 22:29:59.15 ID:LPWWq4s4 >>573 自分も詳しくはないけど、クローズドな分野が多いんじゃない? http://mevius.5ch.net/test/read.cgi/tech/1639713446/575
576: デフォルトの名無しさん [sage] 2024/10/29(火) 23:08:38.64 ID:+9FvEifI >>575 秘密ということ、それじゃわからんと同じことじゃないか http://mevius.5ch.net/test/read.cgi/tech/1639713446/576
577: デフォルトの名無しさん [] 2024/10/29(火) 23:25:09.95 ID:6SLkDv7J 世界は頭悪すぎてHaskellを使いこなせていない 世界はもっと危機感を持った方が良い http://mevius.5ch.net/test/read.cgi/tech/1639713446/577
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 114 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.019s