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

503: 2024/10/04(金)22:50 ID:WSIC8Xt5(11/14) AAS
>>501
なんでラムダ項に対応させると全域関数になるわけ?ラムダ計算は停止しない計算も表現できるモデルでしょ
言ってることが意味不明なんだよ
504
(1): 2024/10/04(金)22:52 ID:tixO3LDq(18/22) AAS
ただの圏じゃなくてクライスリ圏じゃないといけない(Moggiのアイディア1から)。
そして、クライスリ圏を定義するためにはクライスリ・トリプル(モナド)がいる
505: 2024/10/04(金)22:52 ID:tixO3LDq(19/22) AAS
ただの圏じゃなくてクライスリ圏じゃないといけない(Moggiのアイディア1から)。
そして、クライスリ圏を定義するためにはクライスリ・トリプル(モナド)がいる
506: 2024/10/04(金)22:54 ID:WSIC8Xt5(12/14) AAS
そもそもラムダ項は関数ではないし、集合ではあるということはできるけど、それは自然数1は集合であるみたいな話でそれに意義なんてないよ
507: 2024/10/04(金)23:02 ID:vLDssEdm(9/9) AAS
>>504
>398 じゃ答えにならない?
508: 2024/10/04(金)23:02 ID:6lZW+X9H(2/3) AAS
流石にこれじゃ関数型界隈の人達にボコボコにされて終わるね
やめといた方がいい
509
(1): 2024/10/04(金)23:04 ID:tixO3LDq(20/22) AAS
βη簡約するとλ項が別の簡約されたλ項になる。この対応関係を数学的関数とみなせると言ってると解釈してる。
510: 2024/10/04(金)23:12 ID:WSIC8Xt5(13/14) AAS
>>509
みなせるって何?
ようするにラムダ項は関数じゃないってことでしょ当たり前だけど
511
(1): 2024/10/04(金)23:14 ID:tixO3LDq(21/22) AAS
全域関数となる理由はわからん。全域関数=数学的関数ということを言いたいんだろうと思ってたけどそこから詰めてなかった。
512: 2024/10/04(金)23:22 ID:WSIC8Xt5(14/14) AAS
>>511
お前が言い出したんだろ
513: 2024/10/04(金)23:30 ID:6lZW+X9H(3/3) AAS
これがワードサラダか
514: 2024/10/04(金)23:41 ID:tixO3LDq(22/22) AAS
すまんね。準備不足だったわ。詰めるところわかったし、
詰めるところ詰めることができたらひっそりどっかに書くことにするわ。
いろいろコメント参考になったわ。
515: 2024/10/05(土)00:27 ID:aeHKoAMv(1/3) AAS
集合と写像の区別がついてないんだから、何を準備しようが時間の無駄
516: 2024/10/05(土)07:57 ID:jwoAd9Km(1/2) AAS
ZFでは集合しか無いから。写像だろうが、自然数だろうが何でも集合。全てを集合で実装する世界。
517: 2024/10/05(土)08:14 ID:JByJwyk5(1/4) AAS
圏論は逆で、対象(集合で言う元)を恒等写像と同一視して全てを射(写像)として扱うね。
518: 2024/10/05(土)08:53 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): 2024/10/05(土)10:51 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)を適用できない

仮に
省7
520: 2024/10/05(土)11:23 ID:KE+ltgGd(2/2) AAS
どうでもいいけど計算科学のside effect→副作用は誤訳だと思う
薬学のside effectは「随伴作用」(副作用)だけど計算科学のside effectは「側面作用」って感じ
521
(1): 2024/10/05(土)11:40 ID:gdCH0E84(1) AAS
圏論のコンコルド効果について。

Haskellのコーティングの質をあげようと、
一生懸命頑張って勉強したのに実はほとんど役に立たない…
「大量の時間と労力を学習したのに悔しい!」
そのことを認めることができず、懸命に圏論のプログラミングでの有用性を力説し、学習布教に努める。
522
(1): 2024/10/05(土)13:16 ID:AoKf42Y0(1) AAS
>>519
異なる順序でreductionする方法がある場合は、どの順序でreductionしても同じ結果になるだろ?

IO a >>= (a -> IO b) -> IO bなら当たり前だけど(a -> IO b) -> IO bをa -> IO bに先にreduction可能
523: 2024/10/05(土)13:51 ID:2BBo/yBe(1/2) AAS
数日程度で成果を出す戦略を採用したにもかかわらず何年も戦争が続く
こういうのは圏論に限定されない現象だ

