upvote
Elixir predates set-theoretic types. Simon Marlow took a solid crack at typed Erlang 30+ years ago and couldn’t make it work and preserve what Erlang is. 9 years later Success Typings was published and Dialyzer happened. Not the best, but far better than what any other dynamic language had at that time, and Elixir had that available from the beginning.

So it is possible new theory was actually needed to preserve everything that was judged more valuable than types.

reply
Fair enough, however given past experiences, there is probably value designing dynamic languages with optional typing from day one.

In any case, most of these questions are starting to become less relevant as we switch to having robots doing the programming instead.

Now the question is how to typecheck natural languages.

reply