Goodreads helps you keep track of books you want to read.
Start by marking “Haskell Programming From First Principles” as Want to Read:
Haskell Programming From First Principles
Enlarge cover
Rate this book
Clear rating
Open Preview

Haskell Programming From First Principles

4.30  ·  Rating details ·  225 ratings  ·  36 reviews
I am writing this book because I had a hard time learning Haskell.
It doesn't have to be that way. I've spent the last couple years actively teaching Haskell online and in person. Along the way, I started keeping notes on exercises and methods of teaching specific concepts and techniques in Haskell that eventually turned into my guide for learning haskell. That experience l
ebook, Early Access, 1189 pages
Published 2015 by Gumroad
More Details... Edit Details

Friend Reviews

To see what your friends thought of this book, please sign up.

Community Reviews

Showing 1-30
Average rating 4.30  · 
Rating details
 ·  225 ratings  ·  36 reviews

More filters
Sort order
Start your review of Haskell Programming From First Principles
Emre Sevinç
Jan 01, 2017 rated it it was amazing
My relationship with the Haskell programming language, my efforts to learn it had its ups and downs throughout the years. According to my memory and the archives of my blog, my first attempts had been around 2005 – 2006, more than 12 years ago. Back then, apart from a few books written by university professors, and some Wiki-based books, I couldn’t find much high quality material for beginners. Therefore, my efforts didn’t last very long. A few years later, I heard the news about a new book, “Re ...more
Jan 12, 2016 marked it as hold
I'm not finished working through this book yet, but it really is phenomenal. The authors fuse theory and practicality in a way I don't think I've seen done so effectively in any other instructional text. A lot of the beauty of this book comes from Haskell itself, syntax reflects conceptual structure, complex ideas follow naturally from simpler ideas, thoughtful approaches make intricate problems much more linear, etc. The thing is, that other educational Haskell texts manage to complicate and co ...more
Evgeny Dudin
Dec 29, 2016 rated it liked it
Although it covers Haskell and FP in good detail, reading almost every chapter feels quite unsatisfying. The author deliberately does not go into depth or explanation of certain concepts, not showing where the bottom of those concepts are and leaves it for later... Which they scratch the surface of next time.. and then next time... and so on. It constantly makes me feel like I still don't have the full picture. FP is a complicated topic indeed, but reading this book feels like you're being spoon ...more
Bernie Noel
Oct 31, 2019 rated it liked it
Reading this book was a slight deception, not because of the content, but mailny because it's a bit messy. The chapters don't correlate with each otehr very well and the content is not as well organized as I was expecting. Aside from that, I believe I learned something new. ...more
Eli Sadoff
Dec 28, 2016 rated it it was amazing
This book is the greatest programming book I have ever read, and I've read a lot of them. This book is an excellent guide to learning Haskell. It is intuitive, describes the language incredibly well, and really teaches you the language. I've never before been captivated like this by a programming book. Tip of my hat to the authors. ...more
Christian Panadero
Nov 27, 2018 rated it it was amazing
If you are interested on Haskell or in the functional programming paradigm, this is a must read book.
Aug 16, 2018 rated it really liked it
This book is an amazing work. Its 1300 some pages walk the reader from entering simple expressions into the REPL through all the big concepts that make Haskell scary. There are plenty of examples, lots of code to read and try on your own, and plenty of discussion (sometimes multiple approaches to a single topic!). It is exhaustive, approachable and seems quite free of errors.

So, you ask: "why only 4 stars?" Well, although it is a brilliant book, this is a warning that it may not be the book for
Apr 06, 2020 rated it liked it
Shelves: computing
I'll admit I did not quite finish this book; I lost steam and patience somewhere within Monad Transformers, and never really found the desire to come back again. I had previously read Learn You A Haskell for Great Good, which I imagine is the background a fair portion of people have. Learn you a Haskell, for its concise, joke-laden exposition, did have some shortcomings (which, given it is free, I can't grumble about all that much). I hoped this book would fix those, and it mostly does.

