Elixir (linguagem de programação): diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
Linha 26:
* Funções de Erlang podem ser chamadas de Elixir, sem impacto no [[tempo de execução]], devido à compilação para o bytecode Erlang, e vice-versa
* Metaprogramação permitindo a manipulação direta de [[árvore sintática abstrata|árvores sintáticas abstratas]]<ref name="elixirhome" />
* Suporte para documentação via docstrings tipo Python na linguagem de formatação Markdown.ref name=<"elixirhome" />
<!--
 
* [[Polymorphism (computer science)|Polymorphism]] via a mechanism called protocols. Like in [[Clojure]], protocols provide a [[dynamic dispatch]] mechanism. However, this is not to be confused with [[multiple dispatch]] as Elixir protocols dispatch on a single type.
* Support for documentation via Python-like docstrings in the Markdown formatting language<ref name="elixirhome" />
* [[Shared nothing architecture|Shared nothing concurrent programming]] via message passing ([[Actor model]])<ref>{{cite book|last1=Loder|first1=Wolfgang|title=Erlang and Elixir for Imperative Programmers|date=12 May 2015|publisher=Leanpub|location="Chapter 16: Code Structuring Concepts", section title "Actor Model"|url=https://leanpub.com/erlangandelixirforimperativeprogrammers|accessdate=7 July 2015}}</ref>
* Emphasis on [[recursion (computer science)|recursion]] and [[higher-order function]]s instead of [[side-effect (computer science)|side-effect]]-based [[loop (computing)|looping]]