Definition
Plain language
A friendlier syntax for writing TLA+ specifications of concurrent programs.
As stated in the literature
An algorithm description language by Leslie Lamport that compiles to TLA+, offering a more accessible notation for specifying concurrent and distributed algorithms.
Why it matters: Lowering the syntactic barrier to formal specification makes it more likely that real engineers actually specify and check concurrent code.
For example, an engineer writes a banking transfer algorithm in PlusCal, which compiles to TLA+ for model checking.
Heard on the show
“The specific tool stack is called TLA+ and PlusCal — TLA+ is a formal language for describing concurrent systems precisely; PlusCal is a friendlier notation that compiles down to it.”Episode 034 — Catching Multi-Agent Deadlocks Before Deployment With a 40-Year-Old Tool