News for hackers. Stuff that matters.
Re:Exotic Programming Ideas, Part 3: Effect Systems by dan-robertson on Sunday November 22, 2020 @05:32PM (#25181747)
In every language I’ve used where types can be inferred, almost everyone writes down the types of their top level functions (or at least the functions that are exposed to clients). I don’t think this is really a good counter argument.

The only ways I know of to reliably make this kind of change (or just about any nontrivial change) to an interface are increasing version numbers and letting clients suffer or having a monorepo and fixing all the clients yourself

Re:Exotic Programming Ideas, Part 3: Effect Systems by AaronFriel on Monday November 23, 2020 @03:08PM (#25191119)
In Haskell, it's the norm I think to do both: let the compiler infer the type and then add the inferred type to the code. This locks in compatibility.