Free Downloads
Learn You A Haskell For Great Good!: A Beginner's Guide

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.

Paperback: 400 pages

Publisher: No Starch Press; 1 edition (April 21, 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 (83 customer reviews)

Best Sellers Rank: #110,503 in Books (See Top 100 in Books) #5 in Books > Computers & Technology > Programming > Functional #281 in Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Software Development #452 in Books > Textbooks > Computer Science > Programming Languages

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.

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.

Learn You a Haskell for Great Good!: A Beginner's Guide Learn German Step by Step: German Language Practical Guide for Beginners (Learn German, Learn Spanish, Learn French, Learn Italian) Good Gut: The Next Thing You Should Do If You Want to Heal Your Gut and Improve Your Intestinal Health (good gut guide, gut health, good gut diet) PHP: MySQL in 8 Hours, For Beginners, Learn PHP MySQL Fast! A Smart Way to Learn PHP MySQL, Plain & Simple, Learn PHP MySQL Programming Language in Easy Steps, A Beginner's Guide, Start Coding Today! PYTHON: Python in 8 Hours, For Beginners, Learn Python Fast! A Smart Way to Learn Python, Plain & Simple, Learn Python Programming Language in Easy Steps, A Beginner's Guide, Start Coding Today! ANGULARJS: AngularJS in 8 Hours, For Beginners, Learn AngularJS Fast! A Smart Way to Learn Angular JS, Learn AngularJS Programming Language in Easy Steps, A Beginner's Guide, Start Coding Today! C++: C++ in 8 Hours, For Beginners, Learn C++ Fast! A Smart Way to Learn C Plus Plus, Plain & Simple, Learn C++ Programming Language in Easy Steps, A Beginner's Guide, Start Coding Today! JAVASCRIPT: JavaScript in 8 Hours, For Beginners, Learn JavaScript Fast! A Smart Way to Learn JS, Plain & Simple, Learn JS Programming Language in Easy Steps, A Beginner's Guide, Start Coding Today! Real World Haskell: Code You Can Believe In How to Become a Paralegal: Learn How You Can Quickly & Easily Be a Paralegal The Right Way Even If You're a Beginner, This New & Simple to Follow Guide Teaches You How Without Failing How to Play Lacrosse: Learn How You Can Quickly & Easily Master Playing Lacrosse The Right Way Even If You're a Beginner, This New & Simple to Follow Guide Teaches You How Without Failing Haskell: The Craft of Functional Programming (2nd Edition) Schirmer's Vocal Scores of Grand and Light Operas - Cavalleria Rusticana (Rustic Chivalry) Melodrama in One Act - Libretto by G. Targioni - Tozzetti and G. Menasci (Music by Pietro Mascagni - vocal and piano score by L. Mugnone, English Version by Nathan Haskell Dole) HASKELL W. HARR DRUM METHOD BOOK 2 BK/CD FOR BAND & ORCHESTRA Howard Haskell Takes A Bride (The Brides of Paradise Ranch Book 0) IT'S ALL GOOD: Delicious, Easy Recipes That Will Make You Look Good and Feel Great Gay Marriage: Why It Is Good for Gays, Good for Straights, and Good for America The Looneyspoons Collection: Good Food, Good Health, Good Fun! Programming For Beginner's Box Set: Learn HTML, HTML5 & CSS3, Java, PHP & MySQL, C# With the Ultimate Guides For Beginner's (Programming for Beginners in under 8 hours!) Python: Learn Python in One Day and Learn It Well. Python for Beginners with Hands-on Project. (Learn Coding Fast with Hands-On Project Book 1)