кмк, куда интереснее (и важнее?) для WASM не имплементация "нормальных" языков, в конце концов платформ / таргетов для них есть, а интероп с хостом / между языками. и там с этим все еще все грустно, interface types уже давно в предложениях, но вроде как-то не особо движется https://github.com/webassembly/interface-types
кмк, куда интереснее (и важнее?) для WASM не имплементация "нормальных" языков, в конце концов платформ / таргетов для них есть, а интероп с хостом / между языками. и там с этим все еще все грустно, interface types уже давно в предложениях, но вроде как-то не особо движется https://github.com/webassembly/interface-types
вот в эту часть я не смотрел вообще, потому что не понимаю проблематики, она очень wasm-специфична. меня еще вот какая вещь интересует - есть ли у них планы на поддержку кодогенерации байткода в рантайме. может ли либа наэмитить нового байткода и вызвать его.
вот в эту часть я не смотрел вообще, потому что не понимаю проблематики, она очень wasm-специфична. меня еще вот какая вещь интересует - есть ли у них планы на поддержку кодогенерации байткода в рантайме. может ли либа наэмитить нового байткода и вызвать его.
что-то я не уверен, что донес мысль. на примерах: в нативном коде можно написать исполняемого кода в аллоцированную память и сделать туда call/jump в beam можно in-memory собрать ast модуля и скомпилить его в память, после чего вызвать функцию из него в jvm можно пихнуть шмат байткода в Classloader.defineClass, и опять же дергать полученные функции.
в wasm что-то подобное в планах есть, ты не в курсе?
что-то я не уверен, что донес мысль. на примерах: в нативном коде можно написать исполняемого кода в аллоцированную память и сделать туда call/jump в beam можно in-memory собрать ast модуля и скомпилить его в память, после чего вызвать функцию из него в jvm можно пихнуть шмат байткода в Classloader.defineClass, и опять же дергать полученные функции.
в wasm что-то подобное в планах есть, ты не в курсе?
вот продолжая твои примеры:
> в jvm можно пихнуть шмат байткода в Classloader.defineClass, и опять же дергать полученные функции.