Skip to content

Symbol Reference

Complete reference for all symbols used in EventFlow.

Quick Refresher

Coming back after a while? Here's everything you need in 30 seconds:

Inline symbols (who/what/where/data):

  • @actor → Who (the machine or participant): @order, @customer
  • :event → What happens: :checkout, :payment_success
  • #state → Current status: #pending, #paid, #shipped
  • $var → Data values: $total, $items, $count
  • ^binding → Code transformer: ^order_report

Line prefixes (what this line does):

  • ? → Condition/guard: ? cart is not empty
  • = → Assertion: = order is in #paid
  • (api) → API endpoint: on :checkout (api) (externally callable)

Memory trick:

  • @ = "at" someone (talking to an actor)
  • : = action happening (colon like "doing:")
  • # = hashtag status (like social media status)
  • $ = dollar value (it's data/money)

Symbol Quick Reference

SymbolPositionElementExample
(none)-Action (default)order moves to #paid
?line prefixGuard? cart is valid
??line prefixGuard (OR)?? user is admin
=line prefixAssertion= order is in #processing
(api)end of on lineAPI Eventon :checkout from @customer (api)
@inlineActor@customer
:inlineEvent:checkout
#inlineState#processing
$inlineContext$total
^inlineBinding^order_report

Case Rules

ElementCaseExample
Keywordslowercasemachine:, scenario:, expect:
Actorslowercase@customer, @admin
Stateslowercase#checkout, #processing
Eventslowercase:checkout, :payment_request
Contextlowercase$total, $items
Typeslowercasestring, number, array
String literalsas-is"Proceed to Checkout"

Detailed References

Released under the MIT License.