IPython NotebookでScalaを使う

PythonにはIPython NotebookというWebブラウザで利用可能なインタラクティブシェルがあります。これは編集内容を保存できたり、過去に実行した内容を繰り返し実行できたりなど、ちょっとしたコードを試したり学習用途には最適なものです。

IPythonは言語非依存部分がJupyterとして独立しており、サードパーティによってPython以外にも様々な言語用のカーネルが開発されているようです。jupyter-scalaを使うとIPython NotebookでScalaを使うことができました。

インストール&実行方法は簡単で、予めIPythonをインストールしたのち、jupyter-scalaのサイトからアーカイブをダウンロードし、適当な場所に展開後、展開したディレクトリのbinディレクトリに含まれているjupyter-scalaというシェルスクリプトを実行します。これでScala用のカーネルがIPythonに登録されるので、あとは普通にPython Notebookを起動します。

するとScalaのノートブックが作成できるようになっています。

f:id:takezoe:20150715024638p:plain

もちろん補完もできます。

f:id:takezoe:20150715024609p:plain

ノートブックで以下のようなコードを実行すると外部ライブラリを読み込むことができます。

load.resolver("scalaz-bintray" at "http://dl.bintray.com/scalaz/releases")
load.ivy("org.scalaz.stream" %% "scalaz-stream" % "0.7.1a")

Scalaの学習用途だけでなく、ライブラリの動作を確かめたりするのにも良さそうですね。