One example is to cause a fairly predictable delay in embedded microcontrollers for bit-banging[1] digital signals. If we know the clock frequency and the cycle cost of a certain instruction (say, add or nop), we can specify how many times to execute the instruction to get the desired delay time. Very inefficient, but very low level processors like PICs have limited capabilities for interrupt based timing, and their low-power requirements make it viable to waste cycles.
inline void delay (int desired_delay) {
int i = 0;
while (i < desired_delay)
i++;
}
While "delay" is obviously an effect, it's not an effect in the PLT meaning of the word, since it causes no state changes to the program, and effect systems don't concern themselves with compute cost. The signal emission happens outside of the delay loop - usually inside some enclosing loop which obviously does have side-effects.