Polystate: Composable Finite State Machines
a year ago
- #zig
- #type-safety
- #finite-state-machines
- Polystate 是一个用于 Zig 语言的可组合有限状态机(FSM)库。
- 核心特性包括类型级状态追踪、可组合性和自动状态图生成。
- 该库鼓励通过组合式声明来定义程序行为。
- 简单状态可以组合构建复杂状态机,实现语义级代码复用。
- Polystate 遵循了处理函数和消息生成的多种编程约定。
- 通过用户确认对话框和 ATM 密码检查等示例展示了该库的强大功能。
- 诸如 'select'、'inside' 和 'hover' 等通用状态实现了可复用的 UI 交互模式。
- 通过状态组合可以简洁表达像两阶段选择这样的复杂行为。
- 整个实现仅约 130 行代码,充分展现了其高效性。