issue, про фичи для реализации нормальных языков поверх него.
ожидаемо, всё сложно
https://github.com/WebAssembly/design/issues/1252 - continuations
https://github.com/WebAssembly/design/issues/919 - tagged pointers
и, кажется, небезынтересное видео, которое я пока не посмотрел - https://www.youtube.com/watch?v=pq-Pa2Fj4nE россберг про всякое, в том числе про эффекты, через которые предположительно будут continuations
и слайды чисто про continuations, там всё довольно понятно https://github.com/WebAssembly/meetings/blob/master/main/2020/presentations/2020-02-rossberg-continuations.pdf
кмк, куда интереснее (и важнее?) для WASM не имплементация "нормальных" языков, в конце концов платформ / таргетов для них есть, а интероп с хостом / между языками. и там с этим все еще все грустно, interface types уже давно в предложениях, но вроде как-то не особо движется https://github.com/webassembly/interface-types
вот в эту часть я не смотрел вообще, потому что не понимаю проблематики, она очень wasm-специфична. меня еще вот какая вещь интересует - есть ли у них планы на поддержку кодогенерации байткода в рантайме. может ли либа наэмитить нового байткода и вызвать его.
какая либа? рантаймы динамические конечно существуют, генери, запускай, пожалуйста https://github.com/bytecodealliance/wasmtime
что-то я не уверен, что донес мысль. на примерах: в нативном коде можно написать исполняемого кода в аллоцированную память и сделать туда call/jump в beam можно in-memory собрать ast модуля и скомпилить его в память, после чего вызвать функцию из него в jvm можно пихнуть шмат байткода в Classloader.defineClass, и опять же дергать полученные функции. в wasm что-то подобное в планах есть, ты не в курсе?
вот продолжая твои примеры: > в jvm можно пихнуть шмат байткода в Classloader.defineClass, и опять же дергать полученные функции. (один вариант) в wasm ты можешь пихунть шмат кода в интерпретатор и дерать полученные функции. типа так https://pkg.go.dev/github.com/bytecodealliance/wasmtime-go
там вот прям примеры
во, нашел - видео и слайды
"и, кажется, небезынтересное видео, которое я пока не посмотрел - https://www.youtube.com/watch?v=pq-Pa2Fj4nE россберг про всякое, в том числе про эффекты, через которые предположительно будут continuations и слайды чисто про continuations, там всё довольно понятно https://github.com/WebAssembly/meetings/blob/master/main/2020/presentations/2020-02-rossberg-continuations.pdf" https://t.me/proelixir/168863
Обсуждают сегодня