GraalVM
Can someone please give a sober explanation of what GraalVM, is and how Truffle works?<p>I think it is somewhat analogous to LLVM: Graal exposes a &quot;language agnostic&quot; API which allows multiple front-ends. There&#x27;s a front-end for Ruby, JS, C++, others. But this API is higher level than LLVM: it knows about objects, and allows tricks like querying properties across language boundaries.<p>But I can&#x27;t imagine what this API looks like! For example, graaljs exists: how do JS semantics get expressed in a Java VM? What does a getProperty instruction look like? How does it know when to invalidate inline caches?