Elixir_(プログラミング言語)
[Wikipedia|▼Menu]
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%;font-size:90%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}html.client-js body.skin-minerva .mw-parser-output .mbox-text-span{margin-left:23px!important}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}

この記事の出典や参考文献は、一次資料や記事主題の関係者による情報源に頼っています。信頼できる第三者情報源とされる出典の追加が求められています。
出典検索?: "Elixir" プログラミング言語 ? ニュース ・ 書籍 ・ スカラー ・ CiNii ・ J-STAGE ・ NDL ・ dlib.jp ・ ジャパンサーチ ・ TWL(2016年4月)

Elixirパラダイム関数型プログラミング並行計算、プロセス指向プログラミング 
登場時期2012年 (2012)
開発者Jose Valim 
最新リリース1.16.3 / 2024年5月20日[1]
型付け強い動的型付け
影響を受けた言語ErlangRubyClojure 
プラットフォームクロスプラットフォーム 
ライセンスApache-2.0 
ウェブサイトelixir-lang.org
拡張子ex、exs 
テンプレートを表示
.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:#f9f9f9;display:flow-root}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}ポータル FLOSS

Elixir (エリクサー) は並行処理の機能や関数型といった特徴を持つ、Erlang仮想マシン (BEAM) 上で動作するコンピュータプログラミング言語である。ElixirはErlangで実装されているため、分散システム、耐障害性、ソフトリアルタイムシステム等の機能を使用することができるが、拡張機能として、マクロを使ったメタプログラミング、そしてポリモーフィズムなどのプログラミング・パラダイムもプロトコルを介して実装されている。[2]
歴史

高い拡張性があり、Erlangの仮想環境上で動作するシステムを目標に、Jose Valimによって開発された。[3]
特徴

Erlangの仮想環境 (BEAM) 上で動作する

Erlangの関数を呼び出せるため、Erlangのシステムにシームレスに統合できる

LISPのマクロと抽象構文木によるメタプログラミング

Clojureのようなプロトコルによるポリモーフィズム

ファーストクラス・ドキュメント

メッセージ交換アクターモデルによるシェアード・ナッシング・アーキテクチャを採用

副作用が起こる循環構造の代わりに、再帰高階関数に重点を置く

構文は全てとして扱われる

遅延評価と非同期処理

パターンマッチング

標準で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> a2iex> {: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) endend
1000個のプロセスを順番に立ち上げ
for num <- 1..1000, do: spawn fn -> IO.puts "#{num * 2}" end
非同期実行
task = Task.async fn -> perform_complex_action() endother_time_consuming_action()Task.await task
参考文献^ 出典URL: https://github.com/elixir-lang/elixir/releases/tag/v1.16.3, 閲覧日: 2024年5月22日, 題名: Release 1.16.3, 出版日: 2024年5月20日
^ “ ⇒Elixir”. Jose Valim. 2013年2月17日閲覧。
^ “Elixir - A modern approach to programming for the Erlang VM”. 2013年2月17日閲覧。


Dave Thomas:「プログラミングElixir」、オーム社、ISBN 978-4-274-21915-3(2016年8月19日)。

Dave Thomas:「プログラミングElixir」(第2版)、オーム社、ISBN 978-4-274-22637-3(2020年12月)。

外部リンク

公式ウェブサイト
(英語)

elixir - GitHub (英語)

Elixir - A modern approach to programming for the Erlang VM video presentation (英語)










コンピュータ・プログラミング言語
低水準言語

機械語

アセンブリ言語

高水準言語

1950年代

FORTRAN

ALGOL

RPG

COBOL

1960年代

LISP

CPL

BASIC

PL/I

APL

BCPL

Simula

LOGO

B

1970年代

Forth

Pascal

C

Prolog

Smalltalk

Scheme

ML

AWK

Ada

1980年代

C++

Objective-C

Common Lisp

Eiffel

Erlang

Perl

Mathematica

J

1990年代

Python

Tcl

Haskell

Visual Basic

Ruby

Lua

Delphi

Java

ECMAScript (JavaScript)

PHP


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:20 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef