Learn You a Haskell for Great Good!: A Beginner's Guide and over one million other books are available for Amazon Kindle. Learn more



or
Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $9.23 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Start reading Learn You a Haskell for Great Good!: A Beginner's Guide on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 

Learn You a Haskell for Great Good!: A Beginner's Guide [Paperback]

Miran Lipovaca
4.6 out of 5 stars  See all reviews (36 customer reviews)

List Price: $44.95
Price: $27.14 & FREE Shipping. Details
You Save: $17.81 (40%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 15 left in stock (more on the way).
Ships from and sold by Amazon.com. Gift-wrap available.
Want it Friday, June 21? Choose One-Day Shipping at checkout. Details

Formats

Amazon Price New from Used from
Kindle Edition $19.77  
Paperback $27.14  
Unknown Binding --  
More to Explore
Check out the book's Introduction (PDF) on what makes Haskell, well, Haskell in Learn You a Haskell for Great Good!

Book Description

April 18, 2011

It's all in the name: Learn You a Haskell for Great Good! is a hilarious, illustrated guide to this complex functional language. Packed with the author's original artwork, pop culture references, and most importantly, useful example code, this book teaches functional fundamentals in a way you never thought possible.

You'll start with the kid stuff: basic syntax, recursion, types and type classes. Then once you've got the basics down, the real black belt master-class begins: you'll learn to use applicative functors, monads, zippers, and all the other mythical Haskell constructs you've only read about in storybooks.

As you work your way through the author's imaginative (and occasionally insane) examples, you'll learn to:

  • Laugh in the face of side effects as you wield purely functional programming techniques
  • Use the magic of Haskell's "laziness" to play with infinite sets of data
  • Organize your programs by creating your own types, type classes, and modules
  • Use Haskell's elegant input/output system to share the genius of your programs with the outside world

Short of eating the author's brain, you will not find a better way to learn this powerful language than reading Learn You a Haskell for Great Good!

Excerpt from the Introduction

Haskell is fun, and that’s what it’s all about!

This book is aimed at people who have experience programming in imperative languages—such as C++, Java, and Python—and now want to try out Haskell. But even if you don’t have any significant programming experience, I’ll bet a smart person like you will be able to follow along and learn Haskell.

My first reaction to Haskell was that the language was just too weird. But after getting over that initial hurdle, it was smooth sailing. Even if Haskell seems strange to you at first, don’t give up. Learning Haskell is almost like learning to program for the first time all over again. It’s fun, and it forces you to think differently.

NOTE
If you ever get really stuck, the IRC channel #haskell on the freenode network is a great place to ask questions. The people there tend to be nice, patient, and understanding. They’re a great resource for Haskell newbies.

So, What's Haskell?

Haskell is a purely functional programming language.

In imperative programming languages, you give the computer a sequence of tasks, which it then executes. While executing them, the computer can change state. For instance, you can set the variable a to 5 and then do some stuff that might change the value of a. There are also flow-control structures for executing instructions several times, such as for and while loops.

Purely functional programming is different. You don’t tell the computer what to do—you tell it what stuff is. For instance, you can tell the computer that the factorial of a number is the product of every integer from 1 to that number or that the sum of a list of numbers is the first number plus the sum of the remaining numbers. You can express both of these operations as functions.

> Read the Introduction (PDF) in its entirety.


Frequently Bought Together

Learn You a Haskell for Great Good!: A Beginner's Guide + An Introduction to Functional Programming Through Lambda Calculus (Dover Books on Mathematics) + Pearls of Functional Algorithm Design
Price for all three: $94.76

Buy the selected items together


Editorial Reviews

About the Author

Miran Lipovaca is a computer science student in Ljubljana, Slovenia. In addition to his passion for Haskell, he enjoys boxing, playing bass guitar, and, of course, drawing. He has a fascination with dancing skeletons and the number 71, and when he walks through automatic doors he pretends that he's actually opening them with his mind.


Product Details

  • Paperback: 400 pages
  • Publisher: No Starch Press; 1 edition (April 18, 2011)
  • Language: English
  • ISBN-10: 1593272839
  • ISBN-13: 978-1593272838
  • Product Dimensions: 7 x 1 x 9.2 inches
  • Shipping Weight: 1.6 pounds (View shipping rates and policies)
  • Average Customer Review: 4.6 out of 5 stars  See all reviews (36 customer reviews)
  • Amazon Best Sellers Rank: #85,734 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

Definitely recommend it to anyone learning Haskell. Pavel Polechtchouk  |  13 reviewers made a similar statement
Author has done a good job in explaining things and concepts in a simple way. Vikas Singh  |  15 reviewers made a similar statement
Most Helpful Customer Reviews
50 of 50 people found the following review helpful
5.0 out of 5 stars Haskell can be this simple May 30, 2011
Format:Paperback
I'm not sure what kind of trick the author is pulling here, but this guide managed to walk me through all important Haskell concepts without ever making any of the material sound complicated. I had, through sheer force of will, managed to understand monads a few years back, so I didn't start from zero -- but somehow none of the mind-bending I remembered from last time was necessary this time around. Even terms like Applicative Functor and Monoid, which I assumed to be things only category theory wizards could possibly be interested in, are exposed by Lipovaca to be relatively simple, banal concepts with everyday uses.

The book doesn't go into any of the really hairy stuff, such as monad transformers, the subtleties of laziness, or unsafe IO, which are probably required for serious Haskell programming. But I guess it's excused, since it does call itself a beginner's guide. It *does* do a very fine job of showing how purity, type classes, and category theory concepts provide mind-blowingly elegant solutions to real, practical programming tasks. As such, I've started recommending it to anyone who asks for a good introduction to functional programming.
Comment | 
Was this review helpful to you?
58 of 59 people found the following review helpful
Format:Paperback|Amazon Verified Purchase
A young man from Slovenia, just 23 years of age, writes his first book documenting a difficult computer-programming language, in English, which is not his native language. Given these facts, you'd think the odds would be stacked deeply against any measure of success for him. Yet it appears that, with his book Learn You a Haskell for Great Good!: A Beginner's Guide, Miran Lipovaca has almost smashed the ball right out of the ballpark. It is easily the best text available for an absolute newcomer to Haskell, and would also benefit many who've already perused other Haskell books. Moreover, of the seven volumes on Haskell that I own, it's the only one that I've so far managed to read cover-to-cover (including, BTW, typing, testing, and hacking all the code in it. I have, however, come close to finishing Graham Hutton's book, Programming in Haskell, which in most respects could not be further removed from this one.) Another big "plus": Mr. Lipovaca's code actually COMPILES. All of it. (Professor Hutton, are you reading this?)

