2023 03 22 - qnighy/umo GitHub Wiki

近況

四則演算とlambdaを実装した。lambdaについては暫定的にJavaScriptのarrow function風の構文を採用した。

lambdaを実装していて思ったが、実のところ今の方針で常識的な速度で動くようにするにはもう少し考える必要がある。

まず環境のキャプチャを最適化する必要があるのと、そもそも現状の実装だと配列のような大きな値もコピー渡しになってしまうので、最低限のescape解析がやはり必要そう。

なので今後の方針は以下のような感じになりそう

  • 今週: チューリング完全を目指す
    • if-else
    • 配列操作プリミティブ
    • stdinを取れるようにする
  • 来週: 基本的な最適化
    • VM化
    • 環境キャプチャの最適化
    • パラメーターのborrow渡しを可能にする
    • escape解析をしてborrow/copyの自動判定を行う