Summary of Functional Patterns
- Lazy execution
- Algebraic Data Types
- Product
- Sum
- Newtypes
- Typeclasses
- Tagless final
- Phantom types
- Functors
- Covariant Functors
- Contravariant Functors
- Profunctors
- Applicatives
- Validated
- Semigroups
- Non empty list
- Monoids
- String
- Monads
- List
- Option
- Either
- Reader
- Writer
- State
- IO
- ErrorMonad
- Cont
- Monad transformers
- ListT
- EitherT
- StateT
- ReaderT
- Comonads
- Store
- Product
- Free structures
- Monoids
- Functors
- Applicatives
- Monads
- Comonads
- Trampolining
- Lenses
- Prisms
- Continuation Passing Style
- Type level programming