deno2

deno/deno2 at master · ry/deno · GitHub

今週から、denoの根幹部分の新しいプロトタイプとしてdeno2(いずれはlibdenoとする計画?)のコミットが始まってました。GolangをやめてC++とRustで書き直している(Rustのコードがパッと見で見当たらないけど)のは、GolangとV8の両方でGCが動くと難しいというのが主たる理由みたい。さらにはこれまでなかったWindowsプラットフォームでのビルドも上位トピックになっています。 で、ビルドツールはchromiumのgn。私はgn自体を知らないので雰囲気ですが、V8を腹に抱えていることから、最も無難っぽいところに落ち着きました。

I am excited about all the interest in this project. However, do understand that this is very much a non-functional prototype. There's a huge amount of heavy lifting to do. Unless you are participating in that, please maintain radio silence on github. This includes submitting trivial PRs (like improving README build instructions).

ですって。さて、これからどうなるか。静かに遠くから薄く見守ります。

せっかくだからサイズの小さなうちにコード読んでみてるのだけど、TypeScriptへ積極フューチャーしているというのはどこから、何なのか、はまだよくわからん。しかしBUILD.gnをまず読むとgnをよく知らない身としてもdeno2の大まかな構造がすぐわかる。これはgnの筋が良いのかもしれない。

tscを呼び出すのはgnで呼ぶPythonからnodeのシェル実行を使ってやっとJSコードを実行してますがな。そういうことも様子を複雑にして難しい。多分今だけのことなんだろうけど。