Jeremy Huiskamp
Nov 27, 2019 rated it did not like it  ·  review of another edition
Shelves: meh
Disclaimer: I read RC2, and couldn't finish it (lost interest in the Monad chapter)

Things I liked about this book:
- compiles a huge amount of material, arranged in a reasonable order, and if you manage to read it all, you'll inevitably know something about haskell
- it encouraged good interactivity, with lots of well-spread-out exercises, and constant instructions for playing in the repl

On the whole though, this book just isn't ready for publishing and it's a shame that it's been available for so
Nov 06, 2018 rated it really liked it
Shelves: software
This book is a labyrinth presented as a learning path. It has multiple dead ends and frustrating skims over material that made me rage quit. The authors do not expect the reader to understand everything the first time read the book. They do not expect you to finish every exercise (they state this much from the outset). The authors, though, do not state WHICH things they do not expect you to understand the first time or WHICH exercises you won’t be able to complete. Sure, that will vary from read ...more
Craig Treptow
TL;DR; An unfinished, hard to follow, mess of a book. Use other Haskell books (and learning resources), then come back to this if you feel you need to.

I know that is harsh, but it's how I feel about it today, the day I decided to give up on the book (for now). I made it through about 3/4, so it's not like I didn't give it a chance.

With a tagline of "Think learning Haskell is difficult? It doesn't have to be.", I really wanted to like this book. This is written in a bit of an "academic" style tha
Tony Poerio
Aug 16, 2016 rated it it was amazing
Not all the way done yet, but neither is this book. The five stars are to encourage others to give it a try, and to let the authors know my appreciation.

Already over 1,000 pages, this book is full of more examples and exercises than you could ever need to understand Haskell. It's extremely comprehensive and excellent.

I've read (and tried to read) a few other books on Haskell, but this one does the best job--by far--of making the material accessible to someone who hasn't already done a Ph.D in
May 23, 2015 rated it really liked it
As a first draft, it's very impressive - the quality of explanation is high, and except for the (current) latest chapter about datatype, I wouldn't hesitate to recommend it to anyone, even those unfamiliar with the craft of programming.

Now, I want to read everything else !
Nov 12, 2016 rated it it was amazing
Shelves: programming
Great, thorough book with excellent exercises. Lots of hands-on stuff and great explanations. Even when reading about stuff I knew, a lot of gaps were filled in. It leaves the learner able to write “real world” programs and not just algorithms and small demo programs.
Erik Bäckman
Mar 13, 2019 rated it really liked it
Most likely the best way to learn Haskell. It's a massive book with lots of exercises that focuses on teaching Haskell for understanding. I'd recommend it to anyone wanting to learn not just Haskell but FP in general. ...more
Sep 14, 2018 rated it really liked it
- The best thing about the book is it covers enough topics to get one started with programming in Haskell.
- Another really nice thing I liked about it is it builds a decent amount of motivation in most of the topics before actually explaining those topics.
- I liked the coverage of monoids and semigroups before Applicatives and Monads. It felt more natural because, well, Applicatives are Monoidal Functors ;)
- It covers many practical topics like Testing, building projects which I found lacking
MinhTu Thomas Hoang
I think all the chapters from the beginning to chapter 18 on "Monads" are solid, and you can be productive with Haskell if you left at this point. The rest are not necessarily practical; and sometimes I felt that these chapters are quite lengthy & need more editorial support. If I need to summarise the book from chapter 19 to the end in one sentence, it would be, "You should read "Parallel and Concurrent Programming in Haskell: Techniques for Multicore and Multithreaded Programming" by Simon Mar ...more
Alain O'Dea
Jan 29, 2017 rated it it was amazing
Excellent, well-paced book that walks through the significant challenge of teaching Haskell without scaring away self-taught programmers or those new to programming entirely. The exercises are a reach from the material, but an appropriate one that cements the lessons of the chapter rather than leaving the reading feeling adrift.

