Category:Elm: Difference between revisions

m
fixed typo
No edit summary
m (fixed typo)
 
(3 intermediate revisions by 3 users not shown)
Line 8:
}}
 
'''Elm''' is a programming language for developpingdeveloping browser-based applications and graphical user interfaces that strictly adheres to the functional reactive paradigm. This means that Elm does not rely on mutability or destructive updates.
 
In order to run web applications, Elm compiles to Javascript, HTML, and CSS. The Functional reactivemodel-view-update programming is whatarchitecture is used in lieu of event handlers and callbacks through the use of Signals. For right markup, Elm allows to embed Markdown directly in the language.
 
Elm's syntax closely resembles that of Haskell while influenced by OCaml, FSharp, and Javascript. Unlike Haskell, Elm's "has type" operator is written with a single colon and borrows the application operators (<|) and (|>) from FSharp. From Javascript, Elm borrows the idea of JSON-like objects which it turns into extensible records. These are type-safe objects whose fields are accessible with a (.) operator but have the peculiarity of being extensible. This means that records in Elm have the flexibility of Javascript objects minus their unpredictable dynamism.
 
{{language programming paradigm|Functional}}
Similar but not quite like Haskell's Monads, Signals are the way of introducing side-effects in Elm. While (for example) an "Int" does not have a mutable state, a "Signal Int" does.
{{language programming paradigm|Declarative}}
256

edits