On Friday, 27 September 2019 at 10:07:08 UTC, Dennis wrote:
On Thursday, 26 September 2019 at 09:25:28 UTC, Sebastiaan Koppe wrote:
I would like to announce an example showcasing D interacting with a Typescript library via WebAssembly.

I love how much work you put into WebAssembly support for D. Keep up the good work!

Thanks, I hope to be able to spend more time on it in the future. There are still a lot of things that need to be improved.

I have started work on a small project that generates these bindings automatically, leveraging the typescript compiler.

I can imagine some basic types are easy (such as number -> double), but I wonder how you bind to functions that take sum types or 'any'. Are you going to use opaque JS objects on the D side or convert D structs/classes upon calling TS/JS functions?

I am using opaque JS objects. Spasm already has Sumtypes and supports Any as well, so it is going to move forward from that.

Having said that, the lineSeries data in the tradingview example is implemented with a proxy object that directly accessed memory from the wasm module. There are pros and cons to either approach.

Also, I have to take into account the upcoming interface-types proposal https://github.com/WebAssembly/interface-types/blob/master/proposals/interface-types/Explainer.md

Reply via email to