Programación funcional en hica: una guía práctica

Fuentes: Functional Programming in hica

hica es un lenguaje de programación diseñado en torno al paradigma funcional, basado en tres pilares: inmutabilidad por defecto, expresiones en lugar de sentencias y funciones como valores de primera clase. El texto, extraído de la documentación oficial del proyecto, recorre los conceptos clave de la programación funcional aplicados al lenguaje con ejemplos ejecutables, sin exigir experiencia previa en FP.

El documento explica que en hica casi todo es una expresión, incluidos if, match y los bloques de código, lo que permite usarlos en cualquier posición donde se espera un valor y elimina la necesidad de la palabra clave return. La inmutabilidad es la norma: las vinculaciones se declaran con let y nunca se modifican estructuras como listas, sino que se crean otras nuevas (por ejemplo, concatenando). El modificador var existe como opción puntual para casos como contadores o variables de bucle, siempre con ámbito local.

Las funciones en hica son puras por defecto y el sistema de tipos, heredado de Koka, rastrea los efectos secundarios, de modo que una función con E/S lo refleja en su firma. El manual cubre además funciones de orden superior, closures (captura de variables del entorno), y las operaciones fundamentales sobre listas: map, filter y fold, con implementaciones de funciones auxiliares como my_length, my_max y my_reverse. También aborda concat y flat_map para aplanar estructuras anidadas, y la analogía entre flat_map para listas y and_then para el tipo Maybe, ambos casos del patrón general bind. Por último, presenta el operador pipe |>, que encadena transformaciones en orden de lectura natural, mejorando la legibilidad frente al anidamiento de llamadas.