Closed1

最強の言語Oniについて・改

eihigheihigh

おれのかんがえたさいきょうの言語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にクローズされました