λλ: un lenguaje de programación para fotónica de silicio que rechaza programas irrealizables en tiempo de compilación
λλ: A Programming Language for Silicon Photonics

Presentamos λλ, un lenguaje de programación para fotónica de silicio que utiliza un sistema de tipos lineales para codificar las restricciones físicas de la óptica, rechazando programas irrealizables en tiempo de compilación. El compilador reduce los programas bien tipados a una representación intermedia basada en grafos y resuelve un problema de incrustación restringida para mapearlos en conmutadores fotónicos de silicio arbitrarios minimizando la pérdida de señal. Validamos λλ en un conmutador fotónico comercial, demostrando su correcto funcionamiento para conmutación de circuitos, conmutación de rotor variable en el tiempo y computación analógica en la red. El compilador escala a conmutadores con más de 100.000 elementos programables y maneja programas con 128 pares de entrada-salida. También desarrollamos un sintetizador que genera automáticamente programas λλ a partir de especificaciones de alto nivel, permitiendo a los usuarios programar hardware fotónico sin razonar sobre primitivas ópticas.
λλ utiliza un sistema de tipos lineales para codificar las restricciones físicas de la óptica, rechazando programas irrealizables en tiempo de compilación.