Macに最新版Docker(1.12.0-rc2)を入れて試してみた
Scalaで始める関数型プログラミング入門
なんとなく今更感ではあるものの、ちゃんとやっていきたいなと思ったので備忘録です。
関数型のメリット
- 副作用の排除
副作用とは
ある機能がコンピューターの(論理的な)状態を変化させ、それ以降で得られる結果に影響をあたえることをいう
- 変数への値の代入
- データ構造を直接変更する
- オブジェクトのフィールドを設定する
- 例外をスローする、またはエラーで停止する
- コンソールに出力する、ユーザ入力を読み取る
- ファイルを読み取る、ファイルに書き込む
- 画面上に描画する
純粋関数
副作用を持たない関数
メリット
- 宣言的な記述なため、簡潔に書けることが多く、関数の仕様を理解しやすい
- 副作用がないため、形式的な証明がし易い
- 関数の評価結果がコンテキストに依存しないため、テストがし易い
- コンテキストに影響を与えないため、関数を組み合わせて利用しても相互に影響しない
インストール
scalaenvを使ったインストール
scalaenvのインストール
$ git clone git://github.com/mazgi/scalaenv.git ~/.scalaenv $ echo 'export PATH="${HOME}/.scalaenv/bin:${PATH}"' >> ~/.bashrc $ echo 'eval "$(scalaenv init -)"' >> ~/.bashrc
scalaのインストール
$ scalaenv install -l $ scalaenv install scala-2.11.7 $ scalaenv versions続きを読む