「関数プログラミング実践入門」を読みました

読む前の私

というわけでHaskellの文法は見覚えはあるけど,自由自在に使えるわけではない&理解できていないことが多すぎる状態

所感

  • 序盤で他のプログラミング言語との比較があった.Rubyは書いたことがあったので同じ目的のために書くコードでどういった部分が違ってくるのかが視覚的に分かりやすい.
  • 並列化や型付け,遅延評価などHaskellの特徴となる部分で「関数型言語のこの特徴はメリットとして言われることが多いけど,デメリットや危険性もあるよ」てなことをしっかり説明してた.私の場合はメリットの部分を「なんとなくそんな話を聞いたことがある」というレベルの理解度だったため変な誤解をしている箇所が少なくなったと思う.
  • 5章の型クラス,モナドの話のあたりは難しくて,理解できていないところが特に多い場所.モナドの概念や実際にどう使えばいいかは分かっていないけど,「モナドを使うことで面倒なことをしなくて済むようになる」というモナドを使う目的をふんわりと読み取った.
  • 後半で設計テクニックについて言及されているのがよかった.中でもトップダウンに考える際の説明が,本当に思考を一歩ずつ進めていく形だったので助かった.これからコードを書いていく際に慣れるまではそのやり方を参考に進めていくつもり.
  • 個人的にはすごいH本よりもこちらのほうが読み進めやすかった.
  • 関数型プログラミング」というタイトルだが,内容は9割Haskellで説明されている.Haskell以外の関数型の言語について知りたいという場合は他の本を選んだほうがよさそう.
  • Haskellもくもく会に行ったら本のレビューをされた方がいて,分からない部分を直接質問できたりしたのでよい体験だった.
  • 型についてじっくり考えたことが無かったので,書いていて楽しい言語であった.この一冊を読了後,もっと関数型言語について理解を深めたいと思えた.

読んだ後に

本を写経しただけだとまだスムーズに書けるかんじではないので,Haskell超入門の練習問題を解いてみることにした.もっと手に馴染ませたい

Haskell 超入門 - Qiita

alice345/practice_haskell · GitHub

id:n7shi さんがHaskell超入門の勉強会を主催されているので参加してみたい.本の内容やHaskell超入門の練習問題で「どうしてこういう風に書くのだろうか?」という疑問が浮かぶことがあっても自分では解決しないことが多い...

Haskell 超入門 - connpass

読書記録

関数プログラミング実践入門 【読書記録 0章】 - Labo Memo

関数プログラミング実践入門 【読書記録 1章】 - Labo Memo

関数プログラミング実践入門 【読書記録 2章】 - Labo Memo

関数プログラミング実践入門 【読書記録 3章】 - Labo Memo

関数プログラミング実践入門 【読書記録 4章】 - Labo Memo

関数プログラミング実践入門 【読書記録 5章】 - Labo Memo

Cabal sandboxを使ってHaskellのパッケージをいい感じに管理する - Labo Memo

HLintを使ってHaskellのコードをチェックする - Labo Memo

関数プログラミング実践入門 【読書記録 6章】 - Labo Memo