|
|
|
|
|
by slavapestov
282 days ago
|
|
So what did you decide to give up on? Overloading functions with the same name, or bidirectional constraint solving? :) These days though the type checker is not where compile time is mostly spent in Swift; usually it’s the various SIL and LLVM optimization passes. While the front end could take care to generate less redundant IR upfront, this seems like a generally unavoidable issue with “zero cost abstraction” languages, where the obvious implementation strategy is to spit out a ton of IR, inline everything, and then reduce it to nothing by transforming the IR. |
|