Closed1
最強の言語Oniについて・改
おれのかんがえたさいきょうの言語Oniについて、前はざっくりまとめすぎたので、もっかい整理してみる。
TODO: でもやっぱりまとまらなかったので後でちゃんと整理する。
Oniの特徴その1
より過激に言語の記述と最適化を分離していること。ロジックを維持しつつも、処理順も並行処理もメモリ確保も最適化のフェーズで自由に適用する。ゆえにプログラマがメモリ確保や並行処理を意識することは、ロジックを書いている間は、ない。最適化がより進歩して機械化されれば、一切人間が介入する必要もなくなるかもしれない。
Oniの特徴その1
静的単一代入をベースとした「すべてがimmutableな言語」であること。constがあるECMAScriptで考えると分かりやすいが、mutableな変数が必要な場面は大抵for文である。なので、「前のループの同名の変数」を参照する機能によって、immutableでありながらループごとに変化する値を表現できるようにする。
Oniの特徴その2
IO(副作用)を明確に分離していること。system call は基本的に「IO変数」を受け取り、新たなIO変数を返す。
Oniの特徴その3
より過激に言語機能と最適化機能を分離していること。
Oniの特徴その4
通常の変数と外部リソース(ファイルやヒープメモリ)を分離していること。外部リソースは通常の変数と異なり「コピーできない」という特徴がある。コピーできない故に並列処理はできない。ロックが可能なリソースの場合、擬似的にコピーした扱いにする。
このスクラップは2022/04/24にクローズされました