順序を入れかえたら結果が変わる
数日後の情報が今ここに伝わるならそれは時間軸とは言えないぞ
524: 2024/10/05(土)14:41 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)
にはならないよ
省1
525: 2024/10/05(土)15:10 ID:u1hwkRNd(1) AAS
圏論の話題出すなよ
Haskellで何か書くにあたって利益があるわけじゃないんだから
526: 2024/10/05(土)15:30 ID:2BBo/yBe(2/2) AAS
利益は道徳よりも軽い
これも、未来予知ができなければ利益を計算できないことに原因がある
527
(1): 2024/10/05(土)17:25 ID:JByJwyk5(2/4) AAS
>>521
役に立つなら、もっと色々入ってるかと…。

私はむしろHaskellより圏論そのものに興味の対象が移って、Haskellは圏論の概念を実際に動かしてみるための道具に成り下がってますね^^;

とはいえ、数学の知識不足なので群論やらトポロジーやらあっちこっち読み漁りながらなので、歩みは遅いですが…。
528
(1): 2024/10/05(土)20:22 ID:J2mQEu2j(1) AAS
>>527
面倒でも一般位相の基本、ホモロジーの初歩…と地道にやるのをおすすめします
529
(2): 2024/10/05(土)20:30 ID:aeHKoAMv(2/3) AAS
集合と写像の区別もついてないんだから、集合と位相からやらないとだめ
530
(2): 2024/10/05(土)22:07 ID:JByJwyk5(3/4) AAS
>>528
ありがとうございます。
手探りだったので、助かります。
重点的に勉強してみます。
(高卒にどこまで理解できるか…)

>>529
一応、区別付いてるつもりなのですが…。
省1
531: 2024/10/05(土)22:16 ID:aeHKoAMv(3/3) AAS
>>530
あー上で暴れてた人とは別人だったのね
でも、集合と位相は何をやるにしても必要だから頑張ってね
532
(1): 2024/10/05(土)23:30 ID:bPGp2ASj(1) AAS
>>373=396=530 っぽいから言うと、(数学に関して)「分かった」「理解した」の自己基準が不安しかない

> ほら、分かってみれば「なーんだ。そんなことか」でしょ?
> なるほど、って感じ。
と自分に言い聞かせていても、ポピュラーサイエンス書感覚で読んだってダメ

他人との議論では、逆に「こいつ分かってないな」と思われるだけだからな
533: 2024/10/05(土)23:50 ID:JByJwyk5(4/4) AAS
>>532
独学ですしね^^;
こいつ分かってないなと思われても良いですよ?
それで指摘されたものも新しい知識になるので。

どうも定義を読むだけじゃイメージ湧かないので、ネット上や数学書の複数の例え話が全て真だと仮定して、共通の特徴からイメージを掴むパターンが多いんです。
534: 2024/10/06(日)01:53 ID:6zQjUfx4(1/3) AAS
いま正常性バイアスを理解した
全て正常だと仮定する
なるほど
535
(1): 2024/10/06(日)10:54 ID:jCq2z3ec(1/2) AAS
本来Haskell使う上で必要のない数学の知識をかじらされるのかわいそう
こうやって無駄に間口狭めてなんの意味があるんだか
536: 2024/10/06(日)11:09 ID:y6HCCYtz(1) AAS
>>530に関しては同情すんな
>>373前後で煽っておいて炎上勉強法してる
537: 2024/10/06(日)12:50 ID:6zQjUfx4(2/3) AAS
>>535
だから、具体例をかじることなく一般圏論でやめておこうって言ってるじゃないか
バランスを考えて妥協するとはそういうことだ
538: 2024/10/06(日)13:58 ID:jCq2z3ec(2/2) AAS
まず圏論が必要ないっての
539
(1): 2024/10/06(日)14:19 ID:6zQjUfx4(3/3) AAS
それは極論だがそれを許容する代わりに反対側の極論も許容してもらう
ダブルヘイターとは違うのだよ
540: 2024/10/07(月)16:51 ID:89HfDe1C(1) AAS
>>539
君頭悪いなら無理に書き込まないほうがいいよ
541
(1): 2024/10/08(火)16:34 ID:uOPPJ/Hn(1/2) AAS
圏論好きはHaskellよりCPLで幸せになれる
542
(1): 2024/10/08(火)19:19 ID:fXGz3G0z(1/2) AAS
>>529
集合と写像って違うんですか?写像って集合ではなかったですか?
543
(1): 2024/10/08(火)19:24 ID:u3fJk7wa(1) AAS
>>541
CPLとは?kwsk
544
(1): 2024/10/08(火)19:35 ID:i8KKt4Pq(1) AAS
>>542
反対向きは成り立たないよ
彼はラムダ項みたいなただの集合も関数だとか言ってたんだよ
545: 2024/10/08(火)20:00 ID:fXGz3G0z(2/2) AAS
>>544
なるほど。勉強になります。
546
(1): 2024/10/08(火)20:58 ID:uOPPJ/Hn(2/2) AAS
>>543
CPL (圏論プログラミング言語)
外部リンク:ja.m.wikipedia.org
547: 2024/10/08(火)21:59 ID:fIGAPb3c(1) AAS
CPL使ったことは一度もないが
関手圏よりもっとややこしい圏で、モナドより凡庸なものを定義するんでしょ
548: 2024/10/08(火)23:08 ID:Fz/Eetv9(1) AAS
こんなんだけど

