Monad
Una mónada es un constructor de tipos con operaciones flatMap (bind) y pure (return), que proporciona gestión de contexto para cómputos encadenados.
Propósito
Abstraer contextos de cómputo (opcional, asíncrono, error, estado), haciendo los cómputos encadenados elegantes y seguros.
Mecanismo
M<T> proporciona pure: T→M<T> y flatMap: M<T> × (T→M<U>) → M<U>. Satisface las leyes de identidad izquierda/derecha y la asociatividad. La mónada Option maneja nulos, Result errores y Future asincronía. Las cadenas de flatMap gestionan el contexto.
Casos de uso
- Programación funcional
- Manejo de errores
- Composición asíncrona