Implementación de Forth en Lisp mediante macros

Fuentes: Implementing Forth in Lisp Through Macro Abstractions

Este capítulo de 'Let Over Lambda' culmina una serie de técnicas de macros Lisp aplicadas a la construcción de un intérprete del lenguaje Forth dentro de Lisp. El objetivo no es meramente didáctico: el autor busca mostrar cómo Forth puede replantearse cuando se dispone de la potencia expresiva de Lisp, explorando la dualidad de sintaxis que las macros hacen posible. A lo largo del texto se recorre la historia de Forth, creado por Chuck Moore hacia 1968 al margen de grandes patrocinadores académicos o corporativos, y se compara su filosofía minimalista y orientada a recursos limitados con la de Lisp. Se explica que Forth resulta especialmente útil en sistemas embebidos y que lenguajes como PostScript y Joy heredan su enfoque de pila. El capítulo describe además la implementación concreta: registros abstractos representados como símbolos Lisp, dos pilas (de parámetros y de retorno) construidas con listas de pares cons, un diccionario enlazado donde las palabras Forth se almacenan en orden cronológico en lugar de alfabético, y un puntero de programa. También se introduce el concepto de inmediatez, análogo a las macros de Common Lisp pero ejecutado en tiempo de compilación dentro de Forth. El texto concluye subrayando que tanto Lisp como Forth representan máximos locales en el diseño de lenguajes: más que normas cerradas, son materiales de construcción y conjuntos de sabiduría acumulada.