Este artículo explica cómo integrar Brainfuck como lenguaje de dominio específico (DSL) dentro de Forth, aprovechando las capacidades de metaprogramación de Forth en lugar de escribir un intérprete convencional. La idea central es que el código Brainfuck se embebe directamente en programas Forth y se ejecuta como si fuera código Forth válido, gracias a que el propio Forth funciona como su propio entorno interactivo de ejecución.
El texto parte de una introducción accesible a Forth, lenguaje concatenativo y orientado a pila creado por Charles "Chuck" Moore en los años sesenta. Se describen sus dos pilas —de datos y de control de flujo—, su diccionario de definiciones, la notación polaca inversa y el modelo de ejecución basado en palabras que operan sobre los valores apilados. También se presenta Brainfuck como lenguaje esotérico creado por Urban Müller a principios de los noventa, con solo ocho instrucciones pero Turing-completo.
La sección principal muestra cómo Forth permite tratar el código Brainfuck como definiciones Forth en tiempo de compilación: no es necesario modelar un puntero de código ni una máquina virtual, porque el propio intérprete Forth ya recorre el código fuente. Mediante generación de código en tiempo de compilación, cada instrucción Brainfuck se traduce en palabras Forth equivalentes que manipulan la memoria y el puntero de datos. El resultado es un programa sorprendentemente compacto, cuya implementación se incluye íntegra al final del artículo junto con ejemplos de uso.
