![]() The Elm tangram | |
Paradigm | functional |
---|---|
Family | Haskell |
Designed by | Evan Czaplicki |
First appeared | March 30, 2012[1] |
Stable release | 0.19.1
/ October 21, 2019[2] |
Typing discipline | static, strong, inferred |
Platform | x86-64 |
OS | macOS, Windows |
License | Permissive (Revised BSD)[3] |
Filename extensions | .elm |
Website | elm-lang |
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.
Those of you familiar with the Elm style may recognize that the updated --explain messages draw heavy inspiration from the Elm approach.
Roc is a direct descendant of the Elm programming language. The two languages are similar, but not the same!