I'm Luke

@luke_dot_js

@lukewestby

@luke

builtwithelm.co

elm-http-builder

elm-template

elm-verbal-expressions

elm-community

Testability

Maintainability

Reliability

Today's Plan

  • Talk about what Elm is
  • Talk about what makes code untestable, unmaintainable, and unreliable
  • Write some Elm
  • Share resources for further learning

Elm

The best of functional programming in your browser

The best of functional programming...

  • Immutable data structures
  • Stateless functions
  • Clean syntax
  • Managed effects
  • No confusing type constructs

... in your browser

  • Compiles to JavaScript
  • Highly performant Virtual DOM
  • Good coverage of the web platform
  • Easy JavaScript interop

Things that are not...

testable

  • Mutable data
  • Side-effects
  • Implicit state

maintainable

  • Untyped data and functions
  • Unpredictable application structure
  • Unmanaged module interactions
  • Weak tools

reliable

  • null
  • Runtime errors
  • Type errors
  • Unpredictable package managers

Let's build a thing

Further learning

Testability, Maintainability, Reliability: Building Applications with Elm

By lukewestby

Testability, Maintainability, Reliability: Building Applications with Elm

  • 1,020