>通常では,自然数などのデータ型は,効率のためにシステムに組込んであるが,CPLでは定義しなければならない.
>また,定義したとしても,機械本来の足し算,かけ算を使用できず,独自に定義しなければならない.
549: 2024/10/09(水)00:11 ID:NBQjGpZO(1) AAS
O'CAMLのCAMLはCategorical Abstract Machine Languageの略ということを忘れてはかわいそう。
550: 2024/10/09(水)20:31 ID:UpCIlB6y(1) AAS
>>546
Thenks!!
551: 2024/10/12(土)20:07 ID:fyUcodga(1) AAS
初心者はStack、ガチムチはCabalで開発するんですか?
552: 2024/10/15(火)05:30 ID:CzVFQLgH(1) AAS
みんなStackだよ
Cabalの依存関係解決はましになったとはいえプロジェクト構成の記述はStackのほうがよくできてるし
553: 2024/10/15(火)22:34 ID:2I09ehic(1) AAS
詳しい情報サンクス
CabalやめてStackに帰ります
GHCup tuiで選べるCabalやHLSやStackも全部recommendedに落とします
554: 2024/10/16(水)05:04 ID:PvdZsye3(1) AAS
ああCabal辞めてStackに移行したらビルドし直しただけでTLSのハンドシェイクがTwitchでは大丈夫なのにツイキャスで失敗する謎の不具合が治りました
やっぱStackすわ
555: 2024/10/18(金)18:33 ID:358zSdqs(1) AAS
別に不具合あったわけじゃないならよくね
みんなとか言い出したらそもそもみんなhaskellなんか使ってないが
556
(1): 2024/10/25(金)23:46 ID:jl3K3ThU(1) AAS
Haskellを学んだみたいと思うんだけど、「すごいHaskell たのしく学ぼう」って書籍は今でも有用?
Haskellの良書として挙げることは多いと思うけど、出版から10年以上経ってるのが気になった
その間で言語に大きな変更があったとか、「今のHaskellだったらこう書くよね」みたいな注意が必要な点などあれば知りたい
あるいは最近の書籍でよりおすすめというものでも
557
(1): 警備員[Lv.3][新芽] 2024/10/25(金)23:58 ID:ss1i659U(1) AAS
ちょっと古い情報だけど、
僕が「すごいH」を購入したのが2016.12だけど、数年後には章立ての変更まではなかったかもしれないけど、コードの記述など結構アップデートされてたような
いずれにしても、一冊でHaskellを、ってのはアレで、何冊かは読まないとと僕の場合
558
(1): 2024/10/26(土)01:14 ID:jaMDzNJq(1/2) AAS
>>556
ラムダノートのプログラミングHaskell第2版
これを読めばモナドの使い方がわかる
559
(1): 2024/10/26(土)13:33 ID:qze4GRwI(1) AAS
モナドはCのポインタより概念が難しいのどうにかならんの
別のはないんですか
560: 2024/10/26(土)14:33 ID:jaMDzNJq(2/2) AAS
ない
別に理論的な部分はすっ飛ばしていいよ
純粋関数型言語で手続き型言語のようなシーケンスをどうやったら書けるか?みたいなパズルを解く方法と思ってればいい
全てはdo記法にため
561: 2024/10/26(土)18:20 ID:QG40CL6R(1) AAS
>>559
だったらCleanはどうでせう?
モナドの代わりに線形何たらっての使ってる。

