Aprendiendo el concepto de mónadas con Rust
(techblog.samsung.com)Hola, comparto un artículo que explica de forma relativamente sencilla la "mónada", un concepto clave de la programación funcional.
Está organizado para que puedas entenderlo paso a paso a partir de pequeños ejemplos basados en el lenguaje Rust.
7 comentarios
Gracias por el buen artículo.
Qué envidia, usar Rust en el trabajo.
Me gustaría que el código se mostrara como texto en lugar de imagen.
Estoy de acuerdo.
¡Es un buen artículo! Solo que la explicación relacionada con el endofunctor tiene un error, así que estaría bien corregirla https://x.com/simnalamburt/status/1950074970647761168?s=46
¡Es una observación muy acertada!
Parece que hubo un malentendido en el proceso de aplicar a Rust contenido escrito para otros lenguajes.
Como el sistema de tipos de Rust forma una sola categoría, la distinción entre endofuntor y funtor general parece no tener sentido.
Es una pena que el blog no tenga función de comentarios; tendré que preguntar si es posible solicitar una corrección.
No todo es un endofuntor. Las cosas con varios parámetros de tipo, como
Result<T, E>, no son 𝒞 → 𝒞 sinoResult : 𝒞 × 𝒞 → 𝒞, así que esto es un bifuntor.