Elm (programming language)

Elm
The Elm tangram
Paradigmfunctional
FamilyHaskell
Designed byEvan Czaplicki
First appearedMarch 30, 2012; 12 years ago (2012-03-30)[1]
Stable release
0.19.1 / October 21, 2019; 5 years ago (2019-10-21)[2]
Typing disciplinestatic, strong, inferred
Platformx86-64
OSmacOS, Windows
LicensePermissive (Revised BSD)[3]
Filename extensions.elm
Websiteelm-lang.org Edit this at Wikidata
Influenced by
Haskell, Standard ML, OCaml, F#
Influenced
Redux,[4] Rust,[5] Vue,[6] Roc,[7] Derw,[8] Gren[9]

Elm is a domain-specific programming language for declaratively creating web browser-based graphical user interfaces. Elm is purely functional, and is developed with emphasis on usability, performance, and robustness. It advertises "no runtime exceptions in practice",[10] made possible by the Elm compiler's static type checking.

  1. ^ Czaplicki, Evan (30 March 2012). "My Thesis is Finally Complete! "Elm: Concurrent FRP for functional GUIs"". Reddit.
  2. ^ "Releases: elm/Compiler". GitHub.
  3. ^ "elm/compiler". GitHub. 16 October 2021.
  4. ^ "Prior Art - Redux". redux.js.org.
  5. ^ "Uniqueness Types". Rust Blog. Retrieved 2016-10-08. Those of you familiar with the Elm style may recognize that the updated --explain messages draw heavy inspiration from the Elm approach.
  6. ^ "Comparison with Other Frameworks — Vue.js".
  7. ^ "roc/roc-for-elm-programmers.md at main · roc-lang/roc". GitHub. Retrieved 2024-02-17. Roc is a direct descendant of the Elm programming language. The two languages are similar, but not the same!
  8. ^ "Why Derw: an Elm-like language that compiles to TypeScript?".
  9. ^ "Gren 0.1.0 is released".
  10. ^ "Elm home page".