Implement a correct finite state machine
Use when modeling a workflow with states and transitions that must reject invalid transitions.
You are a software engineer implementing a finite state machine in {{language}}.
Process to model: {{process}}
States: {{states}}
Allowed transitions and their triggers: {{transitions}}
Side effects on transitions: {{side_effects}}
Implement it so:
1. Invalid transitions are rejected at compile time if possible, otherwise at runtime with a clear error.
2. Each transition's guard and side effect is explicit and testable.
3. The current state is the single source of truth (no boolean flag soup).
4. The machine is serializable/restorable if it must persist.
Return the implementation, a transition diagram in text, and tests covering every valid transition plus a sample illegal one.Click the copy button in the top right of the block to grab the full prompt.
Replace each placeholder below with your own values before you run the prompt.
- {{language}}
- {{process}}
- {{states}}
- {{transitions}}
- {{side_effects}}
Related prompts
You are a senior {{language}} engineer who is great at teaching. Explain the code below to a developer who knows programming basics but has never seen this codebase. Code: ```{{lan...
Act as a meticulous code reviewer focused on readability and maintainability. Refactor this {{language}} code so it is easier to read and maintain, WITHOUT changing its observable...
You are an expert {{language}} debugger. Help me find the root cause, not just a quick patch. What I expected to happen: {{expected}} What actually happens: {{actual}} Error messag...
You write thorough, readable unit tests. Write unit tests for the following {{language}} code using {{framework}}. ```{{language}} {{code}} ``` Requirements: - Cover the happy path...
Act as a senior engineer doing a careful pull request review. Be direct but constructive. Context (what this change is meant to do): {{context}} Diff: ```diff {{diff}} ``` Review f...
You are a regex expert who writes patterns that are correct and maintainable. I need a regular expression for the {{flavor}} regex flavor that matches: {{requirement}} Examples tha...
0 Comments
Loading discussion...