Haskellの勉強をDockerを使って始める

いい加減に関数型言語を1つくらい触っておかないとエンジニアとして生き残れなそうな気がしてきたので、勉強を始めてみた。

参考資料

書籍

関数プログラミング実践入門 ──簡潔で、正しいコードを書くために (WEB+DB PRESS plus)

Web

勉強方法

環境

hsenv を使って環境を作ってもいいけど、hsenvの使い方から調べるのが面倒だったので、簡単に試せるDockerを使っている。

$ docker pull haskell
$ docker run -it haskell
GHCi, version 7.10.2: http://www.haskell.org/ghc/  :? for help
Prelude>

勉強中にファイルを実行したい場合もあるから、普段は下記のshellスクリプトを使っている。

#!/bin/sh

if [ -n "$*" ]
  then docker run -v $(pwd):/app -w /app haskell $*
else
  docker run -it haskell
fi

写経

やっぱり手を動かさないと覚えられないので、まずは写経してsinsoku/studyに放り込んでいる。
新しい言語を最初から完璧に理解なんてできないし、コードをたくさん書いて、慣れるのが大事。

関数型を始めた感想

今まで触ってきた言語と違って、記法が独特だったり、再帰があって読みづらい。
ただ、数学の定義っぽく書けるのは面白いので、ちゃんと身につけて使いこなせるようになりたい。