関数型プログラミング言語Haskell Part34 (692レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
217: デフォルトの名無しさん [sage] 2023/05/03(水) 21:14:18.69 ID:ioA1phJ7(2/2) AAS
これにもそんなストーリー書いてない
外部リンク[pdf]:pdfs.semanticscholar.org
272: デフォルトの名無しさん [sage] 2024/01/01(月) 20:17:21.69 ID:DcfOChZv(1) AAS
mapAccumL/Rの使いどころがよくわからないのですが
どういう時に使うとかの指針ってありますか?
477: デフォルトの名無しさん [sage] 2024/10/04(金) 20:57:28.69 ID:6lZW+X9H(1/3) AAS
こんなところで長文書くのはやめてもろて
読む価値があるものならzennとかnoteに書けば?
関数型言語界隈の人たちがクソミソにレビューしてくれるよ
496(1): デフォルトの名無しさん [] 2024/10/04(金) 22:21:54.69 ID:tixO3LDq(15/22) AAS
>>493493(1): デフォルトの名無しさん [] 2024/10/04(金) 22:08:30.14 ID:vLDssEdm(5/9) AAS
>>484
横からというか >460 書いた者だけど、あなたの疑問は解釈1の「アクションを受け取ってアクションを返す関数」だとざっくりし過ぎて納得いかないって感じでしょうか?
でしたら、解釈2では納得出来ませんでしょうか?
解釈2は、モナドの効能の一つに追加して「数学の世界にアウトソーシングという概念を持ち込む」というものです。
モナドの例えとして、床下配線というのがありますが、MaybeやListの様な通常のモナドも、>>=の中に関数適用部分を押し込んで、表から見えないようにしています。
(これも、見ようによってはアウトソーシングです。同じ数学の世界なので、隣の席に頼んだ感じですが)
IOモナドは、>>=の中すら見えない状態で関数適用しているわけですが、 >460 でも書いたとおり、「数学の外(ハードウェア)」で関数適用されていると考えるわけです。
IOモナドの>>= は、外の世界と遣り取りする受付窓口というわけですね。
(実際、バッファの様な振る舞いをします)
main = do x <- return 0
_________x <- return (x + 1)
_________print x
ごめんなさい。全然違う。入出力を題材にしているのはあくまで例で別に疑問はないです(実装をちゃんと知っているわけではないですが)。
モナドを導入する動機はMoggi論文読んだ読書感想文なので途中まで書いてますが、圏をなすかどうかです。
589: デフォルトの名無しさん [sage] 2024/11/06(水) 18:53:34.69 ID:s8sk505y(1) AAS
semigroupoidsのAltからFunctor抜いたやつないのかな
catsのSemigroupK相当のやつ
682(1): デフォルトの名無しさん [] 2025/10/09(木) 18:19:20.69 ID:j1OYGPg+(2/5) AAS
>>678678(2): デフォルトの名無しさん [sage] 2025/10/09(木) 10:26:59.37 ID:DbxsJTmB(1) AAS
>>677
>値渡しだからコピーコストがかさむ。
コンパイラの最適化で不必要なコピーは消える
C言語でもそういうことは当たり前にやってる
にゃんと!?
それを押してもいざ実装してみたら
構造体で配列を包む場合、あらかじめ配列の長さを決めないといけなかった。
struct {
int array[1024];
int size;
}typedef Array;
この1024とかも余分な分は最適化で無くなるっていうなら10万位要素があっても大丈夫なように1GB位(見かけ上)確保したいが、そうでないなら大体の場合、無駄な領域を確保してることになる。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.032s