I say "almost smashed it out," though, because there is room for improvement. Even at that, I think Lipovaca has, at the very least, hit a long triple, just bouncing off the top of the center-field wall, with this book.

To begin with, I must disagree with the reviewers who've claimed, in one way or another, that the author has left out information important even to a beginners' text. On the contrary, the scope and breadth of this text are truly astonishing. Nowhere else have I seen monads, monoids, functors, applicative functors, and the like, treated with such thoroughness and patience.
... Read more ›
Comment | 
Was this review helpful to you?
39 of 39 people found the following review helpful
5.0 out of 5 stars Learn You a Haskell April 29, 2011
By Dan WC
Format:Paperback
Haskell is a wonderful language - it's functional, strongly typed, elegant, and lovely to code in. However, to many programmers (even seasoned ones), it's daunting to learn. As a Haskell programmer trying to spread the joy of Haskell to friends and coworkers, this is a real pain. However, I have used Learn You a Haskell For Great Good!, by Miran Lipovaca, for some time now to help get others into Haskell, and I'm thrilled that it's finally been published as a physical book by No Starch Press.

First a caution: Learn You a Haskell is not designed for non-programmers - it is not a guide to learn how to program. Rather, it's a guide for programmers who are used to imperative languages (like C, Java, or even Fortran) to learn about functional languages (and, obviously, Haskell in particular). What's nice about this book compared to other typical programming guides is that it's engaging to read; it's funny and cute, and the content is consistently clear. Also, the order in which the material is presented makes sense.

