Introduction to Elm

What is elm?

  • A pure statically typed functional language
  • designed to declaratively describe web apps
  • embeds a flavour of functional reactive programming in the language itself

Why do we care?

  • Solves the JS problem
  • Solves the cljs problem
  • Really good type system and compiler
  • No runtime exceptions (seriously)
  • NO RUNTIME EXCEPTIONS
  • Guarantees - no side effects, no mutation

Why do we care?

Why do we care?

How does it work?

S

S

S

S

Signals

S (Actions)

Combine

S (Model)

Foldp

View

Let's build a simple thing

Blue Clicks

Red Clicks

Green Clicks

Total Clicks

clickcounter.io

For a slightly more complicated thing ...

Made with Slides.com