|
|
|
|
|
by RetroTechie
15 days ago
|
|
Also, it's only "by hand" if you, the developer, writes it. In this case: "The frontend — lexer, parser, semantic analysis (it’s called mkf) — hands off to two of its own IRs before writing WASM-GC by hand." So those frontend tools do the writing, not the developer? That's not "by hand". One might say "writes WASM-GC directly". But no that also doesn't happen, it goes through an IR first? Personally I wouldn't put too much trust in a developer that even can't get their terminology correct. Well either that or I foobar'd my understanding of the writeup? Anyway, looks like an interesting project. |
|
I agree. "One pass" is wrong, and I shouldn't have written that. This is a normal multi-stage pipeline: AST -> HIR -> MIR -> WASM-GC, meaning each reduction is one pass.
I know, Kotlin has forward references and actual type inference, so name/type resolution requires multiple passes, which is precisely why there's explicit forward reference processing there. So, a single pass is never the case. My statement was incorrect.
What I meant was that it goes from source code to WASM-GC in one go, entirely in the browser (no LLVM, no Binary, no round trip to the server, and the WASM-GC backend is handwritten in C).