“Unlike Haskell and other members of the ML family, Erlang is not a
staticly typed language. There are a number of historical reasons for
this, mostly that when Erlang was being created that the people who
created it did not really know how to build a type System.”
I believe that the main reason for lack of static types in Erlang is the
minimalistic and powerful nature of its message passing. We have the
same “bus” for control messages and data messages, everything is passed
using the same operator and following the same logic.
Of course, a number of people (including myself) are dreaming of
statically typed Erlang but it's not the question of “simply” getting
the semantics of Erlang and adding language constructs that will support
“good” type system.
So, before accusing authors of Erlang with not knowing how to build a
type system, I'd think about the number of LISPers who use typed racket.
“Unlike Haskell and other members of the ML family, Erlang is not a staticly typed language. There are a number of historical reasons for this, mostly that when Erlang was being created that the people who created it did not really know how to build a type System.”
I believe that the main reason for lack of static types in Erlang is the minimalistic and powerful nature of its message passing. We have the same “bus” for control messages and data messages, everything is passed using the same operator and following the same logic.
Of course, a number of people (including myself) are dreaming of statically typed Erlang but it's not the question of “simply” getting the semantics of Erlang and adding language constructs that will support “good” type system.
So, before accusing authors of Erlang with not knowing how to build a type system, I'd think about the number of LISPers who use typed racket.