Polystate: 可组合有限状态机库

2025-06-23
Polystate: 可组合有限状态机库

Polystate是一个Zig语言库,旨在通过类型组合构建可组合的有限状态机。它强制执行编程约定,在类型级别记录状态机状态,并通过类型组合实现状态机的可组合性。这提高了命令式程序结构的正确性,并鼓励从类型和组合的角度重新设计程序状态,从而增强代码的可组合性。Polystate自动生成状态图,使用户能够直观地理解程序行为。通过示例展示了如何构建简单的状态机以及如何通过类型组合构建复杂的状态机,例如在ATM案例中限制PIN输入尝试次数,以及在raylib游戏中复用选择机制。

开发 可组合性