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
| Symbol | Position | Element | Example |
|---|---|---|---|
| (none) | - | Action (default) | order moves to #paid |
? | line prefix | Guard | ? cart is valid |
?? | line prefix | Guard (OR) | ?? user is admin |
= | line prefix | Assertion | = order is in #processing |
(api) | end of on line | API Event | on :checkout from @customer (api) |
@ | inline | Actor | @customer |
: | inline | Event | :checkout |
# | inline | State | #processing |
$ | inline | Context | $total |
^ | inline | Binding | ^order_report |
Case Rules
| Element | Case | Example |
|---|---|---|
| Keywords | lowercase | machine:, scenario:, expect: |
| Actors | lowercase | @customer, @admin |
| States | lowercase | #checkout, #processing |
| Events | lowercase | :checkout, :payment_request |
| Context | lowercase | $total, $items |
| Types | lowercase | string, number, array |
| String literals | as-is | "Proceed to Checkout" |
Detailed References
- Line Prefixes -
?,??,=,(api)prefixes - Inline Symbols -
@,:,#,$symbols - Operators - Comparisons, transitions, context operations