Polystate: Máquinas de Estado Finitas Compuestas en Zig
Polystate es una biblioteca Zig para construir máquinas de estado finitas componibles mediante la composición de tipos. Impone convenciones de programación, registrando el estado de la máquina de estado a nivel de tipo y logrando la componibilidad mediante la composición de tipos. Esto mejora la corrección de las estructuras de programas imperativos y fomenta el rediseño del estado del programa desde la perspectiva de los tipos y la composición, mejorando así la componibilidad del código. Polystate genera automáticamente diagramas de estado, permitiendo a los usuarios comprender intuitivamente el comportamiento del programa. Los ejemplos muestran cómo construir máquinas de estado simples y complejas mediante la composición de tipos, como limitar los intentos de entrada de PIN en un cajero automático y reutilizar la mecánica de selección en un juego raylib.