How to understand Elm's culture

Elm is easy to learn. But depending on your prior language experience, it can be hard to adapt to!

Want a better grasp on how to make the most of Elm? These 5 videos can help bridge the gap:

🙅‍♀️ Making Impossible States Impossible - Richard Feldman

Richard Feldman demonstrates the strength of Elm’s type system, showing how it allows you to model your data precisely.

Invalid states you might encounter in other languages can be made unrepresentable.

😵‍💫 Solving the Boolean Identity Crisis - Jeremy Fairbank

Jeremy Fairbank shows common pitfalls that result from depending on familiar built-in primitive types like Bool, String, and Int, and recommends better alternatives that Elm makes possible.

🪶 The Life of a File - Evan Czaplicki

In JavaScript, files are often kept small to prevent unwanted interactions between objects.

In Elm, these interactions are not possible! Files can be better organized around data structures and helper functions.

🏔 Scaling Elm Apps - Richard Feldman

Richard Feldman discusses narrowing function signatures to organize code, reduce cognitive load, and make debugging easier.

He also explains the mistake of misapplying object-oriented “parent-child communication”.

🏅 What is Success? - Evan Czaplicki

Elm has very different cultural norms than JavaScript, and has received toxic criticism online for its differences.

Evan illustrates Elm’s design values and makes a case for its model of success and sustainability.


This post was originally a Twitter thread as part of Ship 30 for 30.