Why LinuxCNC Drivers Are HAL Components: Understanding a Domain-Specific Architecture October 31, 2025