language · language ·
Tunnels
tunnel carries typed values between concurrent work with capacity-one FIFO handoff and backpressure.
Use a tunnel when producers and consumers should communicate without sharing an unbounded mutable queue.
tunnel of Type name
tunnel<Type> name
name.Send(value)
name.Receive()Status: experimental
Complete tunnels example
Use a tunnel when producers and consumers should communicate without sharing an unbounded mutable queue.
cpu · language · type checked
tunnel of text messages
messages.Send("Player joined")
text message = messages.Receive()
Console.Log(message)
project.mech
manifestVersion = "2"
package = "api.example.language__tunnels"
version = "0.1.0"
languageEdition = "yeho-core-2026.1"
[app]
kind = "headless"
Notes and source
The channel keyword was removed. Use tunnel.
Tunnels are capacity one, FIFO, and backpressured in the current contract.
yeho/errors-tasks-effects-2026.1.json; tests/compiler/errors-tasks-effects/tunnel-handoff/start.yh