The iterative deepening approach taken by this book has left me with much greater confidence applying Haskell to my work and in reaching up from beginner Haskell into mor
Kevin Bradner
Aug 28, 2019 rated it really liked it
An excellent introduction to the world of functional programming. My only complaints are that the book needs better technical editing in the later chapters (as of August 2019), and is sometimes unnecessarily long winded at times. This book requires patience and bit of familiarity with thinking in formal / mathematical terms.

As far as I know, this is the best and most up to date book on Haskell currently available. It will take readers from zero to a working knowledge of Haskell.
Wenzheng Jiang
Feb 26, 2017 rated it really liked it
I think this book explains the core concepts in Haskell such as Functor, Applicative and Monad very well. I don't feel they are scary anymore after reading the book. So I highly recommend it to anyone who wants to learn functional programming or Haskell. Also I found the was a perfect exercise suite for this book which I highly recommend too. ...more
May 20, 2018 rated it it was amazing
The best programming book I've ever read. Make no mistake, even though the name might make you think this is some brief introductory text, this book is huge and on the 1300 pages covers virtually everything you're gonna need on your way to Enlightenment...I mean, mastering Haskell :). The way is still very long even after reading this book, but it's easier :) ...more
Claudia Doppioslash
Jul 09, 2017 rated it it was amazing
Great intro to Haskell, it leaves nothing unexplained, which is the usual problem with Haskell intro resources. It's big, but if you go through all of it you'll have strong foundations. If it's too much you can still skip around and clarify the topics you most need to. ...more
Jan 19, 2019 rated it it was amazing
The best book you can read if you want to learn and understand Functional Programming from the beginning. This book uses Haskell (which is a pure functional language) to explain every concept of FP, from zero to hero.

You can find the book here:
Erik Bäckman
Mar 13, 2019 rated it really liked it  ·  review of another edition
Most likely the best way to learn Haskell. It's a massive book with lots of exercises that focuses on teaching Haskell for understanding. I'd recommend it to anyone wanting to learn not just Haskell but FP in general. ...more
Aisis Zane
Jul 08, 2018 rated it it was amazing
Great for self-starters and it does require self-discipline to finish this. In my opinion, I think it's a worthwhile look. ...more
Jan 01, 2019 rated it really liked it
More like 4.5 stars, hands down one of the best book on haskell. However some chapters are way too long and hope there were more questions to help exercise.
Feb 04, 2019 rated it liked it
The exercises don't exactly match the theory and sometimes I feel lost in unnecessary details. ...more
Alexander Bandukwala
Mar 09, 2020 rated it it was amazing
Very approachable introduction to the language. The length of the book is a little intimidating but it is easy to get through and jump around.
Chee Leong
Jun 18, 2018 rated it it was amazing
Shelves: library, tech
I'd recommend this to whomever wanting to learn Haskell. ...more
« previous 1 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • Learn You a Haskell for Great Good!
  • A Philosophy of Software Design
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • The Pragmatic Programmer: From Journeyman to Master
  • Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)
  • The Elements of Computing Systems: Building a Modern Computer from First Principles
  • Designing Data-Intensive Applications
  • Clean Architecture
  • Operating Systems: Three Easy Pieces
  • Functional Programming in Scala
  • Introduction to Algorithms
  • The Little Schemer
  • Code: The Hidden Language of Computer Hardware and Software
  • The Go Programming Language
  • How to Read a Book: The Classic Guide to Intelligent Reading
  • Half-Life: A Place in the West (Chapter 1: Following Portents)
  • La Celestina
  • Elements of Modern Algebra
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »

Related Articles

San Francisco is a gold rush town. There aren’t many books about people in their 20s who move to Silicon Valley with dreams of earning a living...
33 likes · 2 comments