Information Technology Book Store

item in cart

Get Programming with Haskell

List Price: $44.99
Price: $40.49
You Save: $4.50
Quantity:
7

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

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

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.

Table of Contents

  • Lesson 1 Getting started with Haskell
  • Unit 1 - FOUNDATIONS OF FUNCTIONAL PROGRAMMING
  • Lesson 2 Functions and functional programming
  • Lesson 3 Lambda functions and lexical scope
  • Lesson 4 First-class functions
  • Lesson 5 Closures and partial application
  • Lesson 6 Lists
  • Lesson 7 Rules for recursion and pattern matching
  • Lesson 8 Writing recursive functions
  • Lesson 9 Higher-order functions
  • Lesson 10 Capstone: Functional object-oriented programming with robots
  • Unit 2 - INTRODUCING TYPES
  • Lesson 11 Type basics
  • Lesson 12 Creating your own types
  • Lesson 13 Type classes
  • Lesson 14 Using type classes
  • Lesson 15 Capstone: Secret messages
  • Unit 3 - PROGRAMMING IN TYPES
  • Lesson 16 Creating types with "and" and "or"
  • Lesson 17 Design by composition--Semigroups and Monoids
  • Lesson 18 Parameterized types
  • Lesson 19 The Maybe type: dealing with missing values
  • Lesson 20 Capstone: Time series
  • Unit 4 - IO IN HASKELL
  • Lesson 21 Hello World --introducing IO types
  • Lesson 22 Interacting with the command line and lazy I/O
  • Lesson 23 Working with text and Unicode
  • Lesson 24 Working with files
  • Lesson 25 Working with binary data
  • Lesson 26 Capstone: Processing binary files and book data
  • Unit 5 - WORKING WITH TYPE IN A CONTEXT
  • Lesson 27 The Functor type class
  • Lesson 28 A peek at the Applicative type class: using functions in a context
  • Lesson 29 Lists as context: a deeper look at the Applicative type class
  • Lesson 30 Introducing the Monad type class
  • Lesson 31 Making Monads easier with donotation
  • Lesson 32 The list monad and list comprehensions
  • Lesson 33 Capstone: SQL-like queries in Haskell
  • Unit 6 - ORGANIZING CODE AND BUILDING PROJECTS
  • Lesson 34 Organizing Haskell code with modules
  • Lesson 35 Building projects with stack
  • Lesson 36 Property testing with QuickCheck
  • Lesson 37 Capstone: Building a prime-number library
  • Unit 7 - PRACTICAL HASKELL
  • Lesson 38 Errors in Haskell and the Either type
  • Lesson 39 Making HTTP requests in Haskell
  • Lesson 40 Working with JSON data by using Aeson
  • Lesson 41 Using databases in Haskell
  • Lesson 42 Efficient, stateful arrays in Haskell

  • Afterword - What's next?
  • Appendix - Sample answers to exercises
Author: Kurt, Will
Manning Publications