A few potential use cases:<p>- Compile once, run anywhere for low-level languages like C++. With limitations, of course.<p>- More debugging capabilities. Maybe it could be used for dynamic analysis. Theoretically it should be possible to change code at runtime.<p>- Something like Valgrind? Valgrind is really complex and doesn't run on Windows at all. It seems like you could make a portable substitute with this.<p>- Maybe GraalVM can be used to provide additional memory safety guarantees, not sure.<p>Kind of hard for me to say because I don't actually know exactly what GraalVM provides, so it's kind of a guess. But it does seem like there are some genuine use cases beyond the neatness of it.
> Compiling without optimizations is not recommended with Sulong. In particular, cross-language interoperability with Java or another Truffle language will not work when the bitcode is compiled without optimizations.<p>This is <i>very</i> weird. How can (lack of) optimizations possibly interfere with things like calling conventions? Whatever they're doing, it smells of fragile.
On a related note, Sulong is what makes Nokogiri and OpenSSL possible on TruffleRuby. This only happened two weeks ago, may be it is the reason why Sulong is posted again to HN.<p>I am trying hard not to get overly excited, let see some real world benchmarks once Truffle is ready to run Real World Rails.
I wonder if it would be possible to run other languages such as rust, d, or ante, that use llvm, on this? Specifically interested in how languages with gc like d or nim will fare.