Ausdruck
Codeschnipsel, der zu einem Wert evaluiert wird — 2 + 3, foo(), x ? a : b. Gegenstück: Statement.
Rusts Mantra "everything is an expression" ist konsequent umgesetzt — Blöcke, if, match und Schleifen geben alle einen Wert zurück. Pure Ausdrücke haben keine Seiteneffekte. Lazy-Ausdrücke (Haskell) werden erst evaluiert, wenn ihr Wert tatsächlich gebraucht wird.