Good News: Almost all druntime supported on arsd webassembly

Hipreme msnmancini at hotmail.com
Wed Nov 8 13:42:03 UTC 2023


On Wednesday, 8 November 2023 at 13:29:46 UTC, Lingo Chen wrote:
> On Wednesday, 8 November 2023 at 09:06:31 UTC, Sebastiaan Koppe 
> wrote:
>> On Monday, 6 November 2023 at 23:44:11 UTC, Lingo Chen wrote:
>>> On Monday, 6 November 2023 at 11:05:45 UTC, Sebastiaan Koppe 
>>> wrote:
>>>>> [...]
>>>>
>>>> Unsure how it's progressed since but as can be seen on the 
>>>> last slide of that pdf, it's work in progress.
>>>
>>> Kotlin abandoned llvm and implemented a new wasm backend. So 
>>> waiting for llvm probably is not a good idea?
>>>
>>> Is taking D's frontend + binaryen's backend a feasible 
>>> solution? If wasmgc's architecture is a good fit for D. Can 
>>> it be done quickly?
>>
>> I have only looked approx 5 minutes at it, so its really hard 
>> to say. I expect it to be quite some effort.
>>
>> There are some things we can do today that are smaller in 
>> scope and will help any future effort, such as reviving my 
>> druntime port. You are going to need that anyway, unless you 
>> go with the custom druntime or betterC route.
>
> Yes, would love you to revived the druntime port, but I think 
> implemented the new wasmgc backend is necessary too.
>
> https://www.pdl.cmu.edu/SDI/2022/slides/Wasm-Basis-of-Next-Gen%20Runtime-Systems.pdf
>
> after reading through the slide, I think wasmgc is the only way 
> forward for good Javascript interoperability, and that is 
> critical for my use case(handling 3d data, which needs to be 
> gc).
>
> As Rikki stated, it just swapping llvm ir for wasmgc ir. Could 
> be non-workable, but I think it worth a try.
>
> No experience in writing compiler, but I can handle 
> assembly/forth syntax just fine. Is anyone interested?



I think you didn't quite get, but reviving the runtime Sebastian 
done is way more critical than having the GC, and it is as he 
said, having a new backend is a far away dream, we should not 
jump steps. If the runtime is not revived, there is no point in 
having a GC at all, and it is impossible to use the GC without 
the runtime, but runtime without the GC, it is possible :)


More information about the Digitalmars-d-announce mailing list