Elm programming language attributes

  • functional reactive programming language
  • compiles to JS
  • the compiler catches most errors immediately and provides a clear and understandable error message
  • purely functional
  • statically typed
  • looks like Haskell
  • time-travelling debugger
  • uses type inference
  • has its own virtual DOM implementation
  • very fast DOM diff implementation
  • your CSS and HTML are written in code :( - looks declarative (YAML-ish), breaks the separation principle
  • a steep learning curve for JS devs
  • helps dramatically, as the reactive paradigm is part of the language’s architecture