Elixir (プログラミング言語)

Elixir (エリクサー) は並行処理の機能や関数型といった特徴を持つ、Erlangの仮想マシン (BEAM) 上で動作するコンピュータプログラミング言語である。ElixirはErlangで実装されているため、分散システム、耐障害性、ソフトリアルタイムシステム等の機能を使用することができるが、拡張機能として、マクロを使ったメタプログラミング、そしてポリモーフィズムなどのプログラミング・パラダイムもプロトコルを介して実装されている。
歴史.
高い拡張性があり、Erlangの仮想環境上で動作するシステムを目標に、José Valimによって開発された。
例.
以下のサンプルはiexシェルまたはファイルに保存した上で codice_1 コマンドにて実行可能である。
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]
iex> [1, a] = [1, 2]
iex> a
2
iex> a
"world"
defmodule Fun do
 def fib(0), do: 0
 def fib(1), do: 1
 def fib(n) do 
 fib(n-2) + fib(n-1) 
 end
end
for num <- 1..1000, do: spawn fn -> IO.puts "#{num * 2}" end
task = Task.async fn -> perform_complex_action() end
other_time_consuming_action()
Task.await task