We’ve added two new lessons to the the Validation course, thus making all of the book’s content available to Type Classes members. One lesson is about using
coerce safely and effectively for
newtype-heavy code, while the other is an introduction to the
lens library through the prisms in the
This week, we’ve added content to two of our courses, Functortown and Validation. The Functortown lesson is called Zippy applicatives and discusses the two list applicatives: the normal one, and
ZipList. Second, as many of our subscribers are aware, we had turned the Validation course into a book, and we made that free to anyone who was subscribed to Type Classes at the time when we published the book. The book included two chapters that did not appear on the site, however. The first of those, now added to the course, is on
Coercible. We expect to add the final chapter next week, so all that content will be available to all our subscribers. Enjoy!
We’ve received a number of great Hacktoberfest contributions to the Phrasebook. So far, we’ve added two new pages of free content as a result. A few days ago, we released an introduction to defining functions, and today we added a page on enum ranges. Many thanks to all who have contributed so far – we have several new pages in the works thanks to the contributions we’ve received. Also today we’ve added some content to our GHCi series. To the page on querying type information, we added information about using the
:kind command. We also added a whole new page about the
We have decided to open the Haskell Phrasebook to community contributions. We especially encourage contributions from people who have never contributed to a Haskell project before but would like to.
Often we find ourselves needing a pair of related functions: 1. to encode some simple sum type as a string; 2. to parse a string back into that type. We show a simple pattern you can follow, with the help of GHC generics, to conveniently express this sort of bidirectional mapping.
Courses are series about a particular topic meant to be watched in order. Some are more theory-and-fundamentals oriented, while some focus on building a project. Each course has clearly identified prerequisites and goals, to help you choose which courses are right for you.
Profunctor, with motivating examples and discussions of what each is good for, the laws governing each, and how to property test instances.
fltkhsand Chris using
gtk3. Each lesson explains aspects of the library, illuminates important Haskell concepts such as concurrency primitives and implicit parameters, and gives you some basis for comparing libraries for your own native GUI application projects.
Validationtypes brings, as well as using
newtypeto differentiate inputs. We also demonstrate the difference between
Each article explains a single, sometimes small, Haskell topic in detail. Some articles include video. Haskell reference pages supplement, but are independent of, the courses and projects. Haskellers of any level will find them useful as reference.
transformerslibrary and use it to illustrate type aliases, newtypes, and various approaches for typeclass deriving, using the
TypeApplicationslets you visibly apply functions to type arguments. We demonstrate several common use cases.
ScopedTypeVariableslets you extend the scope of a type variable over a whole function, including its subexpressions.
reduce), monoids, and identity values.
scotty, a Haskell web framework.
This section covers topics that aren’t about the Haskell language itself, but about software that helps you be more productive with it.
:typecommand and never be at a loss for knowledge of types