Elixir (programming Language)
elixir programming language
Paradigm multi-paradigm: functional, concurrent, distributed, process-oriented
First appeared 2011; 7 years ago (2011)
Stable release
1.6.4 / 16 March 2018; 6 days ago (2018-03-16)[1]
Typing discipline dynamic, strong
Platform Erlang
License Apache License 2.0[2]
Filename extensions .ex, .exs
Website elixir-lang.org
Influenced by
Erlang, Ruby, Clojure

Elixir is a functional, concurrent, general-purpose programming language that runs on the Erlang virtual machine (BEAM). Elixir builds on top of Erlang and shares the same abstractions for building distributed, fault-tolerant applications. Elixir also provides a productive tooling and an extensible design. The latter is supported by compile-time metaprogramming with macros and polymorphism via protocols.[3]

Elixir is used by companies such as E-MetroTel, Pinterest[4] and Moz.[5] Elixir is also used for web development, by companies such as Bleacher Report, Discord, and Inverse,[6] and for building embedded systems.[7][8] The community organizes yearly events in United States[9][10][11], Europe[12] and Japan[13] as well as minor local events and conferences.[14][15]


José Valim is the creator of the Elixir programming language, an R&D project of Plataformatec. His goals were to enable higher extensibility and productivity in the Erlang VM while keeping compatibility with Erlang's ecosystem.[16][17]



The following examples can be run in an iex shell or saved in a file and run from the command line by typing elixir <filename>.

Classic Hello world example:

iex> IO.puts "Hello World!"
Hello World!


iex> for n <- [1,2,3,4,5], rem(n,2) == 1, do: n*n
[1, 9, 25]

Pattern Matching

iex> [1, a] = [1, 2]
iex> a

iex> {:ok, [hello: a]} = {:ok, [hello: "world"]}
iex> a


defmodule Fun do
  def fib(0), do: 0
  def fib(1), do: 1
  def fib(n) do 
    fib(n-2) + fib(n-1)  

Sequentially spawning a thousand processes

for num <- 1..1000, do: spawn fn -> IO.puts "#{num * 2}" end

Asynchronously performing a task

task = Task.async fn -> perform_complex_action end
Task.await task

Noteworthy Elixir projects

  • Phoenix is a web framework built on Elixir
  • Ecto is a database wrapper and language integrated query for Elixir
  • Cowboy is a small, fast and modern HTTP server for Erlang/OTP.
  • Plug is a specification and conveniences for composable modules between web applications
  • Absinthe is a GraphQL implementation for Elixir.


  1. ^ "v1.6.4". Retrieved . 
  2. ^ "elixir/LICENSE at master · elixir-lang/elixir · GitHub". GitHub. 
  3. ^ "Elixir". José Valim. Retrieved . 
  4. ^ "Introducing new open-source tools for the Elixir community". Retrieved . 
  5. ^ "Unlocking New Features in Moz Pro with a Database-Free Architecture". Retrieved . 
  6. ^ "What big projects use Elixir?". Retrieved . 
  7. ^ "Elixir in production interview: Garth Hitchens". Retrieved . 
  8. ^ "Nerves - Craft and deploy bulletproof embedded software in Elixir". Retrieved . 
  9. ^ "ElixirConf 2014". Retrieved . 
  10. ^ "ElixirConf 2015". Retrieved . 
  11. ^ "ElixirConf". Retrieved . 
  12. ^ "ElixirConf". Retrieved . 
  13. ^ "ElixirConf.jp". Retrieved . 
  14. ^ "Elixir LDN". Retrieved . 
  15. ^ "EMPEX - Empire State Elixir Conference". Retrieved . 
  16. ^ Elixir - A modern approach to programming for the Erlang VM. Retrieved . 
  17. ^ José Valim - ElixirConf EU 2017 Keynote. Retrieved . 
  18. ^ a b c d e f "Elixir". Retrieved . 
  19. ^ Loder, Wolfgang (12 May 2015). Erlang and Elixir for Imperative Programmers. "Chapter 16: Code Structuring Concepts", section title "Actor Model": Leanpub. Retrieved 2015. 

External links

  This article uses material from the Wikipedia page available here. It is released under the Creative Commons Attribution-Share-Alike License 3.0.



Connect with defaultLogic
What We've Done
Led Digital Marketing Efforts of Top 500 e-Retailers.
Worked with Top Brands at Leading Agencies.
Successfully Managed Over $50 million in Digital Ad Spend.
Developed Strategies and Processes that Enabled Brands to Grow During an Economic Downturn.
Taught Advanced Internet Marketing Strategies at the graduate level.

Manage research, learning and skills at defaultLogic. Create an account using LinkedIn or facebook to manage and organize your Digital Marketing and Technology knowledge. defaultLogic works like a shopping cart for information -- helping you to save, discuss and share.

  Contact Us