関数型プログラミング言語Haskell Part34 (676レス)
関数型プログラミング言語Haskell Part34 http://mevius.5ch.net/test/read.cgi/tech/1639713446/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
668: デフォルトの名無しさん [] 2025/10/08(水) 08:47:56.03 ID:66xUgFQM 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みたいな仕組みが必要になるわけだ。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/668
673: デフォルトの名無しさん [] 2025/10/08(水) 18:32:01.08 ID:66xUgFQM >>670 100点満点のご高説をどうぞ。 長文になっても良し。 >>671 実は純粋関数型言語の定義は「副作用も含めて参照透明性が破れていない」なのです。(Wiki調べ) print関数やgetLine関数はどう見ても副作用有るでしょう? でも、モナドのお陰で参照透明性は破れてないんですよ。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/673
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.043s