Get Programming with Haskell

  • 8h 45m
  • Will Kurt
  • Manning Publications
  • 2018

Summary

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 the best possible way—by doing Haskell!

About the Technology

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 bene ts 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.

About 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.)

What's Inside

  • Thinking in Haskell
  • Functional programming basics
  • Programming in types
  • Real-world applications for Haskell

About the Reader

Written for readers who know one or more programming languages.

About the Author

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

In this Book

  • About This Book
  • Getting Started with Haskell
  • Functions and Functional Programming
  • Lambda Functions and Lexical Scope
  • First-Class Functions
  • Closures and Partial Application
  • Lists
  • Rules for Recursion and Pattern Matching
  • Writing Recursive Functions
  • Higher-Order Functions
  • Capstone—Functional Object-Oriented Programming with Robots!
  • Type Basics
  • Creating Your Own Types
  • Type Classes
  • Using Type Classes
  • Capstone—Secret Messages!
  • Creating Types with “and” and “or”
  • Design by Composition—Semigroups and Monoids
  • Parameterized Types
  • The Maybe Type—Dealing with Missing Values
  • Capstone—Time Series
  • Hello World!—Introducing IO Types
  • Interacting with the Command Line and Lazy I/O
  • Working with Text and Unicode
  • Working with Files
  • Working with Binary Data
  • Capstone—Processing Binary Files and Book Data
  • The Functor Type Class
  • A Peek at the Applicative Type Class—Using Functions in a Context
  • Lists as Context—A Deeper Look at the Applicative Type Class
  • Introducing the Monad Type Class
  • Making Monads Easier with Do-Notation
  • The List Monad and List Comprehensions
  • Capstone—SQL-Like Queries in Haskell
  • Organizing Haskell Code with Modules
  • Building Projects with Stack
  • Property Testing with QuickCheck
  • Capstone—Building a Prime-Number Library
  • Errors in Haskell and the Either Type
  • Making HTTP Requests in Haskell
  • Working with JSON Data by Using Aeson
  • Using Databases in Haskell
  • Efficient, Stateful Arrays in Haskell
  • Afterword—What’s Next?
SHOW MORE
FREE ACCESS