Jump to ratings and reviews
Rate this book

Haskell Cookbook: Build functional applications using Monads, Applicatives, and Functors

Rate this book
Haskell is a purely functional language that has the great ability to develop large and difficult, but easily maintainable software. Haskell Cookbook provides recipes that start by illustrating the principles of functional programming in Haskell, and then gradually build up your expertise in creating industrial-strength programs to accomplish any goal. The book covers topics such as Functors, Applicatives, Monads, and Transformers. You will learn various ways to handle state in your application and explore advanced topics such as Generalized Algebraic Data Types, higher kind types, existential types, and type families. The book will discuss the association of lenses with type classes such as Functor, Foldable, and Traversable to help you manage deep data structures. With the help of the wide selection of examples in this book, you will be able to upgrade your Haskell programming skills and develop scalable software idiomatically. Yogesh Sajanikar has received his bachelor's degree in Mechanical Engineering from Shivaji University, India, along with a gold medal and a master's degree in Production Engineering from the Indian Institute of Technology, Bombay, India. Yogesh has an experience of more than 20 years, and he has extensively worked with Product Lifecycle Management (PLM) and Computer Aided Design (CAD) software development firms, and architected solutions for domains such as Construction and Shipping Domain. Having hooked on to functional programming, he moved into the Finance domain and worked as an enterprise architect; he has also worked with Scala/F# and Haskell. Currently, he is working as a CTO for a startup. He has also started local Haskell meetups and has been an active participant in meetups and functional conferences. Yogesh believes in the open source movement, and believes in giving back to the open source community.

396 pages, Paperback

Published September 25, 2017

2 people want to read

About the author

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
0 (0%)
4 stars
0 (0%)
3 stars
1 (100%)
2 stars
0 (0%)
1 star
0 (0%)
Displaying 1 of 1 review
Profile Image for Cristian.
41 reviews
January 21, 2019
The book is definitely worth a read if you are among those who have the basics
down, but are struggling with more intermediate stuff such as monads in general,
monad transformers, or just wish to start getting your feet wet with some of the
most used GHC extensions (RankNTypes, GADTs, etc.).

It also has a couple of chapters on quite specific use cases, in particular
Chapters 7, 8, and 9 which deal with relational and NoSQL databases, HTML and
templates, and the Snap Framework. These can either be very useful if you happen
to be needing any of the stuff discussed, or mostly noise if you don't.
On the bright side, it's good to know one has a reference to refer to in case
any of that is needed.

Unfortunately, the book lacks on the editing department, as there is broken
English in more than a few sentences (mainly articles missing), and several code
samples are not properly indented. I would decrease the font size of the code
snippets a bit and indent them less, so that lines with comments don't need to
wrap so often, which many times leads to hard to read code.

The cookbook format also has its pros and cons. If you have some idea about
what's being presented, it can be a good quick reference; otherwise, some of the
presentations feel lacking in explanations, such as the ST Monad 'recipe', or
why StandaloneDeriving is necessary when using ExistentialQuantification. It's
also quite repetitive (or verbose) at times, mainly with the 'recipe'
boilerplate.

I'd overall recommend it, specially considering the lack of books covering some
of the same material, but I think that with a couple of changes it could be four
stars.
Displaying 1 of 1 review

Can't find what you're looking for?

Get help and learn more about the design.