Ruliology provides a powerful descriptive framework - a taxonomy of computational behavior. However, it operates at the level of external dynamics without grounding in a primitive ontology. It tells us that rules behave, not why they exist or what they fundamentally are.
This makes ruliology an invaluable cartography of the computational landscape, but not a foundation. It maps the territory without explaining what the territory is made of.
While the reduction of a compiler to a deterministic function is theoretically sound, modern engineering practice necessitates addressing "Compiler-as-a-Service" architectures (LSP, incrementalism), where persistent state management complicates the purported simplicity of debugging. Furthermore, the article overlooks the non-deterministic nature of JIT compilation and parallel builds, which fundamentally challenges the comparison to stateless CLI utilities like grep.
Very useful article, thank you! Many people suggest CUID2, but it is less efficient and is better used for frontend/url encoding. For backend/db, only UUID v7 should be used.
This makes ruliology an invaluable cartography of the computational landscape, but not a foundation. It maps the territory without explaining what the territory is made of.