One of our first video series was about how we run Type Classes on Amazon EC2 using NixOS. We’re starting to expand our Nix content a bit more now, with some introductory discussion of what Nix is, and a comparison between a Nix file and a Makefile which if you’re familiar with Make will help convey what you might use Nix for.
You may have noticed some recent colorful additions to our page headers, such as on the Validation and Web servers courses. More than mere decorations, these are also Haskell demonstrations! We have discussions of how they were generated in our Art section. Today we’ve added a page on the Julia set that you see at the top of our home page, produced using the fractal-hs package.
We’re writing the Python course in a slightly different style from most of Type Classes, because it is aimed at a more focused audience. The idea is that if you are already familiar with Python, then we want to leverage as much of your existing Python knowledge as possible as you learn Haskell. For example, we’re not including quite as many type signatures in our explanations as we normally would, and we defer the introduction of some aspects of Haskell to minimize the amount of patience required if you just want to answers to questions of the form ‘I know how to do this thing in Python; how do I do it in Haskell?’ This post is about one particular small choice regarding range syntax.
zipfunction in Python and Haskell
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