Skip to content

Learn You a Haskell for Great Good! A Beginner's Guide

Best in textbook rentals since 2012!

ISBN-10: 1593272839

ISBN-13: 9781593272838

Edition: 2011

Authors: Miran Lipovaca

List price: $51.95
Blue ribbon 30 day, 100% satisfaction guarantee!

Rental notice: supplementary materials (access codes, CDs, etc.) are not guaranteed with rental orders.

what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!

Description:

Learn You a Haskell for Great Good! is a fun, illustrated guide to learning Haskell, a functional programming language that's growing in popularity. Learn You a Haskell for Great Good! introduces programmers familiar with imperative languages (such as C++, Java, or Python) to the unique aspects of functional programming. Packed with jokes, pop culture references, and the author's own hilarious artwork, Learn You a Haskell for Great Good! eases the learning curve of this complex language, and is a perfect starting point for any programmer looking to expand his or her horizons. The well-known web tutorial on which this book is based is widely regarded as the best way for beginners to learn…    
Customers also bought

Book details

List price: $51.95
Copyright year: 2011
Publisher: No Starch Press, Incorporated
Publication date: 4/15/2011
Binding: Paperback
Pages: 400
Size: 7.05" wide x 9.21" long x 0.94" tall
Weight: 1.936
Language: English

Miran Lipovaca is a computer science student in Ljubljana, Slovenia. His online tutorial, "Learn You a Haskell for Great Good!," is widely regarded as the best way to learn Haskell.

Introduction
So, What's Haskell?
What You Need to Dive In
Acknowledgments
Starting Out
Calling Functions
Baby's First Functions
An Intro to Lists
Texas Ranges
I'm a List Comprehension
Tuples
Believe the Type
Explicit Type Declaration
Common Haskell Types
Type Variables
Type Classes 101
Syntax in Functions
Pattern Matching
Guards, Guards!
where?!
let It Be
case Expressions
Hello Recursion!
Maximum Awesome
A Few More Recursive Functions
Quick, Sort!
Thinking Recursively
Higher-Order Functions
Curried Functions
Some Higher-Orderism Is in Order
The Functional Programmer's Toolbox
Lambdas
I Fold You So
Function Application with $
Function Composition
Modules
Importing Modules
Solving Problems with Module Functions
Mapping Keys to Values
Making Our Own Modules
Making Our Own Types and Type Classes
Defining a New Data Type
Shaping Up
Record Syntax
Type Parameters
Derived Instances
Type Synonyms
Recursive Data Structures
Type Classes 102
A Yes-No Type Class
The Functor Type Class
Kinds and Some Type-Foo
Input and Output
Separating the Pure from the Impure
Hello, World!
Gluing I/O Actions Together
Some Useful I/O Functions
I/O Action Review
More Input and More Output
Files and Streams
Reading and Writing Files
To-Do Lists
Command-Line Arguments
More Fun with To-Do Lists
Randomness
Bytestrings
Functionally Solving Problems
Reverse Polish Notation Calculator
Heathrow to London
Applicative Functors
Functors Redux
Functor Laws
Using Applicative Functors
Useful Functions for Applicatives
Monoids
Wrapping an Existing Type into a New Type
About Those Monoids
Meet Some Monoids
Folding with Monoids
A Fistful of Monads
Upgrading Our Applicative Functors
Getting Your Feet Wet with Maybe
The Monad Type Class
Walk the Line
do Notation
The List Monad
Monad Laws
For a Few Monads More
Writer? I Hardly Knew Her!
Reader? Ugh, Not This Joke Again
Tasteful Stateful Computations
Error Error on the Wall
Some Useful Monadic Functions
Making a Safe RPN Calculator
Composing Monadic Functions
Making Monads
Zippers
Taking a Walk
Focusing on Lists
A Very Simple Filesystem
Watch Your Step
Thanks for Reading!
Colophon
Updates