Я хотел узнать о том, что такое функциональное программирование. И почему-то решил поизучать именно Haskell. Просто так, во имя добра. В целом, после изучения книжки сложилось ощущение, что Haskell состоит целиком из монад, а сверху обильно посыпан синтаксическим сахаром. Смешать, но не взбалтывать.
В принципе, я понял, что мне хотели сказать (хотя понимание того, что такое монада у меня лишь частичное). Теперь у меня вопрос -- как мыслить в данной парадигме? В процедурной и об'ектно-ориентированной я более-менее мыслить могу, а вот что делать тут? Видимо, надо прекращать читать книжки и начинать уже хоть что-то писать (помимо тех двух тестовых строчек, что я придумал).
К достоинствам книги я бы отнёс дебильные иллюстрации (иногда со скрытыми референсами), местный юмор, а также то, что подача материала организована в правильном порядке (и всё написано понятно). Т.е. сначала рассказывается что-то, что нужно для понимания следующего куска. Получается цепочка. Например, функторы -- аппликативные функторы -- монады.
К недостаткам я бы отнёс то, что хотя материал подаётся и правильно, но пояснений об этом нет. Читаешь-читаешь... а зачем всё это? Агааа! Через 20 страниц выясняется, зачем это было надо. Кроме того, именно в русском издании (а других у меня и не было) почему-то супер-быстро трепется обложка, в некоторых местах в исходниках пропущен символ карата (^) -- о нём, правда, можно догадаться по контексту. И ещё -- там написано про быструю сортировку, что цветная картинка для этого процесса на обложке! Но там только голубой слон (правда, он в очках)!