alt.hn

8/19/2026 at 6:09:16 AM

λλ: A Programming Language for Silicon Photonics

https://dl.acm.org/doi/10.1145/3789240.3829151

by matt_d

8/19/2026 at 8:29:29 AM

Full syntax of λλ (from the paper):

   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)

by deepsun

8/19/2026 at 8:41:24 AM

Note that this is not an extension of the pure λ-calculus.

Abstraction (λx.e) and application (f a) are missing, although the let construct "let x = e1 in e2" is equivalent to their combination ((λx.e2) e1).

The paper has few details on the higher-level specification language in which users specify desired behaviour:

> Specification Language. Specifications are written as relations between input and output ports, expressed using linear expressions. On their own, specifications are not λ _λ programs. It is the job of the synthesizer to find λ _λ programs that realize a given specification. For example, a simple switching behavior can be specified as output[i] = input[j], while a 2x2 AllReduce operation can be written as output[1] = (input[1] + input[2])/sqrt(2) and output[2]= (input[1] - input[2])/sqrt(2).

by tromp

8/19/2026 at 9:14:09 AM

So simplified, a bit like System F.

by pjmlp

8/19/2026 at 8:24:30 AM

The second λ is subscripted. As footnote 1 in the paper says:

> Pronounced “lambda lambda”. One λ refers to the λ-calculus and the other refers to an optical wavelength.

by tromp

8/19/2026 at 12:42:08 PM

Or, in French, Lambdeux.

by sunrunner

8/19/2026 at 2:58:24 PM

That also sounds like a good french name for Binary Lamda Calculus.

by tromp

8/19/2026 at 4:29:30 PM

"Lambda" is from Greek, so plural would be something like "Lambdada".

by iLemming

8/19/2026 at 12:34:05 PM

Ah, the bi-lams.

by noworld

8/19/2026 at 2:28:54 PM

lambdi!

by esseph

8/19/2026 at 9:53:07 AM

I am curious why develop a new language instead of building a library for an existing language. What are the benefits as I didn't see this in the paper? Can it interact with other languages?

by ktallett

8/19/2026 at 11:57:29 AM

I understood this language like being something similar to assembly.

Many compiled languages can compile down to assembly and which can be used to debug/optimize/understand the compilation process.

Assembly is so close to the underlying hardware that it's not very practical for us humans to write software with it.

> Can it interact with other languages?

I'd say this is probably similar to the story with assembly. Assembly cannot interop with C. But C can be compiled down to assembly (not sure that counts as "interact" to you).

by flossly

8/19/2026 at 12:05:49 PM

Assembly can totally interop with C.

by tekne

8/21/2026 at 12:53:11 PM

When that C is compiled down to... assembly? Or binary?

I cannot call a C function by name from assembly right?

by flossly

8/19/2026 at 12:05:53 PM

Well the logical step would be that you are creating a silicon photonics environment that has comparable input and output to the real world (classical computing) which is always into another system to appropriately input, readout, and feedback into the system. Hence why interaction with the languages that readout and input will involve are essential.

by ktallett

8/19/2026 at 10:24:30 AM

The first sentence of the abstract gives a motivation: "λλ uses a linear type system to encode the physical constraints of optics, rejecting unrealizable programs at compile time."

The fact that it its own language does not preclude using it within the context of a different language. You can embed a domain specific language into a general purpose one.

by black_knight

8/19/2026 at 12:04:11 PM

I read that but unless they are able to encode construction, input, output, material, and packaging restraints which I'm not sure this does then I can't see the benefit. It's only ever going to be idealised which are realistically unrealizable.

A key focus of silicon photonics is that it has to interact with classical systems to do readout and input right now so it would be logical to design with that built in.

by ktallett

8/19/2026 at 2:33:12 PM

how do i search for a character i can't even type?

are people in this field just able to jump into Greek mode?

by wigster

8/19/2026 at 5:08:26 PM

I'm a retard so I'm gonna call it Half Life.

by opengrass