λλ:为硅光子打造的编程语言
λλ: A Programming Language for Silicon Photonics

硅光子技术正面临编程门槛高的挑战,Cornell University团队推出的λλ语言为此提供了解决方案。该语言利用线性类型系统,在编译阶段就能直接编码光学的物理约束,自动拒绝无法实现的程序。编译器将代码转化为图表示,并解决复杂的嵌入问题,从而将程序映射到任意硅光子开关目标上,同时最小化信号损耗。团队在商用光开关上验证了λλ,成功实现了电路交换、时变转子交换及网络内模拟计算。此外,他们还开发了合成器,让用户无需理解底层光学原语即可通过高层规范自动生成程序,让硅光子硬件的编程变得前所未有的简单。
λλ利用线性类型系统来编码光学的物理约束,从而在编译时直接拒绝无法实现的程序。
HN 评论区
17- tromp
第二个 λ 是下标。正如论文脚注 1 所述:
> 读作“lambda lambda”。一个 λ 指代 λ-演算,另一个指代光波长。
- deepsun
λλ 的完整语法(来自论文):
e ::= v | x | input(p)
| let x = e1 in e2
| (e1, e2)
| unpack e1 as (x1, x2) in e2
| phase(θ, e)
| split(r, e)
| unitary(U, (e1, e2))
| output(p) <- e1; e2
v ::= r ↓ ℝ | p ↓ Port | U ↓ Unitary | ()
τ ::= ℝ | Port | Opt | Unitary | Unit |(τ1 * τ2)
- ktallett
我很好奇为什么要开发一门新语言,而不是为现有语言构建一个库?这样做的好处是什么?我在论文里没看到相关说明。它能与其他语言交互吗?