The book starts out with a few chapters on the basics. Lipovaca shows how to call functions, use lists and tuples, and understand the basic type system. He goes on to explain pattern matching, recursion, and higher order functions - the bread and butter of functional programming. The descriptions and examples (and even the doodles) are great. He goes through the toolkit of many commonly used functions (reverse, zip, map, fold, ...) and shows how to implement them from scratch.

Chapters 6 though 10 focus on actually using Haskell to write real programs. Modules are covered briefly before a great section on type classes.
... Read more ›
Comment | 
Was this review helpful to you?
11 of 11 people found the following review helpful
5.0 out of 5 stars Another Great Haskell Book (not just for beginners) April 14, 2011
Format:Paperback|Amazon Verified Purchase
I saw this book in it's early stages when it was an open document online. I pre-ordered the book in August of 2010 and just received my copy a couple days ago. It was totally worth the wait.

The book says it's for beginners, but it walks from some fairly early topics all the way to Zippers, which, prior to this book confused me a good bit.

I recommend this book to anyone interested in Haskell as the different perspective on the approach of learning it can be enough to provide new insights to the language.

My only wish is that the author could have covered Enumerators, Iteratee and the like in the style of this book.
Was this review helpful to you?
Most Recent Customer Reviews
5.0 out of 5 stars Great book for anyone who wants to learn Haskell and functional...
Haskell is a very intriguing language and very different from the traditional procedural approaches used in the most popular languages (including most Object Oriented languages). Read more
Published 13 days ago by Layne Lund
5.0 out of 5 stars Super awesome book
Never had so much fun reading a book on Haskell.
This book is probably the best introductory book on Haskell. 5 stars!
Published 20 days ago by ANTONIO KANTEK
5.0 out of 5 stars Great book - you can actually learn a Haskell
This is the most clear and easy to follow Haskell book I have come across. Definitely recommend it to anyone learning Haskell.
Published 1 month ago by Pavel Polechtchouk
5.0 out of 5 stars weird name funy book but insightful
still reading it but this is a great resource to learn haskell a purely functional programming language, lots of fun, and I almost forgive them for being purists I'm into hybrid... Read more
Published 2 months ago by grizzlysmit
5.0 out of 5 stars Great book for learning Haskell
I always liked Haskell and wanted to learn it. I tried Real World Haskell but while I enjoyed the language a lot the book frustrated me with its organization and unwanted deviation... Read more
Published 3 months ago by DYU
4.0 out of 5 stars Readable introduction to Haskell
I browsed this in preview mode a couple of times and was a bit put off by the "Y-gen" language and - ahem - the pictures. Read more
Published 3 months ago by Wolf77
3.0 out of 5 stars From a Software Engineer's perspective,
"Learn You a Haskell" actually teaches two different subjects -- distinct but related -- under the same cover: 1) the Haskell programming language, a strong and flexible, purely... Read more
Published 3 months ago by Alex
5.0 out of 5 stars At last, I understand how Haskell maintains functional purity in a...
I've previously been blocked by understanding I/O, and monads in other treatises on Haskell. Try reading about monads on Wikipedia to get my drift. Maybe I didn't try hard enough. Read more
Published 6 months ago by mauget
4.0 out of 5 stars A wonderful guide for beginners
Haskell is definitely a weird language, more suited for a mathematician or computer science theorist's work than Joe Schmo the CS undergrad or professional programmer. Read more
Published 6 months ago by E. Fulmer
4.0 out of 5 stars Best starting point
There are a few really good haskell books. This is my favorite. Metaphors for complicated categorical objects are kept light and limited. Read more
Published 7 months ago by Scott L. Murphy
Search Customer Reviews
Only search this product's reviews


Forums

Topic From this Discussion
Reading This Book Online Be the first to reply
Have something you'd like to share about this product?
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Search Customer Discussions
Search all Amazon discussions


So You'd Like to...

Create a guide


Look for Similar Items by Category