diff --git a/content/mimium新内部表現の構想.md b/content/mimium新内部表現の構想.md index 723ac3f0..d658de2b 100644 --- a/content/mimium新内部表現の構想.md +++ b/content/mimium新内部表現の構想.md @@ -30,10 +30,15 @@ $$ (そしてよく見るとこれは関数→関数のような高階関数を許してないんだな) そうか高階関数を考えなければクロージャを考慮する必要もないものな + +[[ブロックとサンプルの互換性]]をどうするかが問題? + ## 値 一旦タプルについては考えないことにしよう + + $$ \begin{align} v \; ::= & \quad R \\ diff --git a/content/ブロックとサンプルの互換性.md b/content/ブロックとサンプルの互換性.md new file mode 100644 index 00000000..ab023ce8 --- /dev/null +++ b/content/ブロックとサンプルの互換性.md @@ -0,0 +1,9 @@ +[[mimium]]や[[Faust]]、[[Kronos]]のような言語を考えるときにおけるサンプルとブロックの変換可能性 + +feedの内側の式では原則sample-by-sampleでしか計算できない + +ブロック同士でも計算できる部分をするかしないかはインタプリタのストラテジーによりけり + +別に[[DAW]]のトラックとかが全部1サンプル毎計算だったとしても困ることはないよなあ + +[[多段階計算]]の計算ステージを考慮せずに参照するとおかしなことになりそうだけど、Projectの中にTrackを複数持たせて、じゃなくてちゃんとletで宣言したらサイドチェインみたいな表現も別に問題ないのか \ No newline at end of file