Haskell programming in plain view
Introduction edit
Applications edit
- Sudoku Background (pdf)
- Bird's Implementation
Using GHCi edit
- Getting started (pdf)
Using Libraries edit
- Library (pdf)
Types edit
Functions edit
Expressions edit
Lambda Calculus edit
- Lambda Calculus - informal description (pdf)
- Lambda Calculus - Formal definition (pdf)
- Expression Reduction (pdf)
- Normal Forms (pdf)
- Encoding Datatypes
- - Church Numerals (pdf)
- - Church Booleans (pdf)
- - Functions (pdf)
- - Combinators (pdf)
- - Recursions (pdf)
Function Oriented Typeclasses edit
Functors edit
Applicatives edit
- Applicatives Overview (pdf)
- Applicatives Methods (pdf)
- Function Applicative (pdf)
- Applicatives Sequencing (pdf)
Monads I : Background edit
- Side Effects (pdf)
- Monad Overview (pdf)
- Monadic Operations (pdf)
- Maybe Monad (pdf)
- IO Actions (pdf)
- Several Monad Types (pdf)
Monads II : State Transformer Monads edit
- State Transformer
- - State Transformer Basics (pdf)
- - State Transformer Generic Monad (pdf)
- - State Transformer Monads (pdf)
- State Monad
Monads III : Mutable State Monads edit
- Mutability Background
- - Inhabitedness (pdf)
- - Existential Types (pdf)
- - forall Keyword (pdf)
- - Mutability and Strictness (pdf)
- - Strict and Lazy Packages (pdf)
- Mutable Objects
- IO Monad
- ST Monad
Monads IV : Reader and Writer Monads edit
- MonadReader Class
- Control Monad (pdf)
Monoid edit
- Monoids (pdf)
Arrow edit
- Arrows (pdf)
Polymorphism edit
- Polymorphism Overview (pdf)
Concurrent Haskell edit