Loading AI tools
ウィキペディアから
Wolfram言語はウルフラム・リサーチが開発した汎用性の高いマルチパラダイムプログラミング言語[5]であり、MathematicaとWolfram Programming Cloudのプログラミング言語である[6]。 記号プログラミング、関数型プログラミング、ルールベースプログラミング[7]に重点を置いており、任意の構造やデータが扱える[7]。
パラダイム | マルチパラダイム: 項書き換え, 関数型, 手続き型, 配列 |
---|---|
登場時期 | 1988 |
設計者 | スティーブン・ウルフラム |
開発者 | ウルフラム・リサーチ |
最新リリース | 14.1/ 2024/7/31 |
型付け | 動的, 強い |
主な処理系 | Mathematica, Wolfram Development Platform, Mathics, MockMMA |
影響を受けた言語 | |
影響を与えた言語 | Julia[3] |
プラットフォーム | クロスプラットフォーム |
ライセンス | プロプライエタリ(プラットフォームによっては無料で利用可能)[4] |
ウェブサイト | www.wolfram.com/language & WolframLanguage.org |
拡張子 | .nb, .m, .wl |
チューリングマシンの生成および実行、グラフィックスと音声の作成、三次元モデルの解析、行列の操作、微分方程式の解法のための組み込み関数などが含まれている。ドキュメントも豊富である[8]。
Wolfram言語はRaspberry Piのすべてのシステムソフトウェアにバンドルされている[9][10]。CES 2014で発表されたIntel EdisonもWolfram言語を統合している[11][12]。 Unityゲームエンジンにも統合される予定である[13]。
Wolfram言語という呼び方が正式とされたのは2013年6月からである。しかしそれ以前から30年以上Mathematicaのプログラミング言語を指し示す名称として使われていた[6][14]。他にも関係者間では「M」などいくつかの呼び名が使われた。公式名として検討に上がったものに「Lingua」や「Express」がある[7]。
スティーブン・ウルフラムとクリストファー・ウルフラムは、映画『メッセージ』の制作において、Wolfram言語を使って異星人の言語の作成に携わった[15][16]。
Wolfram言語は基本的にLispのM式と似た形式である。多くのシンタックスシュガーが用意されているため、構文を親しみやすい形式で表現することができる。
シンタックスシュガー
による表現 (InputForm) |
基本形式 (FullForm) |
---|---|
(a + b) * c |
Times[Plus[a,b],c] |
{1, 2, 3<nowiki>}</nowiki> |
List[1, 2, 3] |
f[x, y] |
f[x, y] |
以下は引数 x をとる関数 f の定義の例である。
f[x_] := x ^ 2 (*SetDelayed[f[Pattern[x,Blank[]],Power[x,2]*)
:=
は遅延代入演算子と呼ばれ、これにより割り当てられた値は、値が必要になるたびに再評価される。x_
はあらゆる式にマッチするパターンで x という名前で参照される。Wolfram言語では関数はパターンに関する変換規則として与えられる。
Wolfram言語では無名関数が用意されており、純関数と呼ばれる。
1を足す純関数は以下のように表される。
(#+1)& (* Plus[Slot[1], 1] *)
以下の式
(#+1)&[50] (*=51*)
は51に評価される。
Wolfram言語では部分式に対してパターンマッチングを行い、置換を行う構文が用意されている。
f[a] /. a->b (* ReplaceAll[f[a], Rule[a, b] *)
を評価するとf[b]
が得られる。
Wolfram言語では手続き型のプログラムもサポートしている。ただし、多くの場合は必要でない。
以下のc言語のプログラム
int func(int n){
int i,r=0;
for(i=1;i<n;i++){
r+=i*i;
}
return r;
}
はMathematicaでは
func[n_]:=Module[{i,r=0},
For[i=0,i<n,i++,
r+=i*i;
];
r
]
と表現される。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.