From 61ac2f5cc7657f4d0ca0890ae0f7ac66e76706b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=BE=E6=B5=A6=20=E7=9F=A5=E4=B9=9F=20Matsuura=20Tomoy?= =?UTF-8?q?a?= Date: Mon, 1 Dec 2025 11:42:28 +0900 Subject: [PATCH] [obsidian] vault backup: 2025-12-01 11:42:28[ --- ...リアクティブプログラミングのによる信号処理のライブコーディング.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/content/多段階計算と増分関数型リアクティブプログラミングのによる信号処理のライブコーディング.md b/content/多段階計算と増分関数型リアクティブプログラミングのによる信号処理のライブコーディング.md index c9f60b1a..b65e9b94 100644 --- a/content/多段階計算と増分関数型リアクティブプログラミングのによる信号処理のライブコーディング.md +++ b/content/多段階計算と増分関数型リアクティブプログラミングのによる信号処理のライブコーディング.md @@ -154,10 +154,10 @@ fn dsp(){ fn cascade(n,gen){ if (n>0.0){ let multiplier = 1.0-(1.0/(n*3)) |> lift_f - `|rate| rate + gen!(rate/3)* rate* $multiplier + `|rate| rate + ($gen)(rate/3)* rate* $multiplier |> $cascade(n - 1.0 ,gen) }else{ - `|rate| gen![]()(rate) + `|rate| ($gen)(rate) } } #stage(main) @@ -190,7 +190,7 @@ fn dsp(){ } let dsp = | |{ let f = 200 - let r = f |> cascade!(20,`osc) + let r = f |> $cascade(20,`osc) (r,r) } } @@ -215,6 +215,8 @@ enum StateTree{ クロージャ(ほとんどの場合、高階関数)に関わる内部状態は、クロージャインスタンス上に保持される。 +(非クロージャなダイレクトな関数呼び出しだとしても、関数の変数に対して破壊的代入で別の関数代入するとぶっ壊れる可能性あるな) + 内部状態を参照するのは、ディレイ、Feed、非クロージャ関数呼び出しのいずれか。 エントリポイント`dsp`からの非クロージャ関数呼び出しを辿っていけば静的に使用する内部状態の木構造が導出できる。