Haskell
Full course · 21 lessonsHaskell 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.
Getting Started with Haskell
Install GHC, run scripts, and explore the interactive REPL.
Types and Functions
Type signatures, pure functions, and type inference.
Basic Types and Typeclasses
Int, Integer, Float, Double, Bool, Char, and String.
Lists and Tuples
List construction, ranges, list functions, and tuples.
Currying and Partial Application
Curried functions, sections, and application.
Pattern Matching
Function equations, list patterns, and wildcards.
Guards and Case Expressions
Boolean guards, where bindings, and case-of.
Recursion
Recursive functions, base cases, and induction.
Higher-Order Functions
map, filter, fold, and function arguments.
Lambdas and Composition
Anonymous functions, sections, and the (.) operator.
Algebraic Data Types
data declarations, sum types, and product types.
Typeclasses
Eq, Ord, Show, Read, Num, and custom typeclasses.
Functors, Applicatives, and Monads
fmap, <$>, <*>, >>=, and do notation.
Maybe and Either
Optional values, error recovery, and safe functions.
IO and Effectful Programming
The IO type, do-notation, and pure/impure boundaries.
Modules and Imports
Module structure, exports, and qualified imports.
Error Handling
Exceptions, pure errors, and the ExceptT pattern.
Lazy Evaluation
Thunks, infinite structures, and strictness.
Monad Transformers
ReaderT, StateT, MaybeT, and transformer stacks.
Testing with HUnit and QuickCheck
Unit tests and property-based testing.
Performance and Optimization
Strictness, unboxed types, profiling, and benchmarks.
Free Books
Learn You a Haskell for Great Good!
The iconic beginner-friendly classic teaching functional programming from basic syntax to monads with a humorous, illustrated approach.
Haskell Programming from First Principles
The most thorough book for mastering Haskell from scratch. Free chapters and community solutions available via GitHub.
Official Documentation
Haskell.org Documentation Hub
Central hub for official guides, the Haskell Report, language standards, and library documentation via Hackage.
Hackage — Haskell Package Repository
Central package repository with complete API documentation for thousands of Haskell libraries.
GHC Users Guide
Complete documentation for the Glasgow Haskell Compiler covering language extensions, optimization, and profiling.
Interactive Courses
Video Courses
Practice & Challenges
Reference & Cheatsheets
News & Updates
Community
Haskell Discourse
Official community forum with a dedicated learning category for beginners to ask questions and get help.
Reddit r/haskell
Vibrant community sharing announcements, blog posts, project showcases, and deep FP discussions.
Haskell.org Community
Official community page listing user groups, IRC channels, mailing lists, and global Haskell events.

