Conversation

what static typing gives you: if your code is guaranteed to work* it will run. otherwise it will not. what i actually want: if your code is guaranteed to fail* it will not run. otherwise it will. * for some language specific definition of work/fail
7
30
I'm pretty sure this is the approach Erlang's Dialyzer takes, based on ‘success typing’. But yeah, while I think it's cool I'm less of a fan of it in practice because it always felt like I couldn't trust it, especially when refactoring.
1