The latest lesson in the Python course is about functions that produce simple never-ending iterators. The ability to represent concepts like “counting upward from one” and “repeating an item indefinitely” is a big part of what distinguishes iterators from lists in Python. In Haskell we describe things like Python iterators as “lazy” because elements are not evaluated until they are needed. Python lists, in contrast, we describe as “strict”.
Courses are series about a particular topic meant to be watched in order. Some will be more theory-and-fundamentals oriented, while some will 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