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