Well it's Friday and i have some time to kill. Before i start, creating a language is hard and i am just making random comment on the internet.<p>From the "why webassembly" section :<p>> When making a programming language, you need to decide how your programs will actually be executed.<p>In abstract maybe, and obviously some language features might make an interpreter or a compiler harder/easier to make. But in general and in practice the language semantic and the "execution mode" can be treated independently. Some of the languages mentioned even have multiple style of execution (AOT, JIT, interpretation , compilation etc...)<p>> Onyx does not rely on libraries like LLVM to generate its code, because WASM is so simple to target.<p>In term of correctness maybe. It will be interesting to see what happens as performance and more complex code pattern need to be supported. Most language evolve some type of high level representation between the AST and they target of choices for language specific transformation and error reporting (SIL,clangIR and HIR? not sure about that last one).<p>>My strategy was to wrap libwasmer.a, the standalone library version of Wasmer, into my own custom WASM loader, to allow imported functions to be linked against native libraries<p>Doesn't this both limit the portability and introduce potential security risk (and thus negating the whole point of wasm) ?<p>I think the inter reaction with the outside world is what WASI and the other is trying to address.