Content deleted Content added
m Fix Clojure link |
Add a history, features and references section |
||
Line 14:
}}
{{Portal|Free software}}
Elixir is a [[functional language|functional]], [[concurrent computing|concurrent]], general-purpose [[programming language]] built on top of the [[Erlang (programming language)|Erlang]] Virtual Machine (BEAM). Elixir builds on top of Erlang to provide distributed, fault-tolerant, soft real-time, non-stop applications but also extends it to support meta-programming with macros and polymorphism via protocols.<ref>{{cite web |url=http://elixir-lang.org|title=Elixir | work=José Valim | accessdate=2013-02-17}}</ref>
==History==
José Valim is the creator of the Elixir programming language. His goals were to enable higher extensibility and productivity in the Erlang VM while keeping compatibility with Erlang's tools and ecosystem.<ref>{{ cite web |url=http://vimeo.com/53221562|title=Elixir - A modern approach to programming for the Erlang VM | accessdate=2013-02-17}}</ref>
==Features==
* A language targeting [[Erlang (programming language)|Erlang]] Virtual Machine (BEAM)
* Seamless [[Erlang (programming language)|Erlang]] integration: zero-penalty Erlang function calls (and vice versa)
* Meta programming via [[Lisp macro|macros]] and a first-class AST
* [[Polymorphism (computer science)|Polymorphism]] via protocols inspired by [[Clojure]]
* First-class documentation
* [[Shared nothing architecture|Shared-nothing concurrent programming]] via message passing ([[Actor model]])
* Emphasis on [[recursion (computer science)|recursion]] and [[higher-order function]]s instead of [[side-effect (computer science)|side-effect]]-based [[loop (computing)|looping]].
* Everything is an expression
* [[Pattern matching]]
* [[Unicode]] support and [[UTF-8]] strings
== References ==
{{reflist|1}}
== External links ==
* [http://elixir-lang.org/ Elixir language website]
* [http://github.com/elixir-lang/elixir/ GitHub code repository for Elixir]
* [http://vimeo.com/53221562 Elixir - A modern approach to programming for the Erlang VM video presentation]
[[Category:Programming languages]]
|