salano_ym

Results 38 comments of salano_ym

専用構文の場合ユーザー定義のオブジェクト等でややこしそう? 別関数として`arr.reversed`のようにするのがとりあえず安全な方法かと思います

根本的にどういう設計・思想でVMを作るかを先に考えないと決められないと思います

空白周りがだいぶややこしいのでそこを書くか許容するよう変更するかしたいです。 特に`if(true) print(0)`で構文エラーになるのはほとんどの人が遭遇してるような気がします。 把握してる限りではこんな感じ 空白仕様 ```typescript // if if true print(0) if (true) print(0) // ()外の空白必須 if (true) {print(0)} // ()外の空白必須 // for 括弧無し for 10 print(0) for let i...

for文の初期値設定構文に関してはどこにも載ってないですね ```typescript for let i=2, 5 { print(i) } // 2 3 4 5 6 ```

js上に実装するのか、レジスタの実装方法(何を保持できる?)、値の表現方法、命令セット、メモリ表現だとかの方針がある程度無いと何が改善できるのか分かりません 何ができるかはvmの設計次第ですし 理屈で言えば今できてることは全部できるはずです

中途半端にオリジナルの中間コード作るよりLLVMだとか既存の技術使う方が効率的にも将来性的にも良さそう

`Core:type`だけ特別でそれ以外は専用メッセージを出す? そうでないなら単に型エラーで済む気がする

「null以外の何かを返す」が目的ならエラーチェックしないのはnull参照と同じで自己責任だと思う