← 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