Read the case studies and learn how property-based testing uncovered subtle bugs in a complex GUI application.
This practical ebook is a guide to programming with the Plutus language for highly secure smart contracts on the Cardano blockchain, home of the ada cryptocurrency. Plutus is based on the Haskell functional programming language and comes complete with a full testing environment accessed via any browser.
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.