基于LLVM的编译器的语言

tyl*_*erl 6 compiler-construction llvm

我正在考虑使用玩具语言进行初步测试和实验,并构建基于LLVM的编译器以获得一些可基准的结果.

我意识到C++是LLVM的"本机"和最佳支持的语言,但我真的不想使用C或C++.所以我正在寻找一种更高级的语言,它对使用LLVM API有稳定和既定的支持.

我最初使用Python LLVM库的工作有点令人失望,因为该项目似乎已被放弃,尽管我听到有关PyPy将LLVM支持集成到其框架中的有希望的新闻,但我想知道人们在下沉之前的体验是什么很多时间进入任何给定的路线.

所以我的问题是,你们中有没有人使用更高级别的语言和/或框架与LLVM合作?如果是这样,哪个?或者你会说要避免吗?

SK-*_*gic 6

LLVM API的子集通过普通的C包装器公开.它足以用于代码生成,并且几乎可以从任何高级语言中使用.开箱即用的OCaml绑定(参见本教程),Haskell绑定也非常成熟(例如,GHC本身可以通过LLVM编译).我也使用过基于.NET的语言的LLVM,没有任何绑定(只是P/Invoke从头文件自动生成的包装器).