Anyone looked at Elm yet?
Elm is a functional programming language for declaratively creating web browser based graphical user interfaces. Elm uses the Functional Reactive Programming style and purely functional graphical layout to build user interface without any destructive updates.
Comparison to JS: docs/from-javascript
Writing HTML apps is super easy with start-app. Not only does it render extremely fast, it also quietly guides you towards well-architected code.
###Features
-
No runtime exceptions
Yes, you read that right, no runtime exceptions. Elm’s compiler is amazing at finding errors before they can impact your users. The only way to get Elm code to throw a runtime exception is by explicitly invoking crash. -
Blazing fast rendering
The elm-html library outperforms even React.js in TodoMVC benchmarks, and it is super simple to optimize your code by sprinkling in some lazy rendering. -
Libraries with guarantees
Semantic versioning is automatically enforced for all community libraries. Elm’s package manager detects any API changes, so breaking API changes never sneak into patches. You can upgrade with confidence. -
Clean syntax
No semicolons. No mandatory parentheses for function calls. Everything is an expression. For even more concise code there’s also destructuring assignment, pattern matching, automatic currying, and more. -
Smooth JavaScript interop
No need to reinvent the wheel when there’s a JavaScript library that already does what you need. Thanks to Elm’s simple ports system, your Elm code can communicate with JavaScript without sacrificing guarantees. -
Time-traveling debugger
What if you could pause time and replay all recent user inputs? What if you could make a code change and watch the results replay without a page refresh? Try it out and see for yourself!
What do you think?