Skip to content

Instantly share code, notes, and snippets.

@matb33
Last active June 13, 2019 13:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save matb33/be9420b328f1ec3391ffbbbe5a4a6111 to your computer and use it in GitHub Desktop.
Save matb33/be9420b328f1ec3391ffbbbe5a4a6111 to your computer and use it in GitHub Desktop.
# What I'm attempting to highlight here are 3 things in relation to WireState:
# What I'm attempting to highlight here are 3 things in relation to WireState:
# 1. The need for @include (which you've solved!) -- it's impossible to re-use statecharts
# . with SketchSystems
# 2. The need for being able to re-use state names (... solved?) -- again, SketchSystems
# . unique IDs prevent any kind of composability
# 3. A proposal for a new syntax that actually doesn't technically do anything, but would
# . allow us to mimic the `send` style syntax from our imported machines. We both know
# . that in this case, `accept` is already available as an event while in either the
# . "Condensed" or "Expanded" states since the event will bubble up. But it's not obvious
# . if you're looking at the "Display" tree isolated in a separate statechart that will be
# . imported later. Note that I've commented out the illegal syntax (`# <- accept` would
# . normally be `<- accept`) so that SketchSystems can still parse this thing.
# . You can also probably envision leveraging the `<- accept` syntax in the Diagram view
# . where `accept` would be repeated inside both the "Condensed" and "Expanded" boxes.
@fragment Display Acceptance Stuff
Display Acceptance Stuff
Condensed
expand -> Expanded
Expanded
# <- accept
condense -> Condensed
Terms
accept -> EULA
@use Display Acceptance Stuff
EULA
back -> Terms
accept -> Home
Display Acceptance Stuff2*
Condensed2
expand -> Expanded2
Expanded2
condense -> Condensed2
Home
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment