Will Kurt currently works as a data scientist. He writes a blog at www.countbayesie.com, explaining data science to normal people.

Written for readers who know one or more programming languages.

Taking values out of the ST context

Putting it all together

Making your data an instance of FromRow

Adding new users to your data base

Putting it all together: Reading your NOAA Data

Writing your own instances of FromJSON and ToJSON

Putting it all together

Using QuickCheck with more types and installing packages

Writing your own unit tests and using stack test

Using your Palindrome module in your Main module

Putting your improved isPalindrome code in its own module

What happens when you write a function with same name as one in Prelude?

Joining multiple lists to get all enrollments

Using HINQ with Maybe types

Building your HINQ interface and example queries

Monads: much more than just lists

Putting it all together and writing a Monadic function

Using Monad to build a Hello <Name> program

Creating a User in the Context of a Maybe

Using multi-argument function in IO using <$> and <*>

Using <*> to finish your city distance program

Converting a list of RobotParts to a List of Html

Converting a Maybe RobotPart to Maybe Html

One interface for Four Problems

Using functions in context with the Functor Type Class

An Example: Computing in a Maybe

Putting it all together

Getting Author and Title information from a Marc Field

Processing the directory entries and looking up MARC Fields

Using the directory to look up fields

Checking the Leader and Iterating through your records

Working with binary data by using ByteString

When to use Lazy vs. Strict

When to use Text vs. String

Thinking of your problem as a lazy list

Interacting with the command line the nonlazy way

A peak at Monads?Do-notation in Maybe

Keeping values in the context of IO

Calculating the min and max values for your time series

Back to the Lab! More complex computation with Maybe

Using Maybe as a solution to missing values

To Derive or Not to Derive?

A type in need of classes

Functions for converting to and from Strings

Types - Objects and so much more!

Rule 5: Ensure that each alterative moves you toward the goal

Rule 2: Determine what happens when a goal is reached

Putting it all together

From Lambda to Let: Making your own variable variables!

Writing your own Where clause

takes you straight to the book

Get Programming with Haskell leads you through short lessons, examples, and exercises designed to make Haskell your own. It has crystal-clear illustrations and guided practice. You will write and test dozens of interesting programs and dive into custom Haskell modules. You will gain a new perspective on programming plus the practical ability to use Haskell in the everyday world. (The 80 IQ points: not guaranteed!)

Programming languages often differ only around the edges—a few keywords, libraries, or platform choices. Haskell gives you an entirely new point of view. To the software pioneer Alan Kay a change in perspective can be worth 80 IQ points, and Haskellers agree on the dramatic benefits of thinking the Haskell way—thinking functionally, with type safety, mathematical certainty, and more. In this hands-on book, that's exactly what you'll learn to do.

Get Programming with Haskell introduces you to the Haskell language without drowning you in academic jargon and heavy functional programming theory. By working through 42 easy-to-follow lessons, you'll learn Haskell the best possible way—by doing Haskell!

An approachable and thorough introduction to Haskell and functional programming. This book will change the way you think about programming for good.

placing your order... Don't refresh or navigate away from the page.

customers also bought

FREE domestic shipping on three or more pBooks complete shipping options

our return/exchange policy

I've been trying to crack the tough nut that is Haskell for a while; I tried other books, but this was the first one that actually allowed me to understand how to use Haskell. I love how the author mixes theory with a lot of practical exercises. Victor Tatai, Fitbit

More than a beginner's book. Full of insightful examples that make your Haskell thinking click. Carlos Aya, CO Zero

I thought Haskell was hard to learn. With this book, honestly, it isn't. Mikkel Arentoft, Danske Bank