Elm in Production: Type/Test Driven Development
summary
Tracker dashboard, new-user flow and project-members pages are written in Elm and run in production; the team adopts a hybrid workflow called Type/Test Driven Development where the Elm compiler enforces correctness and unit tests assert business rules. Integration with existing JavaScript uses ports (native code is discouraged), forcing occasional multi-language work and JSON serialization. They implement a custom fuzzy matcher because no Elm library exists, and rely on the time-travel debugger and Elm’s strong types to eliminate runtime exceptions and ease refactors.
AI-written summary · about
chapters (31)
- 0:00Intro
- 0:15Piper Niehaus
- 0:26Software Engineer at Pivotal
- 2:35Benevolent dictator for life
- 3:48What is a pure function?
- 4:44Pure vs impure functional programming languages
- 5:30Benefits of pure functional programming
- 6:11Elm time travel debugger
- 6:24Time travel debugging
- 7:30What is static typing?
- 7:59Dynamic typing
- 9:35Strong static typing tools in Elm
- 10:15Benefits of strong static typing...
- 11:03Elm's friendly compiler
- 12:03What is the Elm architecture?
- 12:45Elm architecture example
- 13:45Benefits of the Elm architecture
- 15:29Elm and functional programming at Pivotal Tracker
- 16:39The decision to use Elm
- 19:10Encoding business Logic into types
- 20:20How to structure a large Elm app?
- 21:17File structure puzzle
- 22:31Fase of refactoring Elm
- 23:32Testing in Elm
- 24:01Test/Type Driven Development (TDD)
- 25:24Testing phase 1
- 25:42Testing the update loop
- 26:21Selector pattern
- 27:02Elm tests driving structure
- 32:56As a product owner or tester...
- 36:36Strong static typing / FP in Kotlin
related talks
26mElm - Frontend with Guarantees
31mMake the Back-End Team Jealous: Elm in Production
47mElm or how I learned to love front end development
53mElm in production
39mDeveloper Happiness on the Front End with Elm
54mBeyond JavaScript Frameworks: Writing Reliable Web Apps With Elm
50mBeyond JavaScript Frameworks: Writing Reliable Web Apps With Elm
24mElm — new language, new you
