The Haskell Brain

Machine learning is one of the most important skills in software today. The field has typically been dominated by languages like Python (through TensorFlow and PyTorch) and R. So it's a bit frustrating for Haskell fans who want to use this awesome language as widely as possible but struggle to apply it to this critical domain.

However, there are a few tools out there that allow us to use Haskell for machine learning! Chief among these are the Haskell Tensorflow bindings. They aren't easy to use though, and there aren't many tutorials either!

The Haskell Brain seeks to fill this gap. This course will walk you through all the important questions about getting started with Haskell and TensorFlow.

  1. What system setup is required?
  2. How are tensors represented in Haskell?
  3. How can I train a machine learning model with tensors?

If you're ready to start answering these questions, head to the course sales page!

For more details about what's included in the course, (including FAQ), keep reading!

Course Content and Outline

The course content consists of 3 elements:

  1. Video Lectures
  2. Screencast Videos
  3. Programming Exercises

In video lectures, your teacher will introduce the core concepts of the lesson, including an in-depth breakdown of the code you need to implement the feature.

Screencast videos will show these concepts in action, in an IDE, so you can follow along.

Finally, you'll then get the chance to try the concepts for yourself with our detailed programming exercises. These exercises are the most important part of the course! By writing the code and applying the concepts yourself, you'll build up the confidence to use these ideas in your own projects.

This short course has roughly 4 different parts. Here are the different areas you'll cover:

Development Setup

The interaction of Haskell and TensorFlow is a complicated one! To make everything work, you'll need to install a few different system dependencies. This process is a bit tedious, but it's also enormously valuable for your development as a programmer. You'll gain important insights into how Haskell can interact with different systems.

Basics of Tensors

Once your system is ready, it's time to start learning about tensors! We'll learn the basics of constructing and running tensors in both Python and Haskell. Haskell, of course, is a bit more complicated since we have to keep track of more type information!

Leaning Models

Once we understand tensors, we'll learn how to construct machine learning models, from simple linear representations to neural networks. We'll see a couple examples of representing these models as Haskell types.

Other Approaches

We'll conclude the course by considering an alternative approach to TensorFlow. The Grenade library allows us to perform machine learning, and it incorporates some uniquely "Haskell" ideas with dependent types!

FAQ

How are course materials delivered?

The course has a .zip file that you can download, containing a buildable Haskell project. You can also sign up for the private GitHub repository that you can clone or fork so that you can get updates more easily.

How long can I access course material?

Purchasing this course grants lifetime access to the material. If you don't have time to go through it now, you can always leave it for later!

What if I get stuck on something?

You'll be able to email the instructor for help. You'll also be able to download a separate .zip file (or fetch a separate Git branch) that has all the answers for each exercise.

What if I don't like the course?

This course comes with a 14-day refund guarantee. If you don't like the course, you can get a full refund within 14 days, no questions asked.

If you have any more questions, you can send an email to james@mondaymorninghaskell.me! Once you're ready to buy, head to the course page to make your purchase!