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

644
(1): 警備員[Lv.7][新芽] [sage] 2025/01/10(金) 19:48:40.81 ID:N8eMPB8m(3/3) AAS
>>643
643(3): 警備員[Lv.7][新芽] [sage] 2025/01/10(金) 19:39:05.74 ID:N8eMPB8m(2/3) AAS
>>640-641
レスをありがとうございます

そうですね
表現がいけませんでしたが、そのように理解しています

あとひとつ伺いたいのが(アドバイスいただいたことがまだちゃんと理解できたわけではないのでアレですが)、
参照透明性が担保されているとは、(1.アクションを生成する時点までは)副作用がある処理は書くことができない、ということでしょうか
ですが、
このレスはちょっと意味が分かりませんね
実行前なので副作用は怒りようがありませんね
645: デフォルトの名無しさん [sage] 2025/01/10(金) 20:01:13.00 ID:X+hiLHcK(3/5) AAS
>>643-644
そのように理解しています。って本当に理解してるか?

アクションの生成において生成しているのは入出力の指示書みたいなもので入出力自体はない。
こういう入力があったらこういう計算方法でこういう出力をするみたいな手順を生成しているだけ。

なんで参照透明性が担保されているというところでそんな引っかかるんだ?
646: 警備員[Lv.7][新芽] [sage] 2025/01/10(金) 20:34:59.37 ID:0gelnbg2(1/2) AAS
>>643 で確認したかったことは次のようなことでした

アクションを生成する段までは副作用なく、同一のプログラムを入力とすれば、かならず同一のアクションが出力されるか
ということでした

それはそうであるように思います
647: デフォルトの名無しさん [sage] 2025/01/10(金) 20:42:16.47 ID:X+hiLHcK(4/5) AAS
同一のプログラムを入力とすればってどういう意味?
前も言ったようにアクションの生成とアクションの実行は別フェーズ。同一のアクションが出力される、というのはどっちのフェーズでのことを言ってんの?
648: 警備員[Lv.8][新芽] [sage] 2025/01/10(金) 21:16:13.66 ID:0gelnbg2(2/2) AAS
アクションが出力される、なので 1.です
649
(1): デフォルトの名無しさん [sage] 2025/01/10(金) 21:34:10.26 ID:X+hiLHcK(5/5) AAS
なんか理解しているのかすごい怪しいなぁ。

一応回答しておくと、アクションの生成のフェーズなら参照透明性を保証された純粋関数の計算でしかないから
main文が同じなら当然同じアクションが生成される。
同じプログラムなら生成されるものも同じという意味で。

理解してたらこんな話出てこないと思うんだけど。
650: 警備員[Lv.1][新芽] [sage] 2025/01/10(金) 22:49:49.12 ID:/2hXYNXu(1) AAS
>>649
重ね重ね、ありがとうございます

理解できているかいなかについては、理解が浅いため、確認のために伺わせていただいています

伝わりづらくて申し訳ありませんでしたが、>>649の内容のような理解で正しいかを確認したかったというのが趣旨でした
簡潔に表現していただいて助かりました
651: デフォルトの名無しさん [sage] 2025/01/13(月) 17:46:46.07 ID:uTEEqnKb(1) AAS
あけなしておめでとうございます
去年は多様性がようやく否定され始めた年ですが、
今年はhaskellの純粋主義のやうに分類・隔離・排除躍進の年となるようがんばりましょう
652: デフォルトの名無しさん [sage] 2025/01/15(水) 00:44:26.65 ID:O9bWSOqU(1) AAS
マクロな現象には個々人のばらつきを否定する力はない
逆に個人は10回連続でグーを出してみてもたとえば「正規分布に従う」とかなんとかいう法則を反証できない

