diff --git a/content/mimium.md b/content/mimium.md index 2abf52b0..15b817e0 100644 --- a/content/mimium.md +++ b/content/mimium.md @@ -51,6 +51,13 @@ https://github.com/mimium-org/mimium-rs ふと思ったけど、[[SuperCollider]]や[[PureData]]と比べると、これらの言語は組み込みに使おうと思うとLinuxが動く環境を想定することになる([[Heavy]]はそれを全く別の処理系作ることで対応してたけど)。シーケンサとかスケジューラーがあるような、[[Faust]]だと難しいタイプのプログラムを[[Arduino]]とかに持っていくには向いているのではないか([[Extempore]]だって仕組み的に言えばそうかもしれないけど) +- できれば教育用途とかに持ち込めるのが一番いい +- ブートストラップできるといい + - いろいろな人がmimiumで拡張やライブラリを書けるようになってからが本当の本番 + - 言語自体の拡張機能をその言語上でたくさん作れるとよい + - しかし、極端に自由度が高いとそれはそれで参入障壁が高い + + [[mimiumでのシーケンサ]] [[mimiumでのライブコーディングエンジン]] diff --git a/content/コンパイラを書く時の悩みについて.md b/content/コンパイラを書く時の悩みについて.md new file mode 100644 index 00000000..2f38e37b --- /dev/null +++ b/content/コンパイラを書く時の悩みについて.md @@ -0,0 +1,10 @@ +#compiler-design + +- ある程度コンパイラのコードベースが大きくなってくると、認知負荷がでかくなってくる +- かといって、コードをコンパクトに保とうとすると、一箇所の変更がしづらくなっていく + - かといって、頑張ってインターフェースを切って分離性を高めていくと、全体の把握はしづらくなる +- そりゃ全体を把握しなくいても継続的に開発できるようにするのが目的なのでそうなんだけど +- 例えば、シンタックスツリーに[[Red Green Syntax Tree]]をあとから使おうとすると、さすがに書き換えが大変 + - だが、Language Serverを作ろうと思ったらいつかは必要 + - これをインクリメンタルに開発するのは無理だよなあ +- \ No newline at end of file