[loop] is a sophisticated abstraction based on [until] that creates a loop with a counter.
You can set predefined arguments for start and end values. If you use only one argument, it will set the number of iterations and the counting will start from 0. If your end value is 0, you must use a third, non-zero argument in order for the abstraction to work properly.
If you set no arguments, you can send a number to its left inlet which will set the number of iterations, or a bang, but you need to send a bang to its rightmost inlet at some point, to avoid crashing Pd.
You can also create backwards counting loops, and can also include negative numbers in your counter.
It also sends a bang out its left outlet when the loop has finished.
check help patch for information.
Any comments are welcome.