soma.cell

Verification

Verification, in the reference of the Soma programming language (soma 3.2.4). A block marked ✓ is a whole program that soma check accepts; the others are excerpts.

// soma.toml
// [verify]
// cells = ["Order"]                  # optional: which machines these apply to
// deadlock_free = true
// eventually = ["settled", "cancelled"]
// never = ["invalid"]
// always = ["open", "closed"]        # the machine is only ever in one of these
//
// [verify.after.sent]
// eventually = ["filled", "rejected"]
// [verify.before.filled]
// requires = ["sent"]                 # requires_all = [...] for several
// (an unknown key is an error; --strict turns every ⚠ into a failure)

// Run: soma verify app.cell