API Reference hoare v#0.2.0

Copy Markdown View Source

Modules

The graph a list of transition modules declares: states as vertices, each transition an edge from every state it leaves to the one it reaches.

Combinators over {:ok, value} | {:error, reason}.

A named record state: the status that tags it and the properties that refine it.

What a transition's commit needs from the datastore.

A Hoare.Store that keeps records in the calling process, for testing a transition without a datastore.

A declared transition: the states it leaves, the state it reaches, the guards that must hold and the effects it performs, each list composed as one Kleisli arrow. {from, guards} body {to} is the Hoare triple; run/4 discharges it.