Scala 関数型デザイン & プログラミング 進捗

3章を解き始めた

https://github.com/ozw-sei/scalaz_book/blob/master/ex3.sc

とりあえず、3.13まで解いて力尽きた。

所感をメモしていく 難易度 ☆1~5

3.1 ☆1 読めばわかる

3.2 ☆1 Cons(x, xs)をじっくりみてればわかる

3.3 ☆1 何をすれば解けるかを考えればすぐわかる

3.4 ☆1 アキュムレータとか再帰を覚えてればらくちん

3.5 ☆1 3.4よりも簡単かも

3.6 ☆3 15分くらい頭かかえた。答えには到達できてたけど末尾再帰できない か考えて無駄に時間を使ってしまった。

3.7 ☆3 0.0をマッチすれば検知はできるけど、そうすると末尾再帰にならないので無理☆

3.8 ☆1 foldRightのソース読めば一撃

3.9 ☆2 foldRightあんま使ったことなかったので時間かかった。

3.10 ☆3 紙に書いたらすぐとけた。

3.11 ☆2 ほぼfoldRightの書き換え

3.12 ☆2 ちょっと考えたけど、落ち着いたらすぐできた

3.13 ☆5 自力で解けなかった

以上

https://github.com/fpinscala/fpinscala/blob/master/answers/src/main/scala/fpinscala/datastructures/List.scala

解答を読んでみるとこっちのほうがスマートに書いてあるな…