Mana (プログラミング言語)
Mana言語ではプログラミングするという行為を、ドラマの製作過程になぞらえて考える。プログラマーは映画でいう監督・脚本家・演出家である。そして、プログラムに登場する要素は役者になぞらえられ「アクター」と呼ばれる。Mana言語のプログラムは、複数のアクターという単位によって構成される。それぞれの場面に必要なアクターが、その場面のソースファイルの中に存在する。そして、各アクターがお互いの動きに応じて反応しあい、一つの場面を作り上げていく。Mana言語を象徴する概念がリクエストとプライオリティである。これはアクター同士でお互いの動きを命令しあうもので、これによって並列的な動きとアクター同士の連携を実現している。
「台本」のようなコードを記述するコンピューター言語には他に、プログラミング言語の「Shakespeare」や データ記述言語の「TVML」があるが、Mana言語ではreqやjoinなど並列制御に関する命令のみ言語使用に定義されているだけで、ゲームに関する命令は全て拡張関数として定義しなければならない。