Futhark incorpora funciones recursivas tras casi una década sin ellas

Futhark, un lenguaje funcional orientado a la computación paralela sobre datos, ha carecido de soporte para funciones recursivas durante casi toda su existencia. La ausencia no respondía a una postura ideológica contra la recursión —el propio compilador contiene definiciones recursivas—, sino a la f

Por qué tu recursión en JavaScript puede fallar en producción

La recursión es una herramienta elegante y muy usada en JavaScript para recorrer árboles, estructuras anidadas o aplicar estrategias de divide y vencerás, pero esconde un límite físico: cada llamada consume espacio en la pila de ejecución. Cuando la profundidad crece lo suficiente, el motor lanza un

El camino al cero épsilon: el Nim con ordinales infinitos siempre termina

En una variante del juego de Nim con fichas de valor ordinal infinito (ω, ω·2, ω²…), la partida siempre termina, aunque los jugadores no puedan precisar de antemano cuántos turnos durará. El artículo, publicado en un blog de matemáticas recreativas, explica que cuando se añaden fichas verdes que rep

Cómo otros comprobadores de enlaces implementan la recursividad

Matthias Endler, autor de lychee, un comprobador de enlaces escrito en Rust, analiza en este artículo cómo otras herramientas similares implementan la recursividad para rastrear sitios web completos, y por qué añadir esa capacidad a lychee le costó cinco años y cuatro intentos. El autor estudió el

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

CSS como código: ¿programación más allá del diseño?

Este artículo explora una idea inusual: usar CSS como un lenguaje de consulta o incluso como un lenguaje de programación general, más allá de su función principal de diseñar páginas web. La pregunta central es por qué alguien querría hacer esto, dado que CSS es notoriamente complejo y existen lengua

Fallece Tony Hoare: Legado de un pionero de la informática

Este artículo conmemora la vida y obra de Tony Hoare, un pionero de la informática, fallecido recientemente a los 92 años. Hoare no solo fue un académico brillante, sino también un programador y gerente con experiencia en la industria, lo que influyó en su enfoque práctico y elegante de la resolució

Recursión: A veces, la solución es recursiva

Este artículo explora una idea contraintuitiva en programación: a veces, la mejor solución para un problema recursivo es, precisamente, una solución recursiva. La premisa central es que, aunque teóricamente cualquier función recursiva puede convertirse en una iterativa, esta transformación a menudo

Recursión sin pila: técnica para código más robusto

Este artículo del blog explora una técnica para transformar código recursivo, a menudo elegante y mantenible, en una forma imperativa más robusta, especialmente útil en entornos como Node.js y TypeScript donde los desbordamientos de pila son una preocupación. La idea central es simular explícitament

Programar plantas: el nuevo enfoque de desarrollo

El artículo introduce el concepto de "programación de plantas de interior", acuñado por Ryan Goldstein, como una forma de desarrollo de software personal y específico. No se trata de crear software robusto y listo para producción, sino de escribir pequeñas herramientas para resolver problemas idiosi

Julia facilita modelado de crecimiento vegetal

Los Sistemas Lindenmayer (L-systems) son un conjunto de reglas que definen patrones recursivos, originalmente desarrollados en 1968 por Aristid Lindenmayer para modelar el crecimiento de plantas y el comportamiento de células vegetales. La biblioteca Lindenmayer.jl facilita la creación y visualizaci

Kolakoski: La secuencia que se define a sí misma

La secuencia de Kolakoski es una secuencia infinita de números 1 y 2 que posee una propiedad fascinante: su descripción se encuentra codificada dentro de sí misma. Esto significa que la secuencia está formada por las longitudes de las 'carreras' (secuencias consecutivas del mismo número) que la comp