edX で受けた プログラミングパラダイム の講義のなかで,

" これからは, Scala と Erlang だ!C++ と Java はレガシーになりつつある!"

とのことだったので, ちょっと scala をいじってみようと思います.

Environment

  • Linux Mint 16 64bit
  • Scala 2.9

Installing Scalas

Installing the JDK

Scala は JVM 上で動作する. まずは JDK をインストール.

sudo apt-get install openjdk-7-jdk

Installing sbt

Scala のビルドツールである sbt を入れる. 以下から Download して, 解凍. なかにある bin ディレクトリにパスを通す.

日本語のドキュメントがあった.

Installing Scala

sudo apt-get install scala

以下から最新版をダウンロードしてもよい.

ダウンロードしたら bin ディレクトリにパスを通す.

# Scala
export PATH=$HOME/app/sbt/bin:$PATH
export PATH=$HOME/app/scala/bin:$PATH

Hello Scala

それでは, お決まりの儀式から.

object Hello extends App {
  println ("Hello, Scala!")
}

以下で実行.

% scalac Hello.scala
% scala Hello
Hello, Scala!

Installing Emacs

Emacs 自体のインストール方法は省略.

Installing scala-mode

scala-mode と scala-mode2 がある. 2 を入れた.

Installing Ensime

Scala 用の統合開発環境. インストールはは github にしたがえばよい.

Ensime Server をダウンロードしてロードパスの通った場所におく.

(ハマリメモ. github から落としてきたやつではなくて, Dropbox から落とした Reliese 番でないとダメなんだね. めちゃくちゃハマった)

.ensime を作成

ensime を利用するには, .ensime という設定ファイルが必要.

上記を参考に~/.sbt/plugins/plugins.sbt を作成し, 以下を記入.

resolvers += Resolver.sonatypeRepo ("snapshots")

addSbtPlugin ("org.ensime" % "ensime-sbt" % "0.1.5-SNAPSHOT")

M-x ensime-config-gen というコマンドでも対話的に設定ファイルが作成できるらしい.

Hello.scala を開いたディレクトリで以下を実行.

sbt "ensime generate"

emsime 実行

これで, .ensime が生成される.

Emacs 上で M-x ensime を実行. 先ほど生成した.ensime の場所を教える.

今日はこんなところで. 逐次, 追記予定.

Special Thanks

Emacs Scala Youtube Video Tutorials

追記 2014-06-21

sbt-mode というものもある.

機能的には ensime とおなじようなことができるし, ensime ファイルを作成しなくてもいいので導入が楽.

ensime よりよいところは, M-x sbt-send-region で Scala REPL にリージョンを送信することができるところ. これは便利そう.

また, repl を autoload する方法もあるようだ.