---
name: Channel
kind: type
since: 0.1
stability: stable
---

First-class typed channel.

`Channel<T>` carries values of payload type `T` between producers
and consumers in a π-calculus mobility model. Channels are
declared at the top level (see the `channel` syntax keyword) and
referenced by name in handler bodies via `emit`, `listen`,
`publish`, and `discover`.

Second-order channels are written `Channel<Channel<T>>` — they
carry channel handles by value, enabling dynamic discovery and
broker-style topologies.
