Mónadas diminutas y sin tipos: una introducción práctica en JavaScript

Las mónadas son estructuras usadas en programación funcional para abstraer el paso explícito de contexto y simplificar el código, pero su explicación suele ser densa o estar oculta tras tipos e instancias complejas. Este artículo demuestra que, en el fondo, una mónada se reduce a mecanismos muy simp

Principia Mathematica: una obra moderna y reveladora en sus nociones básicas

Principia Mathematica, la obra monumental de Alfred North Whitehead y Bertrand Russell publicada a partir de 1910 por la Cambridge University Press, es célebre por la extensión de sus demostraciones —se dice que emplea unas mil páginas en probar que 1+1=2— y por un nivel de detalle concebido para de

Modelado de sistemas de actores con PLT Redex: el fragmento funcional ISWIM

Este artículo, primero de una serie de tres, presenta un modelo de un lenguaje funcional minimalista inspirado en ISWIM —el experimento mental de Peter Landin descrito en "The Next 700 Programming Languages"— implementado con PLT Redex, el lenguaje de dominio específico de Racket para especificar y

Historia del proyecto de programación funcional de John Backus

Este documento, elaborado por Paul McJones, reconstruye la trayectoria del proyecto de programación funcional que John Backus desarrolló en IBM desde finales de la década de 1960 hasta su jubilación en 1991. La iniciativa buscaba preservar y contextualizar los materiales supervivientes de aquella lí

Sintaxis con propósito: por qué la forma de un lenguaje refleja su modelo

En este vídeo ensayo, el desarrollador Marcos Magueta sostiene que la sintaxis de un lenguaje de programación no debería ser un conjunto arbitrario de atajos heredados de otros lenguajes, sino un reflejo fiel de las abstracciones que el lenguaje ofrece. La idea central es que cada decisión sintáctic

EDSLs de expresiones tipadas en Haskell extremo (parte 1)

Este artículo de Justin Le inaugura una serie en tres partes dedicada a explorar el extremo más sofisticado del sistema de tipos de Haskell. El objetivo es construir un lenguaje de expresiones tipado embebido (un EDSL) que permita especificar un programa una sola vez y reutilizarlo de varias formas:

Una charla con un niño de seis años sobre programación funcional

¿Cómo se explica un concepto avanzado de informática a un niño de seis años? Este ensayo, escrito en primera persona por un académico vinculado a la programación funcional, narra una conversación espontánea con su hijo menor mientras leía la tesis de habilitación de Janis Voigtländer sobre teoremas

Una introducción amable a los combinadores Y y Z sin let ni recursión

Este artículo propone un recorrido didáctico por los combinadores Y y Z a partir de un acertijo en JavaScript: implementar el factorial de un número sin usar bucles, recursión ni declaraciones como let, const o function. El texto utiliza esta restricción aparentemente artificial como motor pedagógic

Estudio presenta clasificación de ordinales en cálculo lambda por categorías

Este documento presenta una clasificación exhaustiva de las codificaciones de ordinales (números naturales) dentro del cálculo lambda, un sistema formal fundamental en teoría de la computación. Se organizan en tres categorías principales: Lineal, Afín y No-Lineal, cada una con múltiples encodings pr

Mini-lenguajes: programación en código reducido

Este artículo de Taylor Troesh explora el fascinante mundo de los "Lil' Fun Langs", o lenguajes de programación muy pequeños. La idea central es que es posible crear lenguajes de programación funcionales y con tipado estático con una cantidad sorprendentemente baja de código. El artículo no solo pre