Actor

ScalaのAPIリファレンスで上の方に位置している「scala.actors」というのが気になる。
Javaをいじってた頃には見たことも聞いたこともない単語だけど、ドキュメントとか読んでいると頻繁に出てくるので、何かとんでもなくなく大事な何かなのだろうという雰囲気だけがブリブリとする。

Wikipediaによると

wikipedia:アクターモデル

アクターモデル(Actor Model)とは、1973年、カール・ヒューイット、Peter Bishop、Richard Steiger が発表した並行計算の数学的モデルの一種[1]。アクターモデルでは、並行デジタル計算の汎用的基本要素として「アクター」という概念を導入している。アクターモデルは並行性の理論的理解のフレームワークとして使われるほか、並行システムの実装の理論的基礎としても利用されてきた。

ほほう、なるほど。そういうことかね。フムフム…

全然わからない

Wikipediaは文字が多いからキライだよ。
関数型言語って数学と仲がよいのかな。Scalaの周りには数学の難しい話がいっぱい出てくるような気がする。チュートリアルにもいきなり微分の話が出てきてひっくり返りそうになったし。


なんとなくsbazというライブラリ管理のツールを叩いたら、

$ sbaz available
(略)
scala-actors-examples (0.4, 0.3)
(略)

っていうのが出てきたので、「こいつを読めば何か分かるかもしれない!」と鼻息も荒くインストールしたのですが、「examples」フォルダにできたファイルをコンパイルしたらコンパイルエラーになった。なんてこったい。

JavaにあるThreadクラスみたいなもの?

コンパイルには失敗したものの、サンプルコードを読むと

class ExampleActor extends Actor {
  override def run: unit = {
    // (略)
  }
}

とか

val a0 = new ExampleActor
a0.start

とか書いてあるので、多分スレッドみたいな何かなんだろうと思うのだけど…
俳優とスレッドがどう結びつくのかわからない。また明日調べよう。ドキュメントを読もう。英語はキライだ。


塵芥ー