A comprehensive example-driven guide to optics. Examples in Haskell, but adaptable to other languages. Become a data-manipulation wizard using optics to manipulate data! This book takes you from beginner to advanced using Lenses, Traversals, Prisms, and more!
Grab your compiler and follow along as the authors develop and gradually refine a short Haskell program. This extremely approachable guide explains topics like case expressions, sum and product types, type constructors, typeclasses, and newtype coercion as they are motivated by the example code, with exercises to reinforce your understanding.
This book aims to be the comprehensive manual for type-level programming. It's about getting you from here to there---from a competent Haskell programmer to one who convinces the compiler to do their work for them.
Do you want to learn Haskell by looking at how it is used to solve a programming kata? Take a seat and follow our little haskellers while they build a very elegant solution to find the winner of a poker game. You might even want to grab your keyboard and give it a try!
This tutorial has a funny name, and friendly face, but it's serious about making learning Haskell fun. Volume 1 is a most enjoyable way for programming beginners to start with Haskell. It will take your reading from zero to halfway thru beginner-level, and your writing to the tiniest pre-beginner (basic) programs. Uses gradual, staged, small whole programs and fun examples with useful illustrations. The main site is at www.happylearnhaskelltutorial.com. Twitter @happylearntutes and YouTube Channel.
What if the computer could write tests for us, with some guidance from us? There are many reasons to learn Haskell. QuickCheck was one of the main reasons for me. Knowing how to use it in anger requires some muscle memory. Muscle memory can be grown by doing some exercises. This book provides those exercises. I've tried learning QuickCheck on a production application, but there is always something else, and little time to really get to the bottom of it.