4 ms·
> One pass, all the way down to bytecode > hands off to two of its own IRs before writing WASM-GC by hand So it's not "one pass" lol. Do you know what a pass
by wavemode 3mo ago
> One pass, all the way down to bytecode
> hands off to two of its own IRs before writing WASM-GC by hand
So it's not "one pass" lol. Do you know what a pass is?
Not that it matters - this AI is claiming "one pass" as though that's a good thing, but it's usually not. One-pass compilers can't typecheck forward references.
- deleted 3mo ago[deleted]
- RetroTechie 3mo agoAlso, 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.
- stronglikedan 3mo ago'by hand' is probably the AI anthropomorphizing itself
- codys 3mo agoPrompt regurgitation. Model was likely instructed to create the app to do this piece "by hand" (or a phrase with similar interpretation) because the author wanted to avoid pulling in a dependency of some kind.
- toprakdeviren 3mo ago[dead]
- toprakdeviren 3mo agoThank you. 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).