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
editFunctions
editExpressions
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
editFunctors
editApplicatives
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