Resolviendo elegantemente el problema de la expresión: despacho múltiple y métodos abiertos
Este artículo profundiza en el 'problema de la expresión', un desafío que afecta tanto a la programación orientada a objetos como a la funcional: agregar nuevos tipos de datos y operaciones sin modificar el código existente. Usando ejemplos en C++ y Haskell, el autor ilustra el núcleo del problema. La OOP tradicional lucha por extender tipos y operaciones simultáneamente, y la programación funcional enfrenta limitaciones similares. El artículo analiza a fondo el patrón de visitante y sus extensiones, utilizando finalmente los multimethods y protocolos de Clojure para demostrar cómo el despacho múltiple y los métodos abiertos resuelven elegantemente el problema de la expresión, permitiendo un código flexible y extensible.
Leer más