Sign InPersonal SiteFree Consult

Haskell Tutor

Haskell tutoring for university students. Functional programming, recursion, type systems, and more.

Haskell is a purely functional programming language that forces you to think differently about computation. Instead of telling the computer what to do step-by-step, you describe what things are. This paradigm shift is challenging but builds strong foundations in computational thinking. ANU and UniMelb use Haskell specifically because it develops rigorous problem-solving skills.

Topics we cover

Common areas where students need help.

Thinking recursively instead of iteratively
Understanding the type system
Pattern matching and guards
Higher-order functions (map, filter, fold)
Monads and IO
List comprehensions
Lazy evaluation
Algebraic data types

Example learning plan

A typical 4-6 week progression for this subject.

Week 1-2

Fundamentals

Basic syntax, types, functions, pattern matching, and guards

Week 3-4

Recursion & Lists

Recursive thinking, list operations, higher-order functions

Week 5-6

Type System

Algebraic data types, type classes, polymorphism

Week 7+

Advanced Topics

Monads, IO, functors, and applicatives

Projects you can build

Real projects to practice and showcase your skills.

Recursive list functions from scratch
Binary tree implementation
Parser for simple expressions
Sudoku solver
Simple interpreter
Game logic (e.g., Tic-tac-toe AI)

Pricing

Single Session

$80/ hour

Try it out or get quick help.

  • 60-minute session
  • Session notes
  • Any topic
Book Free Consult

5-Session Pack

$350/ pack

Best value for learning this subject.

  • Save $50
  • 3-month validity
  • Priority booking
Discuss 5-Pack

FAQ

Why do universities teach Haskell?
Haskell forces you to think mathematically about computation. You can't rely on mutation or side effects, so you develop stronger problem-solving skills. Students who learn Haskell first often find other languages easier because they understand computation at a deeper level.
I understand loops—why do I need recursion?
In functional programming, recursion replaces loops. It's a different way of expressing repetition that often leads to more elegant solutions. Once recursion 'clicks', you'll find it natural and powerful.
What are monads and why are they confusing?
Monads are a pattern for handling computations with context (like IO, errors, or state). They're confusing because they're abstract—but they're also powerful once understood. I use concrete examples and build up gradually rather than starting with theory.
Can you help with ANU COMP1100?
Yes. COMP1100 uses Haskell specifically because it builds strong foundations. I can help you understand functional thinking, tackle assignments, and prepare for exams. I'm familiar with the course structure and common challenges.

Ready to learn Haskell?

Start with a free consultation and we’ll build a plan for your learning goals.

Book a Free Consultation