M12i.

学術書・マンガ・アニメ・映画の消費活動とプログラミングについて

Miran Lipovača『すごいHaskellたのしく学ぼう!』

すごいHaskellたのしく学ぼう!

すごいHaskellたのしく学ぼう!

すでにこのブログでも幾度か取り上げているテキスト。表紙とタイトルがちょっと不思議。ソフトカーバーの400ページに、平易な説明とサンプルコードがたっぷり。

JavaScriptからこの世界にやってきた凡人文系プログラマにはHaskellが難解すぎて……。というわけで、『プログラミングHaskell』のようなスピード学習的なものでなく、テーマ毎に丁寧に(網羅的ではないと思う)説明をしてくれる『すごいHaskell』のような書籍がありがたい。

それでもFunctor、Applicative、Monoid、Monadという一連のクラスの解説は、理解するにはまだ何度も読み返す必要がありそう……。

当初Haskellのdo式について「手続き型言語チックな記法!」という幻想を抱いて、一種の安堵とその反面の後ろめたさ(Haskellという関数型言語を学んでいるのにdo式という手続き型な記法に安心してしまっている!)とを感じていたのだけど、残念ながら/さいわいにもdo式は>>=演算子Monad m => m a -> (a -> m b) -> m b)とラムダ式の糖衣構文だった。

したがってそれは単に処理を列挙しているものではない。do式は最終的にはMonadクラスのインスタンスを提供するデータ型のうちの「何か」の値を返す式である。かくして眼前にはMonadという、Haskell学習者が避けては通れない概念が立ちはだかっている。そういう現状。