Elm is a frontend language that compiles to JavaScript, is strongly-typed, purely-functional, immutable, and promises *NO RUNTIME ERRORS*. No, really. On top of all that, Elm brings enforced semantic versioning, a robust package manager, unidirectional data flow (Redux references Elm as prior art!), a friendly compiler with helpful error messages, and super clean syntax.
Let me share with you the joy that is Elm when building out a frontend application.