Introducción amigable a Racket: el dialecto de Lisp para crear lenguajes

Fuentes: A Friendly Introduction to Racket

Racket es un lenguaje de la familia Lisp nacido en 1995 como PLT Scheme en el grupo de Matthias Felleisen y rebautizado en 2010. Su apuesta diferencial es la programación orientada al lenguaje: si un problema exige su propia sintaxis, Racket permite definirla en cuestión de horas. El artículo recorre su genealogía —desde el Lisp de John McCarthy en 1958 hasta Scheme, Common Lisp, Clojure y dialectos modernos como Fennel o Janet— y explica por qué ideas hoy omnipresentes (recolección de basura, funciones de primera clase, REPL, condicionales como expresiones u homoiconicidad) nacieron en esta familia.

En la parte práctica, el texto guía al lector paso a paso: instalación de DrRacket, la regla única de sintaxis donde todo es (operador argumentos…), definiciones con define y funciones anónimas con lambda, manejo de listas (la estructura fundamental de Lisp) y funciones de orden superior como map, filter y foldl, que sustituyen al bucle for tradicional. Incluye un ejemplo recursivo para dibujar el triángulo de Sierpinski con la biblioteca 2htdp/image.

El cierre muestra la potencia de la homoiconicidad: gracias a la comilla ', el código se convierte en datos manipulables, lo que permite crear macros reales mediante define-syntax-rule. El autor demuestra inventar un bucle while que Racket no incluye de fábrica, ilustrando la cita de Alan Kay que describe Lisp como «las ecuaciones de Maxwell del software». Como recursos adicionales, recomienda el libro How to Design Programs y la guía oficial de Racket.