|
|
|
|
|
by slavapestov
279 days ago
|
|
> Bidirectional constraint solving. It's bad for compile time but even worse for predictable diagnostics. That’s really only true if you have overloading though! Without overloading there are no disjunction choices to attempt, and if you also have principal typing it makes the problem of figuring out diagnostics easier, because each expression has a unique most general type in isolation (so your old CSDiag design would actually work in such a language ;-) ) But perhaps a language where you have to rely on generics for everything instead of just overloading a function to take either an Int or a String is a bridge too far for mainstream programmers. |
|
It feels like a much better design point overall.