Demo: Calling Typescript library from D via WebAssembly

Sebastiaan Koppe mail at skoppe.eu
Fri Sep 27 11:24:32 UTC 2019


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


More information about the Digitalmars-d-announce mailing list