
Practical Type Inference Based on Success Typings (2006) [pdf] - madflame991
http://www.it.uu.se/research/group/hipe/papers/succ_types.pdf
======
rlander
_Changing the philosophy of a programming language, especially one with
existing applications of considerable size, is not a task with a high
likelihood of success. In this paper, rather than starting from a static type
system and trying to squeeze Erlang into it, we followed a different
approach._

I've always wondered why people still try to shoehorn type systems into
dynamic languages. So, why isn't there a Dialyzer for Ruby or Python or JS?

~~~
madflame991
There are type inspection tools for JS - Webstorm has one and then there is
the open source tern.js and facebook's flow. I imagine in erlang it's a bit
easier to infer types in erlang because it's immutable and because functions
don't just take whatever amount of arguments (like in JS). I'd say erlang is
not as dynamic as JS.

The research around erlang is due to the fact that it's heavily backed by
Ericsson and the university in Uppsala (it's common for Uppsala master theses
to be erlang-related). The other languages have more "neutral" origins.

------
rdtsc
Dialyzer is a really nice tool for Erlang. I think Python might be getting
something similar in the coming revisions but Erlang has had it for a while.

Here is a more concise and approachable intro on the topic:

[http://learnyousomeerlang.com/dialyzer](http://learnyousomeerlang.com/dialyzer)

