Los lenguajes de programación convencionales expresan las operaciones en una sola línea, de izquierda a derecha. Este ensayo explora qué ocurriría si el código aprovechara también el eje vertical, dando lugar a lenguajes espaciales en 2D. La propuesta parte de una crítica a las limitaciones de la notación infija tradicional: las funciones de tres argumentos, como el operador andFlip definido en el texto, no cuentan con una representación natural en una dimensión.
El artículo introduce @@, un operador ternario que se activa solo cuando sus dos entradas son verdaderas y cuyo resultado se encadena verticalmente con un tercer valor. Un ejemplo práctico es la puerta automática de un gallinero, que combina un fotómetro y un reloj interno para abrirse solo cuando se dan tres condiciones simultáneas y sostenidas: cambio de luz al amanecer o atardecer, mantenimiento de la lectura durante cinco minutos y ausencia de un accionamiento reciente.
La idea se inspira directamente en la computación cuántica. El texto muestra cómo el encadenamiento 2D permite deshacer valores intermedios dentro de una misma expresión, algo esencial para el uncomputation y la limpieza de ancillas prestadas, operaciones que en Qiskit resultan más difíciles de seguir. A partir de un operador más simple, @, se construyen espacialmente las puertas maj y uma del sumador ripple-carry cuántico, conformando un sumador completo de 3 bits en una sola expresión bidimensional que limpia sus variables temporales. El artículo cierra con un recorrido por lenguajes espaciales previos, como Befunge (1993) y Orca, y defiende que la sintaxis 2D combina la claridad de los diagramas de circuitos con la expresividad del código.
