E-- ("English--") es un lenguaje de programación que se escribe en inglés llano y sin ambigüedades, con una gramática cerrada y un vocabulario fijo en el que cada construcción tiene una única forma canónica. Su transpilador convierte esos archivos —con extensión .emm— en código Python puro, determinista y reproducible, de modo que el resultado se puede ejecutar, depurar e inspeccionar como cualquier programa Python ordinario.
La motivación del proyecto es separar el papel del modelo de lenguaje del momento de ejecución. El código generado por un LLM suele ser difuso en tiempo de ejecución: no es reproducible, cuesta cada llamada y resulta difícil de depurar. E-- resuelve esto con una canalización en dos etapas. En una fase opcional, un LLM (por defecto Anthropic Haiku) normaliza inglés libre a E-- canónico y resuelve las ranuras {{ ... }}. Después, un compilador determinista y sin red convierte ese E-- en Python. El LLM solo actúa al transpilar; el programa final nunca llama al modelo.
El flujo es: inglés libre → LLM (opcional) → E-- canónico → analizador sintáctico → Python. Marcadores como [[nombre]] indican llamadas a funciones, las palabras sueltas son variables, los literales numéricos o entrecomillados son valores, <1, 2, 3> representa listas y {{ ... }} marca una frase en inglés que el transpilador resuelve una sola vez y guarda en caché (.emm_cache.json) para que las compilaciones siguientes sean offline y reproducibles.
La herramienta se distribuye bajo Apache License 2.0 y se instala con pip install e-minus-minus. Incluye una API programática (transpile()), una CLI (emm-transpile) y ejemplos que van desde casos sin LLM hasta ranuras de expresión y de bloque. La licencia cubre solo la herramienta: el Python generado pertenece al autor, y el proveedor del modelo aplica sus propias condiciones.
