← Languages

Haskell

Full course · 21 lessons

Haskell is a purely functional programming language with strong static typing and lazy evaluation. It provides an unparalleled foundation for writing correct, composable, and concurrent software. These are the definitive free resources — vetted, current, and complete.

Knowledge Course
01

Getting Started with Haskell

Install GHC, run scripts, and explore the interactive REPL.

45 min
02

Types and Functions

Type signatures, pure functions, and type inference.

60 min
03

Basic Types and Typeclasses

Int, Integer, Float, Double, Bool, Char, and String.

50 min
04

Lists and Tuples

List construction, ranges, list functions, and tuples.

60 min
05

Currying and Partial Application

Curried functions, sections, and application.

50 min
06

Pattern Matching

Function equations, list patterns, and wildcards.

60 min
07

Guards and Case Expressions

Boolean guards, where bindings, and case-of.

50 min
08

Recursion

Recursive functions, base cases, and induction.

60 min
09

Higher-Order Functions

map, filter, fold, and function arguments.

60 min
10

Lambdas and Composition

Anonymous functions, sections, and the (.) operator.

50 min
11

Algebraic Data Types

data declarations, sum types, and product types.

75 min
12

Typeclasses

Eq, Ord, Show, Read, Num, and custom typeclasses.

75 min
13

Functors, Applicatives, and Monads

fmap, <$>, <*>, >>=, and do notation.

75 min
14

Maybe and Either

Optional values, error recovery, and safe functions.

60 min
15

IO and Effectful Programming

The IO type, do-notation, and pure/impure boundaries.

75 min
16

Modules and Imports

Module structure, exports, and qualified imports.

50 min
17

Error Handling

Exceptions, pure errors, and the ExceptT pattern.

60 min
18

Lazy Evaluation

Thunks, infinite structures, and strictness.

75 min
19

Monad Transformers

ReaderT, StateT, MaybeT, and transformer stacks.

75 min
20

Testing with HUnit and QuickCheck

Unit tests and property-based testing.

60 min
21

Performance and Optimization

Strictness, unboxed types, profiling, and benchmarks.

75 min
Curated Resources