-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
No, they wrote their own ad-hoc C bindings: https://github.com/rust-lang/rust/blob/master/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
I'm currently using the Inkwell bindings for Rust, which I've found actually pretty nice. In terms of generating LLVM IR, the C bindings (which is what Inkwell uses internally) can do anything you want them to (definitely not limited to trivial languages as someone else here said.) I'm even using the LLVM garbage collection infrastructure, with no problems (well, no problems in generating it; the LLVM GC infrastructure works pretty well but is sparsely documented, so actually writing a GC is fairly difficult, but it's doable). The C bindings are actually more stable than the C++ bindings (!), although not quite as stable as the textual IR format; but without the bindings you would have to write code to generate the IR yourself, the compiler would be slower as it must be emitted as text and then reparsed in a different process, and you would have less control over optimization.
I managed to write an ocaml-like language compiler in Rust using llvm-sys (which uses the LLVM C API) without too much trouble. It may not be the fastest but it's fairly feature cobplete. The code is at https://github.com/transistorfet/molten
You should check out https://riju.codes it's really not that hard to get any old language running there :). It's a couple config files. I managed to get my language hosted there and the maintainer was really helpful in the process https://riju.codes/claro