Notesé que el título habla de mónadas, y no de monadas. Esto se trata de un artículo algo extenso, pero muy interesante, de cómo el concepto de mónadas se puede aplicar a cualquier lenguaje que permita el uso de objetos función o lambdas. Y qué lenguaje más simple para demostrar esto que JavaScript: Understanding Monads With JavaScript.

El artículo nos lleva sobre una estructura muy simple (un array utilizado como pila) en donde se ponen dos valores y luego se recuperan. Ese mismo proceso se va modificando en la forma en que se codifica hasta el punto de lograr las mónadas: objetos “computables” totalmente encapsulados en donde se abstrae de nosotros el procesamiento y la estructura, que a la vez, es más funcional que procedural.

Por supuesto que para los que venimos de programación orientada a objetos (OOP) esto nos debe de resultar un poco raro, pero podemos ver fácilmente la relación con otros lenguajes que no tienen esta orientación, sino una orientación, como decía, más funcional, y como podemos en base a ellos también modelar la encapsulación, en estructuras “fractaloides”, que contienen subpartes que, bajo la misma estructura, hacen más simple los procesamientos internos de nuestro sistema.

Suena muy loco, pero si logran comprender el artículo los invito a llevarlo hasta donde su imaginación lo permita, y luego preguntarse si el gráfico en ese blog no está muy apropiadamente colocado.

Soy un zorrinito funcional.