الیکسیر (زبان برنامه‌نویسی)

الیکسیر (به انگلیسی: Elixir) یک زبان برنامه‌نویسی تابعی، همروند با کارایی عمومی است که بر روی ماشین مجازی ارلنگ (BEAM) اجرا می‌شود. الیکسیر بر روی ارلنگ ساخته شده‌است تا بتواند امکان نوشتن برنامه‌های توزیع‌شده، مقاوم در برابر خطا، زنده و بدون وقفه را ارائه کند، اما با گسترش این امکانات، ویژگی‌های برنامه‌نویسی متا با استفاده از ماکروها و چندریختی از طریق پروتکل‌ها را نیز فراهم می‌کند.

 تاریخچه 
خوزه ولیم (José Valim) سازنده زبان برنامه‌نویسی الیکسیر است، یک پروژه تحقیق و توسعه در شرکت Plataformatec. هدف او فراهم کردن گسترش‌پذیری و بهره‌وری بیشتر در ماشین مجازی ارلنگ بود، به شکلی که با ابزارها و اکوسیستم ارلنگ سازگار باقی بماند.

 ویژگی‌ها 
 یک زبان که به بایت‌کد ماشین مجازی ارلنگ (BEAM) کامپایل می‌شود.
 همه چیز یک عبارت است.
 توابع ارلنگ به دلیل کامپایل به بایت‌کد ارلنگ و برعکس، می‌توانند بدون داشتن هیچ تأثیری بر روی سرعت اجرا فراخوانی شوند.
 برنامه‌نویسی متا امکان تغییر مستقیم AST را فراهم می‌کند.
 امکان چندریختی از طریق مکانیزمی که «پروتکل» نامیده می‌شود. مانند کلوژر، پروتکل‌ها یک مکانیزم توزیع پویا را فراهم می‌کنند.
 پشتیبانی از مستندات از طریق docstringهای مشابه پایتون.
 برنامه‌نویسی همروند بدون اشتراک چیزی از طریق انتقال پیام (مدل Actor)
 همروندی کم حجم با استفاده از ابزارهای و مکانیزم‌های ارلنگ و سینتکس ساده (برای مثال Task)
 انطباق الگو
 پشتیبانی از یونیکد و رشته‌های UTF-8.

 مثال‌ها 
مثال‌های مقابل می‌توانند در یک پوسته iex، یا با ذخیره کردن در یک پرونده و تایپ دستور elixir <filename> از طریق خط فرمان اجرا شوند.

مثال Hello World کلاسیک:
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> {:ok, [hello: a]} = {:ok, [hello: "world"]}
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

 پیوند به بیرون 
 سایت زبان برنامه‌نویسی الیکسیر
 کد در GitHub

رده:زبان‌های برنامه‌نویسی تطبیق الگو
رده:زبان‌های برنامه‌نویسی ساخته‌شده در ۲۰۱۲ (میلادی)
رده:زبان‌های برنامه‌نویسی هم‌روند
رده:زبان‌های برنامه‌نویسی
رده:زبان‌های تابعی
رده:نرم‌افزارهایی که از پروانه آپاچی استفاده می‌کنند