Polystate: Kompositionelle endliche Zustandsautomaten in Zig

2025-06-23
Polystate: Kompositionelle endliche Zustandsautomaten in Zig

Polystate ist eine Zig-Bibliothek zum Erstellen von kompositionellen endlichen Zustandsautomaten durch Typenkomposition. Sie erzwingt Programmierkonventionen, zeichnet den Zustand des Zustandsautomaten auf Typ-Ebene auf und erreicht Komposition durch Typenkomposition. Dies verbessert die Korrektheit imperativer Programmstrukturen und fördert das Neugestalten des Programmzustands aus der Perspektive von Typen und Komposition, wodurch die Code-Komposition verbessert wird. Polystate generiert automatisch Zustandsdiagramme, sodass Benutzer das Programmverhalten intuitiv verstehen können. Beispiele zeigen, wie einfache und komplexe Zustandsautomaten durch Typenkomposition erstellt werden, z. B. die Begrenzung von PIN-Eingabeversuchen an einem Geldautomaten und die Wiederverwendung von Auswahlmechanismen in einem Raylib-Spiel.