Ship

Lexicon · Tag

Tag

A tag is one case of an open variant: lowercase colon syntax, optionally carrying a payload — :ok, :error(String), :primary.

  • Tags are structural: the same spelling interoperates across modules when payload shapes line up (not module-owned identities). They participate in row algebra and open-variant typing.

  • A payload-less tag used as a plain value or compile-time key (:cascade, :serializable, the effect key in Database(:primary)) is still just a tag, not a separate "symbol"/"atom" concept.

  • A set of tags is a row; the error channel is a row of tags too (error-row.md).

    Not to be confused with a label (a keyword-argument name like ~f / name = at calls).

    See variant.md, open-variant.md, and ../08-errors.md.