Time flies like a photon

monotonous entanglement

Latest

関数型プログラミング再入門

最近モナディックなパーサーコンビネータ使ったりして functional な気分が高まってきたので、久しぶりに何か一冊読もうと思い、Functional Programming in Scala の日本語版を読んだ。副作用一切なしというスタンスを貫いていて好感が持てる。一章と二章で実用的な関数型プログラミングの使い方の具体例をがっつり練習させた後に三章で抽象化に入る流れは悪くない。 ¶ 個人的には並列計算 (Par) を作るというのが結構面白かった。遅延を上手に使わないと解けないパズル。QuickCheck 的なライブラリや Parsec 的なライブラリの再発明とかも、なるほどなーと思いながら手を動かす。 ¶ Traversable Functor という概念を初めて知った。腑に落ちるまで結構悩んだが sequence, traverse の導入から List を一般化して Foldable, そして Traverse まで抽象化できたときはわりと脳汁が出た。 ¶ ついでに積んであった すごいH本も読んだ。 ¶ モナドの解説にかなり紙幅を割いていて良い。Functor, Applicative, Monad と徐々に高機能になっていく展開のさせ方がわかりやすいと思う。 ¶ do 構文とリスト内包で話を進めていって、後のほうで (>>=) を導入して今までのアレの舞台裏はこれだったのだ…
Go to the profile of keijak
keijakNov 12, 2015
More stories →About Time flies like a photon