Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

State field kind #1257

Open
StoneCypher opened this issue Oct 25, 2023 · 1 comment
Open

State field kind #1257

StoneCypher opened this issue Oct 25, 2023 · 1 comment

Comments

@StoneCypher
Copy link
Owner

In the spirit of #100, but in the more modern notational viewpoint, we could declare a field kind on a state, which allowed us to declare that a given state was a member of a kind. This is basically the parenthetical notation in the old issue (let's generate less sugar.)

kind input { shape: invtrapezium; fillcolor: cyan; color: black; };
kind processor { };
kind storage { };

state WebForm { kind: input; };
state TextMessage { kind: input; };
state PhoneAgent { kind: input; };
state Email { kind: input; };

state HelpDesk { kind: processor; };
state Warehouse { kind: processor; };

state Archival { kind: storage; };

[ WebForm TextMessage PhoneAgent Email ] -> Helpdesk;

HelpDesk -> Support -> Warehouse -> Archival;
HelpDesk -> Support -> Archival;
HelpDesk -> Warehouse -> Archival;
HelpDesk -> Archival;
This was referenced Oct 25, 2023
@StoneCypher
Copy link
Owner Author

so, suppose you want to send all of from a kind to a particular node

in the above code you see [ WebForm TextMessage PhoneAgent Email ] -> Helpdesk;, even though those four nodes are already defined as input. that's repetitive, noisy, and in maintenance, error prone

in the old notation, we had a sigil & for this

otoh we could just say that a kind and a state can't co-name, and then (ye gods) extend the syntax to potentially point to a kind rather than a node

thing is, this is going to come up again and again and again, for stripes, for sequences, etc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant