- Codata
- (Co)recursion schemes
- Advanced optics
- Dual abstractions (comonad)
- Monad transformers
- Free monads and extensible effects
- Functional architecture
- Advanced functors (exponential, profunctors, contravariant)
- Embedded domain-specific languages (DSLs) using generalized algebraic datatypes (GADTs)
- Advanced monads (continuation, logic)
- Type families, functional dependencies (FDs)
|
- Design a minimally powerful monad transformer stack
- Write concurrent and streaming programs
- Use purely functional mocking in tests.
- Use type classes to modularly model different effects
- Recognize type patterns and abstract over them
- Use functional ...
|