Systems that do conditional are mainly realtime control systems NOT buffered systems and can interact directly with the ouput data stream up to the point the motor moves. In mach3 you cannot and have decent movements. You could set the look ahead to 1 and then only have the basic que as the buffer. I have no idea the size of the que but it is small.
With all due respect to everyone concerned, (and in the spirit of an academic debate), that restriction is just not true.
I had better explain here that I have been creating real-time computer-controlled systems and robotic systems from scratch (HW & SW) for 40+ years. I have debugged OSs, compilers and other SW systems. I have even modified central processors, back in the days when that was possible. (PCBs with TTL.)
For that matter, I have placed conditionals or IF statements in Mach code on a number of occasions. True, I was not using any real-time data from the motors in the conditionals, but they were the equivalent of IF statements. And they worked just fine.
I did ask Art long ago about the conditional siode I will try to look back though the notes to find the reason he gave for it being removed.
Please - I would be very interested. I am certain the restriction can be removed. After all, disguised conditionals have been used in Mach for many years.
In its place we got the CB macro language and a gateway to the Gcode side using it.
Wonderful benefits of course. But you can have conditionals in CB. Not a restriction.
I like Mach, and I want to see it develop some more.
Cheers
Roger