| CARVIEW |
Think learning Haskell is difficult?
It doesn't have to be.
Welcome to a new way to learn Haskell.
Perhaps you are coming to this book frustrated by previous attempts to learn Haskell.
Perhaps you have only the faintest notion of what Haskell is.
Perhaps you were just looking for the 18 billionth* monad tutorial, certain that this time around you will understand monads once and for all.
Whatever your situation - it is our goal to make Haskell as clear, painless, and practical as we can, no matter what prior experiences you're bringing to the table.
*rough estimate
$59
USD
31
chapters
The book is now complete and has had its final digital release!
Click here to learn what the book coversWhy write a new Haskell Book?
We're writing this book because many have found learning Haskell to be difficult and it doesn't have to be.
Learning Haskell from the ground up is easier and works better - for both experienced hackers and people new to programming. The language is different enough from any you might've already tried that building up from the foundations will be less difficult and more enjoyable.
If you are an experienced programmer, we encourage you to forget what you might already know about programming and come at this course in Haskell with a beginner's mindset. If you are new to programming, you do not need to know another programming language before you start this book. Even experienced Haskellers have told us that they've found this book enriches their understanding of things they previously took for granted as magic or hadn't much thought about.
Haskell is not a difficult language to use.
Haskell is difficult to teach effectively.
So we've done something different from previous Haskell books.
Our approach is based on experience teaching Haskell to many people from a variety of walks of life, and the approach pays off. Spaced repetition and iterative deepening are effective strategies for learning, and we rely on those techniques throughout the book. You may notice we mention something only briefly at first, then return to it over and over. As your experience with Haskell deepens, you have a base from which to move to a deeper level of understanding. By working through exercises and returning to concepts you've seen earlier in the book, you develop a solid intuition for the functional style of programming.
This book is designed to help you get to a place where you could begin applying Haskell to the everyday problems you want to solve. It can also serve as a bootstrap suitable for beginning to learn programming language and type theory. Readers of this book have found that a facility for Haskell can translate into better F#, Scala, or Swift code. This is partly because Haskell pushes you to write the code you should be writing in functional'ish languages anyway.
What's in the book?
Getting the basics
- Lambda Calculus
- Hello Haskell
- Printing Strings
- Basic Datatypes
Defining and combining
- Types
- Typeclasses
- More functional patterns
- Recursion
- Lists
- Folding Lists
Getting serious
- Algebraic Datatypes
- Maybe, Either, and kinds
Getting real
- Building projects in Haskell
- Testing
Common structures
- Monoid, Semigroup
- Functor
- Applicative
- Monad (SPOOKY? No.)
Factoring out patterns
- Foldable
- Traversable
- Reader
- State
- Parsers
- Composing Types
- Monad Transformers
Operational concerns and deep mysteries
- Non-strictness
- Commonly used data structures
- Demystifying IO
- Exceptions
Final Project
- Networked TCP madness
Get a taste
Download a sample (95 pages)
(includes the introduction, second, and third, and fourth chapters)
Some reader voices
one of the best technical books I have read these past few years. @haskellbook has definitelly made me a better programmer, thank you
— Adrian Rosian (@whitecitycode) February 9, 2016
I really love the way @haskellbook explains new terms pic.twitter.com/l922vj066m
— Sebastian Grail (@sebastiangrail) February 2, 2016
@bradleybeddoes Put it like this: https://t.co/W5Z4IIkKjn is like an appitizer. @haskellbook is like a 10 course meal with lots of deserts!
— Custom Computer Tool (@CustomComputerT) January 23, 2016
After 500 pages into @haskellbook, had to write some Scala today and believe I have suddenly become a much better functional programmer!
— Wayne M Adams (@waynemadams) January 21, 2016
Just got my (pre-order) @haskellbook. I'm psyched.
— Brody Berg (@brodyberg) January 18, 2016
Getting @haskellbook is probably one of the smartest decisions I will make in 2016. Highly, highly recommended.
— 0xDEAD (@ArturoVM) January 18, 2016
@GabrielG439 I added @haskellbook to the recommended reading section of my @fregelang talks
— Dierk König (@mittie) February 9, 2016
When someone says: 'I want a programming language in which I need only say what I wish done', give him a @haskellbook.
— λ (@PieCalculus) January 27, 2016
i finished 4 chapters of the @haskellbook and it is awesome i recommend it and going to recommend it to @fplongbeach attendees
— karim عامر (@kaftoot) February 12, 2016
2011-2019 Lorepub LLC (license/info). Site generated with Zola.