最近のプログラミング言語処理系を見ていると、バックエンドをLLVMに任せているものがちょいちょいあります。Rust, Swift, Juliaなどは一例に過ぎません。
私もプログラミング言語処理系の開発者として、LLVMを使うコンパイラーを触ったりしています。GHCのLLVMバックエンドを触ったり、SML#をAArch64に対応させたり、HaskellからLLVMを呼び出してJITコンパイルしたり、です。
LLVMは強力で便利なのですが、依存することのデメリットも感じるようになってきました。
続きを読む