Content deleted Content added
→Features: little improvement in higher order functions part. See my comment in discussion. |
→Features: I did not found if Elm is eager or lazy, but an experiment with streams showed that it is an eager language. |
||
Line 25:
== Features ==
Elm has a small set of language constructs, including traditional if-expressions, let-expressions for local state, and case-expressions for [[pattern matching]].<ref name="syntax">{{cite web|url=http://elm-lang.org/learn/Syntax.elm|title=syntax|website=elm-lang.org|access-date=2013-05-31|archive-url=https://web.archive.org/web/20160313052210/http://elm-lang.org/learn/syntax.elm|archive-date=2016-03-13|url-status=dead}}</ref> As a functional language, it supports [[anonymous function]]s, functions as argumensts, and functions can return functions, the later often by partial application of curried functions. Functions are called by name. Its semantics include immutable values, [[pure function|stateless functions]], and static typing with type inference. Elm programs render HTML through a virtual DOM, and may interoperate with other code by using "JavaScript as a service".
=== Immutability ===
|