Elm is used by a pretty broad range of people these days, from companies with 400k lines of Elm to educators teaching Elm to thousands of middle school and high school students. Why? Through almost a decade of working on Elm, my technical work has been influenced by three distinct theories of adoption. What does a programmer want? What does a team want? And what does a large organization want? Each revealing its details in phases.
This talk aims to illustrate these three theories by examining the cause and effect of various Elm releases. Friendly error messages, minimizing executable sizes, reducing compile times, removing language features, etc. What was the motivation? What was the result in terms of adoption? These days I am thinking a lot about the fundamental barriers to adoption by the biggest tech firms, so we will build towards that.
I hope sharing my experiences will be helpful to others making their own path as a language designer.