[obsidian] vault backup: 2025-12-01 11:42:28[

This commit is contained in:
2025-12-01 11:42:28 +09:00
parent 1bff761354
commit 10c6df7cb0
2 changed files with 19 additions and 3 deletions

View File

@@ -154,10 +154,10 @@ fn dsp(){
fn cascade(n,gen){ fn cascade(n,gen){
if (n>0.0){ if (n>0.0){
let multiplier = 1.0-(1.0/(n*3)) |> lift_f 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) |> $cascade(n - 1.0 ,gen)
}else{ }else{
`|rate| gen![]()(rate) `|rate| ($gen)(rate)
} }
} }
#stage(main) #stage(main)
@@ -190,7 +190,7 @@ fn dsp(){
} }
let dsp = | |{ let dsp = | |{
let f = 200 let f = 200
let r = f |> cascade!(20,`osc) let r = f |> $cascade(20,`osc)
(r,r) (r,r)
} }
} }
@@ -215,6 +215,8 @@ enum StateTree{
クロージャ(ほとんどの場合、高階関数)に関わる内部状態は、クロージャインスタンス上に保持される。 クロージャ(ほとんどの場合、高階関数)に関わる内部状態は、クロージャインスタンス上に保持される。
(非クロージャなダイレクトな関数呼び出しだとしても、関数の変数に対して破壊的代入で別の関数代入するとぶっ壊れる可能性あるな)
内部状態を参照するのは、ディレイ、Feed、非クロージャ関数呼び出しのいずれか。 内部状態を参照するのは、ディレイ、Feed、非クロージャ関数呼び出しのいずれか。
エントリポイント`dsp`からの非クロージャ関数呼び出しを辿っていけば静的に使用する内部状態の木構造が導出できる。 エントリポイント`dsp`からの非クロージャ関数呼び出しを辿っていけば静的に使用する内部状態の木構造が導出できる。