minikotlin: ブラウザタブ内で動くKotlinコンパイラをCでゼロから開発
minikotlinは、Cで書かれたKotlinコンパイラで、ブラウザタブ内で完全に動作します。JVM、LLVM、Binaryen、Gradleを一切使わず、WebAssembly GCバイトコードを手書きで生成します。コンパイラ自体がWASMにコンパイルされているため、.ktソースを入力すると、動作する.wasmモジュールが同じタブ内で出力されます。クラス、継承、スマートキャスト、null安全、ジェネリクス、コルーチンなど、Kotlinの主要機能をサポートし、各機能はWASM-GCの型システム上に適切に実装されています。フロントエンドからコード生成までを単一パスで行い、独自の中間表現を経てWASM-GCを直接出力します。
コンパイラ自体がWASMとして配布されるため、コードが実行される場所で実行され、インストールするツールチェーンはありません。