副作用関数を使い捨て関数と捉える概念らしいけど…。

変数は引数のない関数と捉えられるので、入力関数も外部で代入する変数と捉えられる。
んで、

return 0 >>= \x -> return (x + 1) >>= \x -> return (x + 1) = 2
省5
562: 2024/10/28(月)07:23 ID:duvMwVsG(1/2) AAS
>>557 >>558
ありがとう
まずはラムダノートのプログラミングHaskellを買いました
すごいH本はもう一冊読もうと思って時に買います
563
(1): 2024/10/28(月)11:18 ID:ABlPDVd9(1) AAS
すごいエロい本か
564: 2024/10/28(月)16:01 ID:3PX2guVI(1) AAS
>>563
それ面白いと思ってレスしてんの?
565: 2024/10/28(月)17:13 ID:B1OBTGXf(1/2) AAS
10年前のtwitterでは鉄板ジョークでしたよ
すごいH
566: 2024/10/28(月)19:07 ID:aKxYxFxQ(1) AAS
haskell知らない人はエロ本だと思うし
隠れた卑猥な意味が無ければ
隠語としての価値も無い
567
(2): 2024/10/28(月)19:57 ID:2RuMUG8y(1) AAS
ML族のRustが市民権を得た今haskellやる意味ないよ
その時間をRustに当てなさい
568: 2024/10/28(月)21:28 ID:B1OBTGXf(2/2) AAS
平均的HaskellerはRustもやった上でLinearTypes拡張がどうなるか様子見しつつ両方使ってるのでは?
外部リンク:zenn.dev
569: 2024/10/28(月)22:50 ID:duvMwVsG(2/2) AAS
Haskellスレで言われましても
わざわざカレー屋に来て「ラーメンを食え」って喧伝するようなものでしょ
570: 2024/10/29(火)10:29 ID:2QinlXet(1) AAS
>>567
ほんそれ
571: 2024/10/29(火)11:58 ID:IrbjK6II(1) AAS
Rustを関数型扱いするやつは
Rustも関数型もまるで理解してない
だから誰も真面目には相手してくれない
572: 2024/10/29(火)12:22 ID:dZcxKFDp(1) AAS
そう。世界がHaskellから孤立していく
世界はもっと危機感もった方が良いよ
573
(1): 2024/10/29(火)15:30 ID:+9FvEifI(1/2) AAS
実用プログラムに使った例はあるの?
574: 2024/10/29(火)16:00 ID:FJXFYfo2(1) AAS
>>567
MLとは全然ちゃうがな
HM型推論せんやろ
575
(1): 2024/10/29(火)22:29 ID:LPWWq4s4(1) AAS
>>573
自分も詳しくはないけど、クローズドな分野が多いんじゃない?
576: 2024/10/29(火)23:08 ID:+9FvEifI(2/2) AAS
>>575
秘密ということ、それじゃわからんと同じことじゃないか
577: 2024/10/29(火)23:25 ID:6SLkDv7J(1) AAS
世界は頭悪すぎてHaskellを使いこなせていない
世界はもっと危機感を持った方が良い
578: 2024/10/30(水)02:10 ID:p9nsrTZ/(1) AAS
急に主語が大きくなったぞωωω=2πf
579: 2024/11/02(土)09:15 ID:KpOoS8wa(1) AAS
クローズドな部分なら使ったうちには入らないな
580
(2): 2024/11/02(土)18:11 ID:3NvQMTDb(1/2) AAS
金融工学で使ってるとこあるかもね
OCamlが定番らしいし
581
(1): 2024/11/02(土)19:19 ID:Mufqfjtq(1) AAS
>>580
やはり実務ではフィンテックですか。

このスレで趣味教養的に
数理の応用実験や
アート作品生成プログラム記述用とかで
使ってる香具師いる?
582
(1): 2024/11/02(土)19:33 ID:pIz290+w(1/3) AAS
>>580
みずほでOCamlしか聞いたことない
結局大規模障害出ちゃったけど
583
(1): 2024/11/02(土)19:38 ID:3NvQMTDb(2/2) AAS
>>582
金融商品の設計に使うんだよ
その手の障害とは全く関係ない
1-
あと 111 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.016s