Control / flow · All operations
Repeat until a condition is met
A variant of Branch or loop
Run a set of steps a fixed number of times, or again and again until a condition is met.
Status
- In arcform
Not built yet
arcform does not do this yet; it would live in how a Protocol runs. Its place on the roadmap
What other tools call it
Meridian's classification; an independent blind rating agreed on 95.7% of 324 rows (variant, version 3).
Apache Hop (2)
End repeatread 2026-09-27Signal the enclosing Repeat action to stop looping
Repeatread 2026-09-27Run a pipeline or workflow repeatedly until a variable or End repeat stops it
Azure Data Factory (1)
Until Activityread 2026-09-27Do-until loop: repeat activities until a condition is true or a time-out passes
Duckle (1)
Iterateread 2026-09-25run a referenced pipeline N times
EasyMorph (1)
Repeatread 2026-09-27Run another module or project repeatedly until or while its output is empty
KNIME Analytics Platform (5)
Counting Loop Startread 2026-09-27Open a loop that runs a fixed number of times
Generic Loop Startread 2026-09-27Open a loop with no built-in end condition, closed by a variable-condition loop end
Recursive Loop Endread 2026-09-27Close a recursive loop, feeding its input back to the loop start for the next iteration
Recursive Loop Startread 2026-09-27Open a recursive loop that receives tables back from the loop end each iteration
Variable Condition Loop Endread 2026-09-27Close a loop when a condition on a flow variable is met
RapidMiner Studio (5)
Loopread 2026-09-27Run a subprocess a fixed number of times, optionally in parallel
Loop (While)read 2026-09-27Repeat a subprocess while a condition holds
Loop Untilread 2026-09-27Repeat a subprocess until a performance or iteration condition is met
Loop and Averageread 2026-09-27Run a subprocess n times and average the resulting performance values
Loop and Deliver Bestread 2026-09-27Run a subprocess n times and return the results of the best-performing iteration
Talend (2)
tInfiniteLoopread 2026-09-27Run a task in an endless loop
tLoopread 2026-09-27Run a task or a Job repeatedly in a loop
VisiData (4)
repeat-inputread 2026-09-23Rerun the previous modifying command with the same input
repeat-input-nread 2026-09-23Rerun the previous command with its input N times
repeat-lastread 2026-09-23Rerun the most recent command, prompting for fresh input
replay-stopread 2026-09-23Cancel the replay in progress
Background
A conditional loop is a loop that decides whether to stop based on a logical condition.[1] In most programming languages, a conditional loop checks its condition once for every execution of its body, not the moment the condition changes.[1] In Azure Data Factory, the Until activity runs a set of activities in a loop until its condition evaluates to true, like a do-until loop.[2]
When to use it
EasyMorph's Repeat action can be used, for instance, for reading paged data from web APIs, polling a web API until an external task is complete, and repeating a calculation until its result no longer changes.[3] A loop that has no possibility of terminating is called an infinite loop.[1] No general algorithm can decide whether a particular loop is infinite.[1]
EasyMorph's Repeat action can fail once its number of iterations exceeds a set value, which stops a malformed loop from running forever.[3] KNIME's Recursive Loop End node has a maximal number of iterations, which prevents endless loops.[4] An Azure Data Factory Until activity has a timeout that defaults to seven days and can be at most 90 days.[2] If an inner activity fails, an Azure Data Factory Until activity does not stop.[2] Give every conditional loop a ceiling on iterations or on time, and treat reaching it as a failure to look into, not as success. (Meridian's view)
The method
A pre-test loop checks its condition before running the body, and many programming languages call it a while loop.[1] A post-test loop checks its condition after running the body, and is sometimes called a do-while loop.[1] If a loop's test is at the start the body may be skipped completely, and if it is at the end the body is always executed at least once.[5] Azure Data Factory evaluates an Until activity's expression after all its child activities have run, and runs them again if the expression is false.[2]
KNIME's Recursive Loop End passes its tables back to the Recursive Loop Start, which from the second iteration on outputs the data it receives from the loop end.[6] KNIME's Recursive Loop End stops the loop when one of the tables it passes back falls below a set minimal number of rows.[4] In RapidMiner's Loop operator, using each iteration's output as the next iteration's input limits the loop to a single thread.[7]
Compared with the alternatives
In most functional programming languages, recursion is used instead of traditional loops, because variables are immutable and a loop's increment step cannot occur.[1]
Sources
- [1]Loop (statement) - Wikipediasecondary source
- [2]Until activity - Azure Data Factory & Azure Synapse | Microsoft Learndocumentation
- [3]REPEAT [EasyMorph Help]documentation
- [4]Recursive Loop Enddocumentation
- [5]Control flow - Wikipediasecondary source
- [6]Recursive Loop Startdocumentation
- [7]Loop - Rapidminer Documentationdocumentation