ミクロとマクロを隔離したのはただの統計学であって純粋でも主義でもない
653: デフォルトの名無しさん [sage] 2025/01/15(水) 05:29:17.90 ID:QElBeHY8(1) AAS
誰もいまミクロ・マクロの話なんてしてないぞ
654: デフォルトの名無しさん [sage] 2025/01/21(火) 22:22:46.92 ID:QQz8h7YM(1) AAS
雪田の英語版買って読んだ勇者はおらんか?
655: デフォルトの名無しさん [sage] 2025/01/22(水) 01:14:29.67 ID:SDQT/604(1) AAS
3万も出してよもうとは思わない。

目次読むとKleisli tripleの節はあるのにKleisli categoryの節がなかったり、なぜかその後にMoggi's theoryが出てきたりと
少なくとも構成があんまりいい感じはしない。
656: デフォルトの名無しさん [sage] 2025/01/22(水) 03:57:21.12 ID:ydcqGqD9(1) AAS
まぁ圏論はHaskellやるうえで無駄だしな
657: デフォルトの名無しさん [] 2025/01/23(木) 21:00:49.82 ID:j8NlocC3(1) AAS
しかもHaskell自体やるだけ無駄だしな
658: デフォルトの名無しさん [] 2025/02/13(木) 07:10:20.44 ID:NHs8kkcw(1) AAS
wikiでghc見たら、中の人MSリサーチにいるのな。
最近C#並みに速くなったと思ったら、そういう事か。
納得。
659
(1): デフォルトの名無しさん [sage] 2025/02/13(木) 13:53:19.78 ID:LmH89MFs(1/2) AAS
暗記系の問題が嫌われるのは答えを隠す意味がないからだが
逆に陰謀論が大人気なのは、隠蔽する動機があるからかもしれない
660: デフォルトの名無しさん [sage] 2025/02/13(木) 19:59:58.08 ID:8vmF21CT(1) AAS
>>659
誤爆か?
次から気をつけな
661: デフォルトの名無しさん [sage] 2025/02/13(木) 21:57:13.74 ID:FvaixK+o(1) AAS
わざとだろ。
数板に延々スレ違を書き込む基地外がいるが多分そいつと同一。
662: デフォルトの名無しさん [sage] 2025/02/13(木) 22:11:56.50 ID:LxUFvhMj(1) AAS
ワードサラダくん数学板にもいるんか
まあいそうな板だな
663: デフォルトの名無しさん [sage] 2025/02/13(木) 23:39:39.86 ID:LmH89MFs(2/2) AAS
有意味な事実と有意味なデマを隔離するのは難しいらしい
だが、真でも偽でもないナンセンスはなぜか瞬時に判断できる
664: デフォルトの名無しさん [sage] 2025/03/19(水) 11:03:50.18 ID:JUfTLTVZ(1) AAS
IntSetのsizeがO(1)じゃなくO(n)なのはなぜですか、O(1)で実装できそうなもんですが
665: デフォルトの名無しさん [sage] 2025/03/19(水) 19:45:13.59 ID:4qyoYSYb(1) AAS
unionとかで重複要素数えるのが面倒だから必要になるまで数えない
666: デフォルトの名無しさん [] 2025/03/19(水) 20:51:01.02 ID:S6mpqhEQ(1/2) AAS
私は最強ーーすき
667: デフォルトの名無しさん [] 2025/03/19(水) 20:52:16.86 ID:S6mpqhEQ(2/2) AAS
誤爆スマソ。懐メロチャンネルと間違えた
668
(3): デフォルトの名無しさん [] 2025/10/08(水) 08:47:56.03 ID:66xUgFQM(1/2) AAS
int* map(int (*f)(const int), const int* array, const int n){
  int* p = malloc(sizeof(int) * n);
  for(int i = 0; i < n; i++) p[i] = f(array[i]);
  return p;
}

ふむ、メモリ管理が必要な言語が(見かけ上)副作用のない関数を作ろうとしたら配列を返す関数の時点で関数を使った後は必ずメモリの開放が必要になるのか。
開放が必要だから、参照を持つためにポインタへの保存が必須なので、関数の連続適用(関数合成)は絶望的。

これじゃ、GCやRustみたいな仕組みが必要になるわけだ。
1-
あと 21 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.024s