1. Programming in Haskell (2016)
Author(s): Graham Hutton
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!
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.
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.
Author(s): Miran Lipovaca
3. Haskell: The Craft of Functional Programming (3rd Edition) (International Computer Science Series) (2011)
Introducing functional programming in the Haskell language, this book is written for students and programmers with little or no experience. It emphasises the process of crafting programmes, problem solving and avoiding common programming pitfalls.
Covering basic functional programming, through abstraction to larger scale programming, students are lead step by step through the basics, before being introduced to more advanced topics.
This edition includes new material on testing and domain-specific languages and a variety of new examples and case studies, including simple games. Existing material has been expanded and re-ordered, so that some concepts such as simple data types and input/output are presented at an earlier stage.
Author(s): Simon Thompson
Author(s): David George Haskell
5. Real World Haskell (2008)
Author(s): Bryan O’Sullivan, John Goerzen
6. Parallel and Concurrent Programming in Haskell: Techniques for Multicore and Multithreaded Programming (2013)
Author(s): Simon Marlow
7. Thinking Functionally with Haskell (2014)
Author(s): Richard Bird
Author(s): Kees Doets, Jan van Eijck
“Fluent, compelling, and intoxicatingly rich.” – Times Literary Supplement
SELECTED by “Science Friday” and “Brain Pickings” as one of the Best Science Books of 2017 and by Forbes.com as one of the 10 Best Environment, Climate Science and Conservation Books of 2017
David Haskell has won acclaim for eloquent writing and deep engagement with the natural world. Now, he brings his powers of observation to the biological networks that surround all species, including humans. Haskell repeatedly visits a dozen trees, exploring connections with people, microbes, fungi, and other plants and animals. He takes us to trees in cities (from Manhattan to Jerusalem), forests (Amazonian, North American, and boreal) and areas on the front lines of environmental change (eroding coastlines, burned mountainsides, and war zones.) In each place he shows how human history, ecology, and well-being are intimately intertwined with the lives of trees.
Scientific, lyrical, and contemplative, Haskell reveals the biological connections that underpin all life. In a world beset by barriers, he reminds us that life’s substance and beauty emerge from relationship and interdependence.
Author(s): David George Haskell
Author(s): Molly Haskell, Manohla Dargis
11. Get Programming with Haskell (2018)
Unlike any other programming language, Haskell is purely functional with a strong type system and lazy evaluation. It is arguable the most interesting language but also has the reputation of being one of the most challenging to learn. Learning Haskell doesn’t have to be difficult, and this book can help!
Get Programming with Haskell introduces you to the Haskell language without drowning you in academic jargon and heavy functional programming theory. By working through 43 easy-to-follow lessons, you’ll learn Haskell by doing Haskell. This book starts with first concepts, building your knowledge with concrete examples and exercises. You’ll learn to think the Haskell way, as you start to understand the language and how to use it effectively. And you’ll really appreciate the crystal-clear illustrations, quick-checks, and open-ended tasks that make sure you’re solid on each new concept before you move along!
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
Author(s): Will Kurt
12. Drum Method: For Band and Orchestra (2006)
Author(s): Haskell W. Harr