Hacker News new | ask | show | jobs
by easeout 505 days ago
That's a good point. I had in mind that there's some regret about the combination of type inference with type-based overloads, due to the search expense it adds to what ought to be straightforward parsing of long expressions.
1 comments

Yeah, I think there are definitely parts of the language design / language features that are going to contribute, but when you need to parse to IR and then compile that to machine code, it seems any features you add that are nice for the developer are going to doubly hurt compile times. You see the same with ARC in swift (or the borrow checker in Rust).
Parsing IR and lowering it is not the reason why compiling Swift is slow.
What is the reason Swift compile times are slow?
Mostly type checking and name lookup
AFAIK those language features are all handled in the frontend before outputting LLVM IR. LLVM optimization, code generation, linking, etc. should all be the same regardless of the source language.
I don't know about that example—when ARC was added to Objective-C back in the day, I don't remember clang feeling any slower as a result.